Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 402015 - media-libs/freeimage-3.15.1: link to unexisted symbol 'TIFFFindFieldInfo' after updating media-libs/tiff to 4.0.0-r1.
Summary: media-libs/freeimage-3.15.1: link to unexisted symbol 'TIFFFindFieldInfo' aft...
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: [OLD] Games (show other bugs)
Hardware: AMD64 Linux
: Normal normal (vote)
Assignee: Gentoo Games
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2012-02-03 03:13 UTC by Oleg
Modified: 2012-03-18 10:52 UTC (History)
3 users (show)

See Also:
Package list:
Runtime testing required: ---


Attachments
Ebuild with included tiff sources. (freeimage-3.15.1-r1.ebuild,2.05 KB, text/plain)
2012-02-05 18:36 UTC, Oleg
Details
Patch for including tiff sources into freeimage. (tiff.patch,1.52 KB, patch)
2012-02-05 18:36 UTC, Oleg
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Oleg 2012-02-03 03:13:14 UTC
When I rebuild orge I get compilation error. Rebuilding media-libs/freeimage-3.15.1 didn't help.

Reproducible: Always

Steps to Reproduce:
1. update media-libs/tiff to 4.0.0-r1.
2. revdep-rebuild
3. rebuilt =dev-games/ogre-1.7.3
Actual Results:  
  /usr/bin/x86_64-pc-linux-gnu-gcc -O2 -march=core2 -mtune=core2 -pipe -msse
  -msse2 -msse3 -mssse3 -mmmx -mcx16 -msahf -momit-leaf-frame-pointer --param
  l1-cache-size=32 --param l1-cache-line-size=64 --param l2-cache-size=4096
  -O1 -pthread -lfreeimage -lfreeimageplus -lIlmImf -lz -lImath -lHalf -lIex
  -lIlmThread -lpng15 CMakeFiles/cmTryCompileExec.dir/testCCompiler.c.o -o
  cmTryCompileExec -rdynamic

  /usr/lib/gcc/x86_64-pc-linux-gnu/4.5.3/../../../../lib64/libfreeimage.so:
  undefined reference to `TIFFFindFieldInfo'

  collect2: ld returned 1 exit status

Expected Results:  
Successful building.

Portage 2.1.10.44 (default/linux/amd64/10.0/desktop, gcc-4.5.3, glibc-2.13-r4, 3.2.1-gentoo-r2 x86_64)
=================================================================
System uname: Linux-3.2.1-gentoo-r2-x86_64-Intel-R-_Core-TM-2_Quad_CPU_Q6600_@_2.40GHz-with-gentoo-2.0.3
Timestamp of tree: Fri, 27 Jan 2012 15:00:01 +0000
distcc 3.1 x86_64-pc-linux-gnu [disabled]
app-shells/bash:          4.1_p9
dev-java/java-config:     2.1.11-r3
dev-lang/python:          2.7.2-r3, 3.2.2
dev-util/cmake:           2.8.6-r4
dev-util/pkgconfig:       0.26
sys-apps/baselayout:      2.0.3
sys-apps/openrc:          0.9.8.2
sys-apps/sandbox:         2.5
sys-devel/autoconf:       2.13, 2.68
sys-devel/automake:       1.6.3-r1, 1.9.6-r3, 1.10.3, 1.11.1
sys-devel/binutils:       2.21.1-r1
sys-devel/gcc:            4.4.5, 4.5.3-r1
sys-devel/gcc-config:     1.4.1-r1
sys-devel/libtool:        2.4-r1
sys-devel/make:           3.82-r1
sys-kernel/linux-headers: 3.1 (virtual/os-headers)
sys-libs/glibc:           2.13-r4
Repositories: gentoo rion sunrise booboo dirtyepic gamerlay-stable bitcoin enlightenment arx-libertatis x-my
ACCEPT_KEYWORDS="amd64"
ACCEPT_LICENSE="* -@EULA dlj-1.1 PUEL AdobeFlash-10 AdobeFlash-10.1 skype-eula Oracle-BCLA-JavaSE"
CBUILD="x86_64-pc-linux-gnu"
CFLAGS="-O2 -march=core2 -mtune=core2 -pipe -msse -msse2 -msse3 -mssse3 -mmmx -mcx16 -msahf -momit-leaf-frame-pointer --param l1-cache-size=32 --param l1-cache-line-size=64 --param l2-cache-size=4096"
CHOST="x86_64-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/share/config /usr/share/gnupg/qualified.txt /usr/share/openvpn/easy-rsa"
CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/env.d /etc/env.d/java/ /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/revdep-rebuild /etc/sandbox.d /etc/terminfo /etc/texmf/language.dat.d /etc/texmf/language.def.d /etc/texmf/updmap.d /etc/texmf/web2c"
CXXFLAGS="-O2 -march=core2 -mtune=core2 -pipe -msse -msse2 -msse3 -mssse3 -mmmx -mcx16 -msahf -momit-leaf-frame-pointer --param l1-cache-size=32 --param l1-cache-line-size=64 --param l2-cache-size=4096"
DISTDIR="/mnt/other/distfiles"
FEATURES="assume-digests binpkg-logs buildsyspkg collision-protect distlocks ebuild-locks fixlafiles news parallel-fetch protect-owned sandbox sfperms strict unknown-features-warn unmerge-logs unmerge-orphans userfetch"
FFLAGS=""
GENTOO_MIRRORS="http://distfiles.gentoo.org"
LANG="en_US.UTF-8"
LDFLAGS="-O1"
LINGUAS="ru en ja eo el yi"
MAKEOPTS="-j5"
PKGDIR="/usr/portage/packages"
PORTAGE_CONFIGROOT="/"
PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --stats --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages"
PORTAGE_TMPDIR="/tmp"
PORTDIR="/usr/portage"
PORTDIR_OVERLAY="/usr/local/portage/layman/rion /usr/local/portage/layman/sunrise /usr/local/portage/layman/booboo /usr/local/portage/layman/dirtyepic /usr/local/portage/layman/gamerlay /usr/local/portage/layman/bitcoin /usr/local/portage/layman/enlightenment /usr/local/portage/layman/arx-libertatis /usr/local/portage/my"
SYNC="rsync://rsync.gentoo.org/gentoo-portage"
USE="X Xaw3d a52 aac aacs aalib abiword acl acpi adiofile alsa amd64 amr animgif anthy archive audacious audiofile bash-completion bidi bluetooth bluray branding bzip2 cairo canna caps cdda cdr cg chasen cjk cli consolekit cracklib crypt css cuda cups curl cxx cyrillic dbus dga dia djvu dri dts dv dvb dvd dvdr dvdread emboss enca encode exif expat fam fbcon ffmpeg fftw firefox flac fontconfig fontforge fortran freewnn ftp fuse gallium gcj gd gdbm gdu ggi gif gimp ginac git glade gles glut gmp gnome-keyring gnuplot gpm graphviz gs gsf gsm gstreamer gtk gtk3 gzip hddtemp iconv id3 id3tag idn ieee1394 imagemagick imap imlib inotify ipv6 irc irda jabber jadetex java6 jbig jingle joystick jpeg jpeg2k kate lame lapack latex lcdfilter lcms libcaca libcanberra libmpd libnotify libwww lm_sensors lzma lzo m17n-lib mad math mathml matroska mbrola midi migemo mime mmap mmx mmxext mng modules mozilla mp3 mp4 mpd mpeg mplayer mudflap mule multilib musepack natspec ncurses nls nntp nocd nptl nptlonly nsplugin nspluginwrapper ntfs nvidia ogg openal opencl openexr opengl openmp openxml pango pch pcre pdf pgf png policykit posix ppds pppd qt3support quicktime rar raw readline rle romio rss rtmp samba scanner schroedinger scripts sdl sensord session sharedmem shorten sip slang smp sndfile sockets socks5 sourceview sox speex spell sqlite sse sse2 sse3 ssl ssse3 startup-notification subversion svg sysfs syslog system-sqlite szip taglib tcpd teletext theora threads thunar tiff timidity truetype udev unicode usb v4l v4l2 vaapi vcd vdpau videos vim-syntax vorbis vpx webgl webkit wma wmf x264 xattr xcb xetex xfce xfce4 xft xhtml xml xorg xosd xpm xscreensaver xulrunner xv xvid xvmc zip zlib" ALSA_CARDS="hda-intel" ALSA_PCM_PLUGINS="adpcm alaw asym copy dmix dshare dsnoop empty extplug file hooks iec958 ioplug ladspa lfloat linear meter mmap_emul mulaw multi null plug rate route share shm softvol" APACHE2_MODULES="actions alias auth_basic authn_alias authn_anon authn_dbm authn_default authn_file authz_dbm authz_default authz_groupfile authz_host authz_owner authz_user autoindex cache cgi cgid dav dav_fs dav_lock deflate dir disk_cache env expires ext_filter file_cache filter headers include info log_config logio mem_cache mime mime_magic negotiation rewrite setenvif speling status unique_id userdir usertrack vhost_alias proxy proxy_http" CALLIGRA_FEATURES="kexi words flow plan stage tables krita karbon braindump" CAMERAS="ptp2" COLLECTD_PLUGINS="df interface irq load memory rrdtool swap syslog" DVB_CARDS="ttpci" ELIBC="glibc" GPSD_PROTOCOLS="ashtech aivdm earthmate evermore fv18 garmin garmintxt gpsclock itrax mtk3301 nmea ntrip navcom oceanserver oldstyle oncore rtcm104v2 rtcm104v3 sirf superstar2 timing tsip tripmate tnt ubx" INPUT_DEVICES="keyboard mouse evdev joystick" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LINGUAS="ru en ja eo el yi" NETBEANS_MODULES="apisupport cnd groovy ide java mobility xml dlight enterprise harness profiler webcommon websvccommon nb" PHP_TARGETS="php5-3" QEMU_SOFTMMU_TARGETS="i386 x86_64" QEMU_USER_TARGETS="i386 x86_64" RUBY_TARGETS="ruby18 ruby19" USERLAND="GNU" VIDEO_CARDS="nvidia vesa nouveau" XTABLES_ADDONS="quota2 psd pknock lscan length2 ipv4options ipset ipp2p iface geoip fuzzy condition tee tarpit sysrq steal rawnat logmark ipmark dhcpmac delude chaos account"
Unset:  CPPFLAGS, CTARGET, EMERGE_DEFAULT_OPTS, INSTALL_MASK, LC_ALL, PORTAGE_BUNZIP2_COMMAND, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS
Comment 1 Till Korten 2012-02-03 03:54:03 UTC
I can confirm this bug. I also have 
media-libs/tiff-4.0.0-r1 installed
trying to emerge ogre, it fails during compile with the exact same error message mentioned above.
if I add -libtiff to the ogre use flags, ogre builds fine.

Linux daffy 3.2.1-gentoo-r2 #1 SMP Mon Jan 30 01:13:44 CET 2012 x86_64 Intel(R) Core(TM) i3-2100 CPU @ 3.10GHz GenuineIntel GNU/Linux
Comment 2 Oleg 2012-02-03 04:06:01 UTC
Look as bug in freeimage. As I understand it must return -ltiff.

$ pkg-config --libs freeimage
-pthread -lfreeimage -lfreeimageplus -lIlmImf -lz -lImath -lHalf -lIex -lIlmThread -lpng15
Comment 3 Oleg 2012-02-04 06:31:33 UTC
(In reply to comment #1)
> I can confirm this bug. I also have 
> media-libs/tiff-4.0.0-r1 installed
> trying to emerge ogre, it fails during compile with the exact same error
> message mentioned above.
> if I add -libtiff to the ogre use flags, ogre builds fine.

I add -ltiff to LDFLAGS in make.conf when rebuilt orge but it doesn't help: 

  /usr/bin/x86_64-pc-linux-gnu-gcc -O2 -march=core2 -mtune=core2 -pipe -msse
  -msse2 -msse3 -mssse3 -mmmx -mcx16 -msahf -momit-leaf-frame-pointer --param
  l1-cache-size=32 --param l1-cache-line-size=64 --param l2-cache-size=4096
  -O1 -ltiff -pthread -lfreeimage -lfreeimageplus -lIlmImf -lz -lImath -lHalf
  -lIex -lIlmThread -lpng15 CMakeFiles/cmTryCompileExec.dir/testCCompiler.c.o
  -o cmTryCompileExec -rdynamic

  /usr/lib/gcc/x86_64-pc-linux-gnu/4.5.3/../../../../lib64/libfreeimage.so:
  undefined reference to `TIFFFindFieldInfo'

  collect2: ld returned 1 exit status
