Bug 1224464 - libgdiplus builds on x86_64 without gif, tiff and jpeg support
Summary: libgdiplus builds on x86_64 without gif, tiff and jpeg support
Keywords:
Status: CLOSED RAWHIDE
Alias: None
Product: Fedora
Classification: Fedora
Component: libgdiplus
Version: rawhide
Hardware: Unspecified
OS: Unspecified
unspecified
unspecified
Target Milestone: ---
Assignee: Xavier Lamien
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks: 1222982
TreeView+ depends on / blocked
 
Reported: 2015-05-23 08:54 UTC by Timotheus Pokorra
Modified: 2015-06-03 12:15 UTC (History)
3 users (show)

Fixed In Version:
Clone Of:
Environment:
Last Closed: 2015-06-03 12:15:34 UTC
Type: Bug
Embargoed:


Attachments (Terms of Use)

Description Timotheus Pokorra 2015-05-23 08:54:17 UTC
Description of problem:
The recent build for Rawhide (http://koji.fedoraproject.org/koji/buildinfo?buildID=637589) builds fine for i686 with support for gif, tiff and jpeg:

checking for gif_lib.h... yes
checking for DGifOpenFileName in -lungif... no
configure: WARNING: *** GIF loader will not be built (ungiflibrary not found) ***
checking for libpng14... checking for libpng12... no
checking for png_read_info in -lpng... yes
checking png.h usability... yes
checking png.h presence... yes
checking for png.h... yes
checking for png_structp in png.h... yes
checking for LIBEXIF... yes
checking that generated files are newer than configure... done
configure: creating ./config.status
config.status: creating Makefile
config.status: creating libgdiplus.pc
config.status: creating libgdiplus0.spec
config.status: creating src/Makefile
config.status: creating tests/Makefile
config.status: creating config.h
config.status: executing depfiles commands
config.status: executing libtool commands
---
Configuration summary
   * Installation prefix = /usr
   * Cairo = 1.14.2 (system)
   * Text = cairo
   * EXIF tags = yes
   * Codecs supported:
      - TIFF: yes
      - JPEG: yes
      - GIF: yes
      - PNG: yes
      NOTE: if any of the above say 'no' you may install the
            corresponding development packages for them, rerun
            autogen.sh to include them in the build.

But for x86_64:

checking for jpeg_destroy_decompress in -ljpeg... no
configure: WARNING: *** JPEG loader will not be built (JPEG library not found) ***
checking for TIFFReadScanline in -ltiff... no
checking for TIFFWriteScanline in -ltiff... no
checking for TIFFFlushData in -ltiff34... no
configure: WARNING: *** TIFF plug-in will not be built (TIFF library not found) ***
checking for DGifOpenFileName in -lgif... no
checking for DGifOpenFileName in -lungif... configure: WARNING: *** GIF loader will not be built (giflibrary not found) ***
no
configure: WARNING: *** GIF loader will not be built (ungiflibrary not found) ***
checking for libpng14... checking for libpng12... no
checking for png_read_info in -lpng... yes
checking png.h usability... yes
checking png.h presence... yes
checking for png.h... yes
checking for png_structp in png.h... yes
checking for LIBEXIF... yes
checking that generated files are newer than configure... done
configure: creating ./config.status
config.status: creating Makefile
config.status: creating libgdiplus.pc
config.status: creating libgdiplus0.spec
config.status: creating src/Makefile
config.status: creating tests/Makefile
config.status: creating config.h
config.status: executing depfiles commands
config.status: executing libtool commands
---
Configuration summary
   * Installation prefix = /usr
   * Cairo = 1.14.2 (system)
   * Text = cairo
   * EXIF tags = yes
   * Codecs supported:
      - TIFF: no (Get it from http://www.libtiff.org/)
      - JPEG: no (Get it from http://freshmeat.net/projects/libjpeg)
      - GIF: no (See http://sourceforge.net/projects/libgif)
      - PNG: yes
      NOTE: if any of the above say 'no' you may install the
            corresponding development packages for them, rerun
            autogen.sh to include them in the build.

Comment 1 Timotheus Pokorra 2015-05-23 08:59:29 UTC
I can reproduce this on x86_64 rawhide machine, but only in this call:
  rpmbuild -ba SPECS/libgdiplus.spec
It does not find TIFF, JPEG and GIF

If I do this (using the same parameter for configure as in the spec file):
 cd BUILD/libgdiplus-3.12
 ./configure --disable-static

then it will support TIFF, JPEG and GIF

What is the difference?

Comment 2 Timotheus Pokorra 2015-05-23 10:19:59 UTC
the difference is the LDFLAGS environment variable that is being set by rpmbuild.
it is LDFLAGS='-Wl,-z,relro -specs=/usr/lib/rpm/redhat/redhat-hardened-ld'

if I change in the spec file:
LDFLAGS='-Wl,-z,relro' %configure --disable-static

then it works.

I don't fully understand this redhat-hardened spec.
What is the proper solution for this?

I checked the previous build of libgdiplus for F22 (http://koji.fedoraproject.org/koji/buildinfo?buildID=560419), and it seems this new parameter for LDFLAGS has been added in F23.

Can I please leave that with you Xavier? Thanks!

Comment 3 Claudio Rodrigo Pereyra DIaz 2015-05-26 19:11:47 UTC
The problem is caused by https://fedoraproject.org/wiki/Changes/Harden_All_Packages

The Harden_All_Packages change indicate solution for that.
https://fedoraproject.org/wiki/Changes/Harden_All_Packages#Troubleshooting_steps_for_package_maintainers

I use option b and it work.


Note You need to log in before you can comment on or make changes to this bug.