Bug 70445 - Circulare dep between "vcdimager" and "libcdio"
|
Bug#:
70445
|
Product: Gentoo Linux
|
Version: unspecified
|
Platform: All
|
|
OS/Version: All
|
Status: RESOLVED
|
Severity: enhancement
|
Priority: P2
|
|
Resolution: FIXED
|
Assigned To: media-video@gentoo.org
|
Reported By: motaboy@gentoo.org
|
|
Component: Ebuilds
|
|
|
URL:
|
|
Summary: Circulare dep between "vcdimager" and "libcdio"
|
|
Keywords:
|
|
Status Whiteboard:
|
|
Opened: 2004-11-08 03:13 0000
|
kiso-0.7 needs libcdio-0.70. So I made a new ebuild for this.
The problem that I've encountered is that it wants to link against the already installed libcdio libs. This is wrong and also gives errors becuase, from this version, libcdio is no more compatible with the old ones, (now it's called libcdio.so.2.0 instead of so.1.0).
I've fixed libtool running "elibtoolize --reverse-deps".
For this reason some programs like 'vcdimager' needs to be rebuilt, revdep-rebuild work and all the program I've rebuilt, compiled and worked well with this version too.
I hope this is right, please take a look at the attached ebuild.
Helped if I change this bug. Fixed and in portage :Ps
Hi,
I was only able to install libcdio once. After installation revdep-rebuild claimed to rebuild libcdio due to missing libiso9660.so.0:
broken /usr/bin/cd-info (requires libiso9660.so.0 libiso9660.so.0)
but rebuilding fails with this:
/bin/sh ../libtool --mode=link i686-pc-linux-gnu-gcc -march=athlon-xp -mcpu=athlon-xp -O3-pipe -Wall -Wchar-subscripts -Wmissing-prototypes -Wmissing-declarations -Wunused -Wpointer-arith -Wwrite-strings -Wnested-externs -Wno-sign-compare -o cd-info cd-info.o util.o ../lib/libiso9660.la ../lib/libcdio.la -lpopt -lvcdinfo -lvcd -liso9660 -lcdio -lm -lm
i686-pc-linux-gnu-gcc -march=athlon-xp -mcpu=athlon-xp -O3 -pipe -Wall -Wchar-subscripts -Wmissing-prototypes -Wmissing-declarations -Wunused -Wpointer-arith -Wwrite-strings -Wnested-externs -Wno-sign-compare -o .libs/cd-info cd-info.o util.o /usr/lib/libpopt.so /usr/lib/libvcdinfo.so /usr/lib/libvcd.so ../lib/.libs/libiso9660.so ../lib/.libs/libcdio.so -lm
/usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.4/../../../../i686-pc-linux-gnu/bin/ld: warning: libiso9660.so.0, needed by /usr/lib/libvcdinfo.so, not found (try using -rpath or -rpath-link)
/usr/lib/libvcd.so: undefined reference to `iso9660_dir_init_new_su@ISO9660_0'
/usr/lib/libvcd.so: undefined reference to `iso9660_pathtable_l_add_entry@ISO9660_0'
/usr/lib/libvcd.so: undefined reference to `iso9660_dir_calc_record_size@ISO9660_0'
/usr/lib/libvcd.so: undefined reference to `iso9660_pathtable_get_size@ISO9660_0'
/usr/lib/libvcd.so: undefined reference to `iso9660_pathtable_init@ISO9660_0'
/usr/lib/libvcdinfo.so: undefined reference to `iso9660_fs_stat@ISO9660_0'
/usr/lib/libvcd.so: undefined reference to `iso9660_pathtable_m_add_entry@ISO9660_0'
/usr/lib/libvcdinfo.so: undefined reference to `iso9660_find_fs_lsn@ISO9660_0'
/usr/lib/libvcd.so: undefined reference to `iso9660_pathname_valid_p@ISO9660_0'
/usr/lib/libvcd.so: undefined reference to `iso9660_set_evd@ISO9660_0'
/usr/lib/libvcd.so: undefined reference to `iso9660_strncpy_pad@ISO9660_0'
/usr/lib/libvcd.so: undefined reference to `iso9660_set_pvd@ISO9660_0'
/usr/lib/libvcdinfo.so: undefined reference to `iso9660_fs_readdir@ISO9660_0'
/usr/lib/libvcd.so: undefined reference to `iso9660_dirname_valid_p@ISO9660_0'
/usr/lib/libvcd.so: undefined reference to `iso9660_xa_init@ISO9660_0'
/usr/lib/libvcd.so: undefined reference to `iso9660_dir_add_entry_su@ISO9660_0'
/usr/lib/libvcd.so: undefined reference to `iso9660_pathname_isofy@ISO9660_0'
collect2: ld returned 1 exit status
make[2]: *** [cd-info] Error 1
make[2]: Leaving directory `/home/portage/tmp/portage/libcdio-0.70/work/libcdio-0.70/src'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/home/portage/tmp/portage/libcdio-0.70/work/libcdio-0.70'
make: *** [all] Error 2
please reopen
Poly
I think that the problem is a sort of ciclycal deps between "vcdimager" and
"libcdio" as if you look in the configure og libcdio you'll see:
checking for libvcdinfo >= 0.7.20... yes
checking VCDINFO_CFLAGS...
checking VCDINFO_LIBS... -lvcdinfo -lvcd -liso9660 -lcdio -lm
so looks like libcdio searches for vcdimager, and at the same time we have to
vcdimager needs libiso9660 that is provided by libcdio.
So there are 2 problems:
1) libcdio ebuild doesn't have vcdimager in DEPEND.
2) this is a cyclical dep and the unique solution I can see to avoid it is to
disable the vcdimager needs in libcdio with the configure flags:
--disable-vcd-info
media-video herd: any thoughts?
Lars: Thanks for reporting this.
If you want to fix it now you can try removing (emerge -C) libcdio and
vcdimager and them reemerging them.
Hi,
Simone removing licdio and vcdimager and remerge helped. revdep only complained about xine-lib but I'm gonna rebuild this right now.
Poly
I had this problem just now. After looking at this bug I remerged vcdimager
then libcdio and it merged cleanly.
Also having trouble building libcdio after emerge -C libcdio vcdimager.
Following error occurs, I tuned down my cflags and the build is still crapping
out in the same place.
creating cd-drive
if i686-pc-linux-gnu-gcc -DHAVE_CONFIG_H -I. -I. -I.. -I.. -I../lib/
-I../include/ -march=athlon-xp -O2 -Wall -Wchar-subscripts
-Wmissing-prototypes -Wmissing-declarations -Wunused -Wpointer-arith
-Wwrite-strings -Wnested-externs -Wno-sign-compare -MT cd-info.o -MD -MP -MF
".deps/cd-info.Tpo" -c -o cd-info.o cd-info.c; \
then mv -f ".deps/cd-info.Tpo" ".deps/cd-info.Po"; else rm -f
".deps/cd-info.Tpo"; exit 1; fi
cd-info.c: In function `init':
cd-info.c:808: warning: passing arg 1 of `cddb_log_set_handler' from
incompatible pointer type
/bin/sh ../libtool --mode=link i686-pc-linux-gnu-gcc -march=athlon-xp -O2
-Wall -Wchar-subscripts -Wmissing-prototypes -Wmissing-declarations -Wunused
-Wpointer-arith -Wwrite-strings -Wnested-externs -Wno-sign-compare -Wl,-O1
-Wl,--enable-new-dtags -Wl,--sort-common -s -o cd-info cd-info.o util.o
../lib/libiso9660.la ../lib/libcdio.la -lpopt -lcddb -lm
i686-pc-linux-gnu-gcc -march=athlon-xp -O2 -Wall -Wchar-subscripts
-Wmissing-prototypes -Wmissing-declarations -Wunused -Wpointer-arith
-Wwrite-strings -Wnested-externs -Wno-sign-compare -Wl,-O1
-Wl,--enable-new-dtags -Wl,--sort-common -s -o .libs/cd-info cd-info.o util.o
../lib/.libs/libiso9660.so ../lib/.libs/libcdio.so /usr/lib/libpopt.so
/usr/lib/libcddb.so -lm
i686-pc-linux-gnu-gcc: /usr/lib/libcddb.so: No such file or directory
make[2]: *** [cd-info] Error 1
make[2]: Leaving directory
`/var/tmp/portage/libcdio-0.70/work/libcdio-0.70/src'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/var/tmp/portage/libcdio-0.70/work/libcdio-0.70'
make: *** [all] Error 2
!!! ERROR: dev-libs/libcdio-0.70 failed.
!!! Function src_compile, Line 25, Exitcode 2
!!! (no error message)
!!! If you need support, post the topmost build error, NOT this status message.
Not sure if I should have opened a new bug or not, I hope it fits here.
I figured out the problem, for some reason I had to rebuild libcddb in order to
build libcdio. I had libcddb installed but for some reason some of the
necessary libraries were missing.
since your problems are fixed i'm closing this one, feel free to reopen if i'm
taking things wrong.
The bug is in comment #4 and it's not fixed as it's a circular dep. Changing
the bug's title.
i'm sorry, actually it seems that i had taken things wrong. ;) ok, i think your
suggestion if proberbly the best possibility. i've removed the circular dep
with --disable-vcd-info .