Comment 4 Oleg 2012-02-05 15:12:25 UTC
It's strange but tiff library doesn't have TIFFFindFieldInfo. I cann't understand how freeimage could be successfully compiled.
Comment 5 Oleg 2012-02-05 15:27:42 UTC
o01eg ~ # nm -D /usr/lib64/libfreeimage-3.15.1.so | grep TIFFFind
                 U TIFFFindFieldInfo
o01eg ~ # nm -D /usr/lib64/libtiff.so.5 | grep TIFFFind
000000000000a5c0 T TIFFFindCODEC
000000000000efb0 T TIFFFindField
000000000000f2c0 T _TIFFFindFieldByName
000000000000f6b0 T _TIFFFindOrRegisterField
Comment 6 Oleg 2012-02-05 18:36:09 UTC
Created attachment 300961 [details]
Ebuild with included tiff sources.
Comment 7 Oleg 2012-02-05 18:36:51 UTC
Created attachment 300963 [details, diff]
Patch for including tiff sources into freeimage.
Comment 8 Oleg 2012-02-05 18:43:28 UTC
As I understand freeimage compiles with own tiff headers. I've added sources of tiff library to freeimage sources but have did it only for tiff. It would be better to rewrite freeimage to use system libraries instead own.
Comment 9 Tristan Heaven (RETIRED) gentoo-dev 2012-02-08 12:01:46 UTC
It's due to problems like this that we removed freeimage 2 years ago. Looks like it hasn't improved since then.
Comment 10 Oleg 2012-02-09 03:00:16 UTC
(In reply to comment #9)
> It's due to problems like this that we removed freeimage 2 years ago. Looks
> like it hasn't improved since then.

Freeimage is from gamerlay overlay. Can be this bug redirected to its maintainers?
Comment 11 Azamat H. Hackimov 2012-02-12 18:19:25 UTC
Hello, I'm FreeImage maintainer from gamerlay.
Unfortunally, this error happen because FreeImage uses internal TIFF 3.9, where FreeImage access to hidden private structure TIFFFieldInfo. In TIFF 4.0 this code has been removed as obsoleted.
So we stuck on TIFF 3.9.x. I can't anything do, until FreeImage developers switch their code to internal TIFF 4.0.
Comment 12 Tupone Alfredo gentoo-dev 2012-02-12 20:16:22 UTC
I revived freeimage in the portage tree.
Hope it works.
Comment 13 Oleg 2012-03-18 10:52:02 UTC
http://sourceforge.net/tracker/?func=detail&atid=111504&aid=3484668&group_id=11504

> FreeImage 3.15.2 and later now use LibTIFF 4 exclusively.
> Fixes for 64-bit compilation of FreeImage + LibTIFF are available in
> release 3.15.3.