Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 325893 - media-libs/devil-1.7.8 fails to build with libpng-1.4
Summary: media-libs/devil-1.7.8 fails to build with libpng-1.4
Status: RESOLVED INVALID
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: [OLD] Library (show other bugs)
Hardware: AMD64 Linux
: High normal (vote)
Assignee: Gentoo Linux bug wranglers
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2010-06-27 22:22 UTC by quazgar
Modified: 2011-03-13 15:38 UTC (History)
1 user (show)

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


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description quazgar 2010-06-27 22:22:58 UTC
On my amd64 system (mostly stable packages), media-libs/devil failed to build again with the latest @preserved-rebuild-ing, after upgrading libpng from media-libs/libpng-1.2.43-r2 to 1.4.3.

The last few lines in the error log were:

...
Making all in bin
make[1]: Entering directory `/tmp/portage/media-libs/devil-1.7.8/work/devil-1.7.8/bin'
x86_64-pc-linux-gnu-gcc -DHAVE_CONFIG_H -I. -I../include/IL  -I ./../include   -O2 -pipe -march=athlon64 -msse3  -c -o ilur.o `test -f '../src-ILU/ilur/ilur.c' || echo './'`../src-ILU/ilur/ilur.c
/bin/sh ../libtool --tag=CC   --mode=link x86_64-pc-linux-gnu-gcc  -O2 -pipe -march=athlon64 -msse3   -Wl,-O1 -o ilur ilur.o ../lib/libILU.la -lm -lz 
libtool: link: x86_64-pc-linux-gnu-gcc -O2 -pipe -march=athlon64 -msse3 -Wl,-O1 -o .libs/ilur ilur.o  ../lib/.libs/libILU.so /tmp/portage/media-libs/devil-1.7.8/work/devil-1.7.8/lib/.libs/libIL.so /usr/lib64/libtiff.so -lc -lpng12 /usr/lib64/libmng.so /usr/lib64/liblcms.so /usr/lib64/libjasper.so /usr/lib64/libjpeg.so -lm -lz
/tmp/portage/media-libs/devil-1.7.8/work/devil-1.7.8/lib/.libs/libIL.so: undefined reference to `png_set_longjmp_fn'
collect2: ld returned 1 exit status
make[1]: *** [ilur] Error 1
make[1]: Leaving directory `/tmp/portage/media-libs/devil-1.7.8/work/devil-1.7.8/bin'
make: *** [all-recursive] Error 1
 * ERROR: media-libs/devil-1.7.8 failed:
 *   emake failed
 * 
 * Call stack:
 *     ebuild.sh, line   48:  Called src_compile
 *   environment, line 2415:  Called _eapi2_src_compile
 *     ebuild.sh, line  640:  Called die
 * The specific snippet of code:
 *              emake || die "emake failed"



Reproducible: Always

Steps to Reproduce:
1. Upgrade to libpng.
2. emerge -atv @preserved-rebuild

Actual Results:  
media-libs/devil fails to build with the above mentioned error.

Expected Results:  
media-libs/devil should compile alright.

# emerge --info =media-libs/devil-1.7.8

Portage 2.2_rc62 (default/linux/amd64/10.0/desktop, gcc-4.4.3, glibc-2.11.2-r0, 2.6.32-gentoo-r8 x86_64)
=================================================================
                        System Settings
=================================================================
System uname: Linux-2.6.32-gentoo-r8-x86_64-AMD_Athlon-tm-_X2_Dual_Core_Processor_BE-2300-with-gentoo-1.12.13
Timestamp of tree: Sun, 27 Jun 2010 17:45:03 +0000
ccache version 2.4 [enabled]
app-shells/bash:     4.0_p37
dev-java/java-config: 2.1.10
dev-lang/python:     2.6.5-r2, 3.1.2-r3
dev-util/ccache:     2.4-r7
dev-util/cmake:      2.6.4-r3
sys-apps/baselayout: 1.12.13
sys-apps/sandbox:    2.2
sys-devel/autoconf:  2.13, 2.65
sys-devel/automake:  1.4_p6-r1, 1.8.5-r4, 1.9.6-r3, 1.10.3, 1.11.1
sys-devel/binutils:  2.20.1-r1
sys-devel/gcc:       4.3.4, 4.4.3-r2
sys-devel/gcc-config: 1.4.1
sys-devel/libtool:   2.2.6b
virtual/os-headers:  2.6.30-r1
ACCEPT_KEYWORDS="amd64"
ACCEPT_LICENSE="* -@EULA"
CBUILD="x86_64-pc-linux-gnu"
CFLAGS="-O2 -pipe -march=athlon64 -msse3 "
CHOST="x86_64-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/share/X11/xkb /usr/share/config /var/lib/hsqldb"
CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/env.d /etc/env.d/java/ /etc/fonts/fonts.conf /etc/gconf /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 -pipe -march=athlon64 -msse3 "
DISTDIR="/usr/portage/distfiles"
EMERGE_DEFAULT_OPTS="--with-bdeps y"
FEATURES="assume-digests ccache distlocks fixpackages news noclean parallel-fetch preserve-libs protect-owned sandbox sfperms strict unmerge-logs unmerge-orphans userfetch {FEATURES}"
GENTOO_MIRRORS="http://de-mirror.org/distro/gentoo/ http://gentoo.supp.name/ http://gentoo.tiscali.nl/ http://gentoo.virginmedia.com/ http://gentoo.wheel.sk/ http://gentoo.mirror.pw.edu.pl/"
LANG="en_US.utf8"
LDFLAGS="-Wl,-O1"
LINGUAS="en de es"
MAKEOPTS="-j3"
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="/var/tmp"
PORTDIR="/usr/portage"
PORTDIR_OVERLAY="/var/lib/layman/sunrise /var/lib/layman/java-overlay /usr/local/portage"
SYNC="rsync://rsync.de.gentoo.org/gentoo-portage"
USE="X a52 aac aalib acl acpi aim alsa amd64 apache2 bash-completion berkdb boost branding bzip2 cairo calendar caps cddb cdr cli consolekit cracklib crypt cups cxx dbus dga directfb dri dts dv dvd dvdr emacs emboss emf encode exif fam fbcon ffmpeg fftw firefox flac foomaticdb fortran ftp gcj gd gdbm gif gimp glut gphoto2 gpm gtk gtk2 gtkhtml guile hal iconv icq icu imagemagick java javascript jikes joystick jpeg jpeg2k kde kdexdeltas kpathsea lame lcms ldap leim libcaca libnotify libwww lm_sensors mad maildir mbox mcal memlimit mikmod mime mmx mng modules mp3 mp4 mpeg msn mudflap multilib ncurses neXt networking nls nocd nptl nptlonly nsplugin offensive ogg opengl openmp oscar pam pango pcre pdf perl plotutils png ppds pppd python qt3support qt4 quicktime readline reflection rtsp samba sdl semantic-desktop session sndfile sockets sound sox speex spell spl sse sse2 ssl startup-notification svg sysfs tcpd tetex theora threads tiff timidity truetype unicode usb v4l vcd videos vorbis webkit wma wmf wxwidgets x264 xcb xft xml xmms xorg xosd xulrunner xv xvid zlib" ALSA_CARDS="ali5451 als4000 atiixp atiixp-modem bt87x ca0106 cmipci emu10k1x ens1370 ens1371 es1938 es1968 fm801 hda-intel intel8x0 intel8x0m maestro3 trident usb-audio via82xx via82xx-modem ymfpci" 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 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" ELIBC="glibc" INPUT_DEVICES="evdev keyboard mouse aiptek" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LINGUAS="en de es" RUBY_TARGETS="ruby18" SANE_BACKENDS="net canon plustek" USERLAND="GNU" VIDEO_CARDS="vesa vga fbdev nv nvidia" 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, FFLAGS, INSTALL_MASK, LC_ALL, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS

=================================================================
                        Package Settings
=================================================================

media-libs/devil-1.7.8 was built with the following:
USE="X gif jpeg lcms mng (multilib) opengl png sdl tiff -allegro -openexr -xpm"
Comment 1 quazgar 2010-06-27 22:28:43 UTC
Samuli Suominen (in bug #322843) noticed that it still tries to link against libpng12.  After having a second look at the emerge log, I found there lines from the configure process:

...
checking png.h usability... yes
checking png.h presence... yes
checking for png.h... yes
checking for main in -lpng12... yes
...
Comment 2 Samuli Suominen (RETIRED) gentoo-dev 2010-06-27 22:34:09 UTC
(In reply to comment #1)
> Samuli Suominen (in bug #322843) noticed that it still tries to link against
> libpng12.  After having a second look at the emerge log, I found there lines
> from the configure process:
> 
> ...
> checking png.h usability... yes
> checking png.h presence... yes
> checking for png.h... yes
> checking for main in -lpng12... yes
> ...
> 

It checks for libpng12.so first (you shouldn't have this file anymore, if you just upgraded to libpng 1.4 from portage), and then falls back to plain libpng.so (you have this from libpng 1.4 installation from portage)

so far as I can see, there's no problem in the package/ or ebuild, rather you have old copy of libpng installed somewhere in your system
Comment 3 Samuli Suominen (RETIRED) gentoo-dev 2010-06-27 22:39:11 UTC
(In reply to comment #2)
> It checks for libpng12.so first (you shouldn't have this file anymore, if you
> just upgraded to libpng 1.4 from portage), and then falls back to plain
> libpng.so (you have this from libpng 1.4 installation from portage)

like:

checking png.h usability... yes
checking png.h presence... yes
checking for png.h... yes
checking for main in -lpng12... no <- here
checking for png.h... (cached) yes
checking for main in -lpng... yes <- this is libpng 1.4
Comment 4 Gef 2010-06-27 22:40:30 UTC
@daniel: Totally OT, but you have a typo in you /etc/make.conf, in the FEATURES
line, "$" missing.
Comment 5 quazgar 2010-06-27 23:23:31 UTC
(In reply to comment #2)
> It checks for libpng12.so first (you shouldn't have this file anymore, if you
> just upgraded to libpng 1.4 from portage), and then falls back to plain
> libpng.so (you have this from libpng 1.4 installation from portage)
> 
> so far as I can see, there's no problem in the package/ or ebuild, rather you
> have old copy of libpng installed somewhere in your system

Probably true, equery -d doesn't find an owner of libpng12.so (i.e. libpng12.so.0.43.0).  I'll delete it after having revdep-rebuilt everything (I had thought that I had done that before already.

It's ok for me to close this as INVALID, I'll reopen the bug if the problem persists with the old libpng12 removed.
Comment 6 quazgar 2010-07-02 20:13:38 UTC
Ok, so for everyone who also hits this problem:

/usr/lib64/libpng12.so (and the files linked to by this name) was still owned by libpng-1.4 indeed, since there were still packages in @preserved-rebuild depending on this file (media-libs/devil being one of them).  So since devil could not be rebuilt with libpng12.so still present, @preserved-rebuild was not empty, so libpng12.so could not be deleted.

My solution was:
Rebuild everything that could be built (using --resume --skipfirst iteratively), then remove libpng12.so (and the other 1.2 files) by hand, run revdep-rebuild (this builds devil, among others), build libpng again just to be sure, and follow the usual procedure (@preserved-rebuild, revdep-rebuild).

This worked for me, apart from two other packages which failed to build (but that't off-topic here).
Comment 7 Balint Dobai-Pataky 2010-07-08 16:22:24 UTC
(In reply to comment #2)
> It checks for libpng12.so first (you shouldn't have this file anymore, if you
> just upgraded to libpng 1.4 from portage), and then falls back to plain
> libpng.so (you have this from libpng 1.4 installation from portage)
> 

ok, so i mask <libpng-1.4
but than
!!! All ebuilds that could satisfy "=media-libs/libpng-1.2*" have been masked.
!!! One of the following masked packages is required to complete your request:
- media-libs/libpng-1.2.44 (masked by: package.mask)
- media-libs/libpng-1.2.43-r2 (masked by: package.mask)

(dependency required by "net-misc/nxclient-3.4.0.7" [ebuild])

does this mean than i can't have devil and nxclient on the same machine?
Comment 8 Thomas R. (TRauMa) 2011-03-13 15:38:33 UTC
For anyone still hitting this and unwilling to re-emerge a lot (like I was), the quick&dirty fix:

cd /usr/lib
mv libpng12.so{,.bak}
emerge -1 devil
mv libpng12.so{.bak,}