Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 23648 - libgd 1.8.4 update doesn't compile if -jpeg is present
Summary: libgd 1.8.4 update doesn't compile if -jpeg is present
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: High normal (vote)
Assignee: SpanKY
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2003-06-28 10:37 UTC by Andrea Barisani (RETIRED)
Modified: 2003-10-02 00:40 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 Andrea Barisani (RETIRED) gentoo-dev 2003-06-28 10:37:20 UTC
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.
Comment 1 Andrea Barisani (RETIRED) gentoo-dev 2003-07-01 08:17:09 UTC
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.
Comment 2 SpanKY gentoo-dev 2003-07-01 21:08:18 UTC
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" ? 
Comment 3 Andrea Barisani (RETIRED) gentoo-dev 2003-07-02 00:15:04 UTC
Maybe you can't reproduce it because you've already libjpeg installed?
Comment 4 Andrea Barisani (RETIRED) gentoo-dev 2003-07-02 00:23:14 UTC
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
Comment 5 Daniel Ahlberg (RETIRED) gentoo-dev 2003-07-02 13:03:28 UTC
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. 
Comment 6 SpanKY gentoo-dev 2003-07-02 15:09:24 UTC
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 ... 
Comment 7 SpanKY gentoo-dev 2003-09-02 19:14:48 UTC
is this still a problem with 1.8.4-r2 ?
Comment 8 Andrea Barisani (RETIRED) gentoo-dev 2003-09-02 23:52:16 UTC
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.
Comment 9 SpanKY gentoo-dev 2003-10-02 00:40:27 UTC
ok, i tracked down your bug and added a patch for it to 1.8.4-r2