Hi, I'm finishing a world update and I'm updating libgd from 1.8.3-r6 to 1.8.4, host root # emerge -pv -u --deep world These are the packages that I would merge, in order: Calculating dependencies ...done! [ebuild U ] media-libs/libgd-1.8.4 [1.8.3-r6] -X -jpeg -truetype host root # emerge -u libgd Calculating dependencies ...done! >>> emerge (1 of 1) media-libs/libgd-1.8.4 to / >>> md5 src_uri ;-) gd-1.8.4.tar.gz >>> Unpacking source... >>> Unpacking gd-1.8.4.tar.gz to /var/tmp/portage/libgd-1.8.4/work >>> Source unpacked. gcc -I. -I/usr/include/freetype2 -I/usr/include/X11 -I/usr/X11R6/include/X11 -I/usr/local/include -mcpu=pentium3 -O3 -pipe -DHAVE_LIBPNG -c -o gd.o gd.c gcc -I. -I/usr/include/freetype2 -I/usr/include/X11 -I/usr/X11R6/include/X11 -I/usr/local/include -mcpu=pentium3 -O3 -pipe -DHAVE_LIBPNG -c -o gd_gd.o gd_gd.c gcc -I. -I/usr/include/freetype2 -I/usr/include/X11 -I/usr/X11R6/include/X11 -I/usr/local/include -mcpu=pentium3 -O3 -pipe -DHAVE_LIBPNG -c -o gd_gd2.o gd_gd2.c gcc -I. -I/usr/include/freetype2 -I/usr/include/X11 -I/usr/X11R6/include/X11 -I/usr/local/include -mcpu=pentium3 -O3 -pipe -DHAVE_LIBPNG -c -o gd_io.o gd_io.c gcc -I. -I/usr/include/freetype2 -I/usr/include/X11 -I/usr/X11R6/include/X11 -I/usr/local/include -mcpu=pentium3 -O3 -pipe -DHAVE_LIBPNG -c -o gd_io_dp.o gd_io_dp.c gcc -I. -I/usr/include/freetype2 -I/usr/include/X11 -I/usr/X11R6/include/X11 -I/usr/local/include -mcpu=pentium3 -O3 -pipe -DHAVE_LIBPNG -c -o gd_io_file.o gd_io_file.c gcc -I. -I/usr/include/freetype2 -I/usr/include/X11 -I/usr/X11R6/include/X11 -I/usr/local/include -mcpu=pentium3 -O3 -pipe -DHAVE_LIBPNG -c -o gd_ss.o gd_ss.c gcc -I. -I/usr/include/freetype2 -I/usr/include/X11 -I/usr/X11R6/include/X11 -I/usr/local/include -mcpu=pentium3 -O3 -pipe -DHAVE_LIBPNG -c -o gd_io_ss.o gd_io_ss.c gcc -I. -I/usr/include/freetype2 -I/usr/include/X11 -I/usr/X11R6/include/X11 -I/usr/local/include -mcpu=pentium3 -O3 -pipe -DHAVE_LIBPNG -c -o gd_png.o gd_png.c gcc -I. -I/usr/include/freetype2 -I/usr/include/X11 -I/usr/X11R6/include/X11 -I/usr/local/include -mcpu=pentium3 -O3 -pipe -DHAVE_LIBPNG -c -o gd_jpeg.o gd_jpeg.c gd_jpeg.c:26:21: jpeglib.h: No such file or directory gd_jpeg.c:27:20: jerror.h: No such file or directory make: *** [gd_jpeg.o] Error 1 make: *** Waiting for unfinished jobs.... !!! ERROR: media-libs/libgd-1.8.4 failed. !!! Function src_compile, Line 62, Exitcode 2 !!! (no error message) It seems that it needs libjpeg after all or that the ebuild doesn't properly disable that requirement. Bye Reproducible: Always Steps to Reproduce: 1. 2. 3.
I've seen that libgd-1.8.4-r2 now put libjpeg as a dependency. I don't think that's necessary, libgd can be compiled without jpeg support with a simple makefile tweak. So the previous jpeg use flag awareness can be restored I guess.
yeah, i didnt do -r2 ... ill investigate what happened there ... as for your bug, i cant reproduce it ;x please post `emerge info` ... and can you try 1.8.4-r1 with USE="-X -jpeg -truetype" ?
Maybe you can't reproduce it because you've already libjpeg installed?
host root # emerge info Portage 2.0.48-r1 (default-x86-1.4, gcc-3.2.2, glibc-2.3.1-r4) ================================================================= System uname: 2.4.21-ac4 i686 Intel(R) Pentium(R) III CPU family 1133MHz GENTOO_MIRRORS="http://physics.infis.univ.trieste.it/gentoo http://www.ibiblio.org/pub/Linux/distributions/gentoo" CONFIG_PROTECT="/etc /var/qmail/control /usr/share/config /usr/kde/2/share/config /usr/kde/3/share/config /var/bind" CONFIG_PROTECT_MASK="/etc/gconf /etc/env.d" PORTDIR="/usr/portage" DISTDIR="/usr/portage/distfiles" PKGDIR="/usr/portage/packages" PORTAGE_TMPDIR="/var/tmp" PORTDIR_OVERLAY="" USE="x86 berkdb crypt encode java libwww mmx ncurses pam png python ssl sasl tcpd zlib" COMPILER="gcc3" CHOST="i686-pc-linux-gnu" CFLAGS="-mcpu=pentium3 -O3 -pipe" CXXFLAGS="-O2 -mcpu=i686 -pipe" ACCEPT_KEYWORDS="x86" MAKEOPTS="-j3" AUTOCLEAN="yes" SYNC="rsync://rsync1.it.gentoo.org/gentoo-portage" FEATURES="sandbox ccache" I've got problems with 1.8.4-r1, however I've looked at the ebuild and until this section of the makefile... libgd.a: gd.o gd_gd.o gd_gd2.o gd_io.o gd_io_dp.o gd_io_file.o gd_ss.o \ gd_io_ss.o gd_png.o gd_jpeg.o gdxpm.o gdfontt.o gdfonts.o gdfontmb.o gdfontl.o \ gdfontg.o gdtables.o gdft.o gdttf.o gdcache.o gdkanji.o wbmp.o \ gd_wbmp.o gdhelpers.o gd.h gdfontt.h gdfonts.h gdfontmb.h gdfontl.h \ gdfontg.h gdhelpers.h ...is changed to this jpeglib.h and jerror.h will be searched... libgd.a: gd.o gd_gd.o gd_gd2.o gd_io.o gd_io_dp.o gd_io_file.o gd_ss.o \ gd_io_ss.o gd_png.o gdxpm.o gdfontt.o gdfonts.o gdfontmb.o gdfontl.o \ gdfontg.o gdtables.o gdft.o gdttf.o gdcache.o gdkanji.o wbmp.o \ gd_wbmp.o gdhelpers.o gd.h gdfontt.h gdfonts.h gdfontmb.h gdfontl.h \ gdfontg.h gdhelpers.h host root # USE="-X -jpeg -truetype" emerge -pv /usr/portage/media-libs/libgd/libgd-1.8.4-r1.ebuild These are the packages that I would merge, in order: Calculating dependencies \Traceback (most recent call last): File "/usr/bin/emerge", line 1913, in ? retval,favorites=mydepgraph.select_files(myfiles) File "/usr/bin/emerge", line 677, in select_files if not self.create(["ebuild",portage.root,mykey],None,"--onlydeps" not in myopts): File "/usr/bin/emerge", line 637, in create if not self.select_dep("/",mydep["/"],myparent=mp): File "/usr/bin/emerge", line 735, in select_dep mycheck=portage.dep_check(depstring,self.mydbapi[myroot]) File "/usr/lib/python2.2/site-packages/portage.py", line 2543, in dep_check mylist=flatten(dep_listcleanup(dep_zapdeps(mysplit,mysplit2))) File "/usr/lib/python2.2/site-packages/portage.py", line 2299, in dep_zapdeps myresult=dep_zapdeps(unreduced[x],reduced[x]) File "/usr/lib/python2.2/site-packages/portage.py", line 2289, in dep_zapdeps return unreduced[1] IndexError: list index out of range
I forced jpeg support to libgd becuse analog requires gd with jpeg to compile. However, it's strange that -r2 didn't pick up the jpeg dependency.
theres a bug in -r2 anyways ... its '-ljpeg' not '-jpeg' ;) aliz: what if i made a small script to detect whether libgd had jpeg support built in or not ? (would be easy, i could make like a few line .c file to do it) then when analog was emerged w/libgd support and it was missing jpeg, it would die explaining to the user that they have to re-emerge libgd w/jpeg ? i would prefer to keep libgd optional in terms of graphic libraries it supports ...
is this still a problem with 1.8.4-r2 ?
Yes, with 1.8.4-r2 libgd still wants to install jpeg-6b-r3. That's not a requirement so I suppose we can make libgd honoring the -jpeg USE flag.
ok, i tracked down your bug and added a patch for it to 1.8.4-r2