Hi Rocky, libcdio 0.81 does not build on Mandriva 2009.0 with the new default linker flags that contain both --as-needed and --no-undefined flags:
/bin/sh ../../libtool --tag=CXX --mode=link g++ -O2 -g -pipe -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -fomit-frame -pointer -march=i586 -mtune=generic -fasynchronous-unwind-tables -Wl,--as-needed -Wl,--no-undefined -o libiso9660++.la -rpath /usr/lib iso9660.lo -lm g++ -shared -nostdlib /usr/lib/gcc/i586-manbo-linux-gnu/4.3.2/../../../crti.o /usr/lib/gcc/i586-manbo-linux-gnu/4.3.2/crtbeginS.o .libs/iso9660.o -L/usr/li b/gcc/i586-manbo-linux-gnu/4.3.2 -L/usr/lib/gcc/i586-manbo-linux-gnu/4.3.2/../../.. -lstdc++ -lm -lc -lgcc_s /usr/lib/gcc/i586-manbo-linux-gnu/4.3.2/crtendS. o /usr/lib/gcc/i586-manbo-linux-gnu/4.3.2/../../../crtn.o -march=i586 -mtune=generic -Wl,--as-needed -Wl,--no-undefined -Wl,-soname -Wl,libiso9660++.so.0 -o .libs/libiso9660++.so.0.0.0 .libs/iso9660.o: In function `ISO9660::PVD::get_volumeset_id()': /home/goetz/svn/libcdio/BUILD/libcdio-0.81/lib/cdio++/iso9660.cpp:294: undefined reference to `iso9660_get_volumeset_id' .libs/iso9660.o: In function `ISO9660::PVD::get_volume_id()': /home/goetz/svn/libcdio/BUILD/libcdio-0.81/lib/cdio++/iso9660.cpp:284: undefined reference to `iso9660_get_volume_id' .libs/iso9660.o: In function `ISO9660::PVD::get_system_id()': /home/goetz/svn/libcdio/BUILD/libcdio-0.81/lib/cdio++/iso9660.cpp:274: undefined reference to `iso9660_get_system_id' .libs/iso9660.o: In function `ISO9660::PVD::get_root_lsn()': /home/goetz/svn/libcdio/BUILD/libcdio-0.81/lib/cdio++/iso9660.cpp:264: undefined reference to `iso9660_get_root_lsn' .libs/iso9660.o: In function `ISO9660::PVD::get_pvd_version()': /home/goetz/svn/libcdio/BUILD/libcdio-0.81/lib/cdio++/iso9660.cpp:255: undefined reference to `iso9660_get_pvd_version' .libs/iso9660.o: In function `ISO9660::PVD::get_pvd_type()': /home/goetz/svn/libcdio/BUILD/libcdio-0.81/lib/cdio++/iso9660.cpp:246: undefined reference to `iso9660_get_pvd_type' .libs/iso9660.o: In function `ISO9660::PVD::get_pvd_space_size()': /home/goetz/svn/libcdio/BUILD/libcdio-0.81/lib/cdio++/iso9660.cpp:241: undefined reference to `iso9660_get_pvd_space_size' .libs/iso9660.o: In function `ISO9660::PVD::get_pvd_id()': /home/goetz/svn/libcdio/BUILD/libcdio-0.81/lib/cdio++/iso9660.cpp:235: undefined reference to `iso9660_get_pvd_id' .libs/iso9660.o: In function `ISO9660::PVD::get_publisher_id()': /home/goetz/svn/libcdio/BUILD/libcdio-0.81/lib/cdio++/iso9660.cpp:229: undefined reference to `iso9660_get_publisher_id' .libs/iso9660.o: In function `ISO9660::PVD::get_preparer_id()': /home/goetz/svn/libcdio/BUILD/libcdio-0.81/lib/cdio++/iso9660.cpp:219: undefined reference to `iso9660_get_preparer_id' .libs/iso9660.o: In function `ISO9660::PVD::get_pvd_block_size()': /home/goetz/svn/libcdio/BUILD/libcdio-0.81/lib/cdio++/iso9660.cpp:209: undefined reference to `iso9660_get_pvd_block_size' .libs/iso9660.o: In function `ISO9660::PVD::get_application_id()': /home/goetz/svn/libcdio/BUILD/libcdio-0.81/lib/cdio++/iso9660.cpp:203: undefined reference to `iso9660_get_application_id' .libs/iso9660.o: In function `ISO9660::IFS::read_superblock_fuzzy(unsigned char, unsigned short)': /home/goetz/svn/libcdio/BUILD/libcdio-0.81/lib/cdio++/iso9660.cpp:197: undefined reference to `iso9660_ifs_fuzzy_read_superblock' .libs/iso9660.o: In function `ISO9660::IFS::read_superblock(unsigned char, unsigned short)': /home/goetz/svn/libcdio/BUILD/libcdio-0.81/lib/cdio++/iso9660.cpp:181: undefined reference to `iso9660_ifs_read_superblock' .libs/iso9660.o: In function `ISO9660::IFS::read_pvd()': /home/goetz/svn/libcdio/BUILD/libcdio-0.81/lib/cdio++/iso9660.cpp:162: undefined reference to `iso9660_ifs_read_pvd' .libs/iso9660.o: In function `ISO9660::IFS::open_fuzzy(char const*, unsigned char, unsigned short)': /home/goetz/svn/libcdio/BUILD/libcdio-0.81/lib/cdio++/iso9660.cpp:150: undefined reference to `iso9660_open_fuzzy_ext' .libs/iso9660.o: In function `ISO9660::IFS::is_xa()': /home/goetz/svn/libcdio/BUILD/libcdio-0.81/lib/cdio++/iso9660.cpp:131: undefined reference to `iso9660_ifs_is_xa' .libs/iso9660.o: In function `ISO9660::IFS::get_joliet_level()': /home/goetz/svn/libcdio/BUILD/libcdio-0.81/lib/cdio++/iso9660.cpp:122: undefined reference to `iso9660_ifs_get_joliet_level' .libs/iso9660.o: In function `ISO9660::IFS::find_lsn(int)': /home/goetz/svn/libcdio/BUILD/libcdio-0.81/lib/cdio++/iso9660.cpp:113: undefined reference to `iso9660_ifs_find_lsn' .libs/iso9660.o: In function `ISO9660::IFS::close()': /home/goetz/svn/libcdio/BUILD/libcdio-0.81/lib/cdio++/iso9660.cpp:99: undefined reference to `iso9660_close' .libs/iso9660.o: In function `ISO9660::FS::read_superblock(unsigned char)': /home/goetz/svn/libcdio/BUILD/libcdio-0.81/lib/cdio++/iso9660.cpp:62: undefined reference to `iso9660_fs_read_superblock' .libs/iso9660.o: In function `ISO9660::FS::read_pvd()': /home/goetz/svn/libcdio/BUILD/libcdio-0.81/lib/cdio++/iso9660.cpp:47: undefined reference to `iso9660_fs_read_pvd' .libs/iso9660.o: In function `ISO9660::FS::find_lsn(int)': /home/goetz/svn/libcdio/BUILD/libcdio-0.81/lib/cdio++/iso9660.cpp:36: undefined reference to `iso9660_find_fs_lsn' .libs/iso9660.o: In function `ISO9660::FS::readdir(char const*, std::vector<ISO9660::Stat*, std::allocator<ISO9660::Stat*> >&, bool)': /home/goetz/svn/libcdio/BUILD/libcdio-0.81/lib/cdio++/iso9660.cpp:74: undefined reference to `iso9660_fs_readdir' /home/goetz/svn/libcdio/BUILD/libcdio-0.81/lib/cdio++/iso9660.cpp:77: undefined reference to `_cdio_list_begin' /home/goetz/svn/libcdio/BUILD/libcdio-0.81/lib/cdio++/iso9660.cpp:79: undefined reference to `_cdio_list_node_data' /home/goetz/svn/libcdio/BUILD/libcdio-0.81/lib/cdio++/iso9660.cpp:77: undefined reference to `_cdio_list_node_next' /home/goetz/svn/libcdio/BUILD/libcdio-0.81/lib/cdio++/iso9660.cpp:82: undefined reference to `_cdio_list_free' collect2: ld returned 1 exit status make[3]: *** [libiso9660++.la] Fehler 1 make[3]: Leaving directory `/home/goetz/svn/libcdio/BUILD/libcdio-0.81/lib/cdio++' make[2]: *** [all-recursive] Fehler 1 make[2]: Leaving directory `/home/goetz/svn/libcdio/BUILD/libcdio-0.81/lib' make[1]: *** [all-recursive] Fehler 1 make[1]: Leaving directory `/home/goetz/svn/libcdio/BUILD/libcdio-0.81' make: *** [all] Fehler 2 I can either disable the --no-undefined flag or add libcdio.la and libiso9660.la to libiso9660++'s linker command. Regards, Götz -- AL I:40: Do what thou wilt shall be the whole of the Law.
