Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 111455 - media-libs/giflib and media-libs/urt circular dependency with rle USE-flag
Summary: media-libs/giflib and media-libs/urt circular dependency with rle USE-flag
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All All
: High minor (vote)
Assignee: Gentoo Graphics Project
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2005-11-04 02:33 UTC by Fabian Groffen
Modified: 2005-11-04 18:56 UTC (History)
4 users (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 Fabian Groffen gentoo-dev 2005-11-04 02:33:59 UTC
This is a bug to record a dependency issue, that might be solveable in the
future.  I experience this problem on both x86 and ppc-macos.

The problem is as follows:

# env USE="gif rle" emerge -pv urt

These are the packages that I would merge, in order:

Calculating dependencies ...done!
[ebuild  N    ] media-libs/giflib-4.1.4  -X +rle 0 kB 
[ebuild  N    ] media-libs/urt-3.1b-r1  -X +gif -gs +tiff 0 kB 

Total size of downloads: 0 kB


So, urt pulls giflib, and giflib on it's turn needs urt.  I enabled rle USE-flag.

then compiling (by invoking the same command minus "-pv", fails in giflib:

then mv -f ".deps/gifrotat.Tpo" ".deps/gifrotat.Po"; else rm -f
".deps/gifrotat.Tpo"; exit 1; fi
/bin/sh ../libtool --tag=CC --mode=link i686-pc-linux-gnu-gcc -march=athlon-xp
-O3 -pipe  -Wall -march=athlon-xp -O3 -pipe   -o gifrotat  gifrotat.o
../lib/libgif.la ../lib/libgetarg.a  -lm 
i686-pc-linux-gnu-gcc -march=athlon-xp -O3 -pipe -Wall -march=athlon-xp -O3
-pipe -o .libs/gifrotat gifrotat.o  ../lib/.libs/libgif.so ../lib/libgetarg.a -lm
creating gifrotat
if i686-pc-linux-gnu-gcc -DHAVE_CONFIG_H -I. -I. -I..  -I. -I.. -I../lib 
-march=athlon-xp -O3 -pipe  -Wall -march=athlon-xp -O3 -pipe -MT gif2rle.o -MD
-MP -MF ".deps/gif2rle.Tpo" -c -o gif2rle.o gif2rle.c; \
then mv -f ".deps/gif2rle.Tpo" ".deps/gif2rle.Po"; else rm -f
".deps/gif2rle.Tpo"; exit 1; fi
gif2rle.c:38:80: rle.h: No such file or directory
gif2rle.c: In function `DumpScreen2Rle':
gif2rle.c:245: error: `rle_pixel' undeclared (first use in this function)
gif2rle.c:245: error: (Each undeclared identifier is reported only once
gif2rle.c:245: error: for each function it appears in.)
gif2rle.c:245: error: `rows' undeclared (first use in this function)
gif2rle.c:250: warning: implicit declaration of function `RLE_SET_BIT'
gif2rle.c:250: error: `rle_dflt_hdr' undeclared (first use in this function)
gif2rle.c:250: error: `RLE_ALPHA' undeclared (first use in this function)
gif2rle.c:258: warning: implicit declaration of function `rle_putcom'
gif2rle.c:259: warning: implicit declaration of function `rle_put_setup'
gif2rle.c:262: error: syntax error before ')' token
gif2rle.c:262: error: syntax error before ')' token
gif2rle.c:243: warning: unused variable `j'
gif2rle.c:246: warning: unused variable `GifRow'
gif2rle.c:248: warning: unused variable `ColorMapEntry'
gif2rle.c: At top level:
gif2rle.c:266: error: syntax error before "if"
gif2rle.c:274: error: syntax error before string constant
gif2rle.c:274: warning: type defaults to `int' in declaration of `GifQprintf'
gif2rle.c:274: error: conflicting types for `GifQprintf'
../lib/gif_lib.h:234: error: previous declaration of `GifQprintf'
gif2rle.c:274: warning: data definition has no type or storage class
gif2rle.c:277: error: `j' undeclared here (not in a function)
gif2rle.c:277: warning: type defaults to `int' in declaration of `rows'
gif2rle.c:277: error: `rows' used prior to declaration
gif2rle.c:277: error: `ColorMapEntry' undeclared here (not in a function)
gif2rle.c:277: warning: data definition has no type or storage class
gif2rle.c:278: error: `j' undeclared here (not in a function)
gif2rle.c:278: warning: type defaults to `int' in declaration of `rows'
gif2rle.c:278: error: conflicting types for `rows'
gif2rle.c:277: error: previous declaration of `rows'
gif2rle.c:278: error: `ColorMapEntry' undeclared here (not in a function)
gif2rle.c:278: warning: data definition has no type or storage class
gif2rle.c:279: error: `j' undeclared here (not in a function)
gif2rle.c:279: warning: type defaults to `int' in declaration of `rows'
gif2rle.c:279: error: conflicting types for `rows'
gif2rle.c:278: error: previous declaration of `rows'
gif2rle.c:279: error: `ColorMapEntry' undeclared here (not in a function)
gif2rle.c:279: warning: data definition has no type or storage class
gif2rle.c:280: error: syntax error before '}' token
gif2rle.c:281: error: syntax error before '&' token
gif2rle.c:281: warning: type defaults to `int' in declaration of `rle_putrow'
gif2rle.c:281: warning: data definition has no type or storage class
gif2rle.c:284: error: syntax error before '&' token
gif2rle.c:284: warning: type defaults to `int' in declaration of `rle_puteof'
gif2rle.c:284: warning: data definition has no type or storage class
gif2rle.c:279: error: storage size of `rows' isn't known
make[2]: *** [gif2rle.o] Error 1
make[2]: Leaving directory `/var/tmp/portage/giflib-4.1.4/work/giflib-4.1.4/util'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/var/tmp/portage/giflib-4.1.4/work/giflib-4.1.4'
make: *** [all] Error 2


First emerging urt (without rle USE-flag) then reemerging giflib with rle USE
flag works, since urt probably provides rle.

Reproducible: Always
Steps to Reproduce:
1. make sure giflib and urt are not emerged
2. env USE="gif rle" emerge urt
3. watch compilation of giflib die on rle

Actual Results:  
compilation of giflib failed due to missing rle

Expected Results:  
ideally, portage should detect it and compile giflib twice, once without rle and
once with after urt has compiled.
Comment 1 Jakub Moc (RETIRED) gentoo-dev 2005-11-04 02:59:23 UTC
Circular dependencies are certainly bad... Looks like vapier introduced this in
Bug 107497 (and it does not seem to fix the original problem anyway)...
Comment 2 Fabian Groffen gentoo-dev 2005-11-04 03:13:01 UTC
Ah, I missed that bug.
Comment 3 SpanKY gentoo-dev 2005-11-04 18:56:30 UTC
it fixes the problem just fine, you're confusing issues jakub

fixed *this* issue in cvs