Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 70445 - Circulare dep between "vcdimager" and "libcdio"
Summary: Circulare dep between "vcdimager" and "libcdio"
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: New packages (show other bugs)
Hardware: All All
: High enhancement (vote)
Assignee: Gentoo Media-video project
URL:
Whiteboard:
Keywords:
Depends on:
Blocks: 63929
  Show dependency tree
 
Reported: 2004-11-08 03:13 UTC by Simone Gotti (RETIRED)
Modified: 2005-01-28 17:23 UTC (History)
2 users (show)

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


Attachments
libcdio-0.70.ebuild (libcdio-0.70.ebuild,738 bytes, text/plain)
2004-11-08 03:14 UTC, Simone Gotti (RETIRED)
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Simone Gotti (RETIRED) gentoo-dev 2004-11-08 03:13:45 UTC
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.
Comment 1 Simone Gotti (RETIRED) gentoo-dev 2004-11-08 03:14:40 UTC
Created attachment 43524 [details]
libcdio-0.70.ebuild
Comment 2 Chris White (RETIRED) gentoo-dev 2004-11-11 13:03:55 UTC
Helped if I change this bug.  Fixed and in portage :Ps
Comment 3 Lars Wendler (Polynomial-C) (RETIRED) gentoo-dev 2004-11-12 21:10:13 UTC
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
Comment 4 Simone Gotti (RETIRED) gentoo-dev 2004-11-13 02:03:30 UTC
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.
Comment 5 Lars Wendler (Polynomial-C) (RETIRED) gentoo-dev 2004-11-13 13:14:11 UTC
Hi,

Simone removing licdio and vcdimager and remerge helped. revdep only complained about xine-lib but I'm gonna rebuild this right now.

Poly
Comment 6 butters 2004-11-18 10:25:19 UTC
I had this problem just now.  After looking at this bug I remerged vcdimager then libcdio and it merged cleanly.
Comment 7 William Pearson 2004-11-22 18:43:02 UTC
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.
Comment 8 William Pearson 2004-11-22 20:00:39 UTC
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.
Comment 9 Jan Brinkmann (RETIRED) gentoo-dev 2005-01-27 13:07:55 UTC
since your problems are fixed i'm closing this one, feel free to reopen if i'm taking things wrong.
Comment 10 Simone Gotti (RETIRED) gentoo-dev 2005-01-28 17:05:31 UTC
The bug is in comment #4 and it's not fixed as it's a circular dep. Changing the bug's title.
Comment 11 Jan Brinkmann (RETIRED) gentoo-dev 2005-01-28 17:23:51 UTC
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 .