ports/115616: [patch] cdrdao linking errors
Frantiek Dvořák
valtri at civ.zcu.cz
Sat Aug 18 19:30:01 UTC 2007
>Number: 115616
>Category: ports
>Synopsis: [patch] cdrdao linking errors
>Confidential: no
>Severity: non-critical
>Priority: medium
>Responsible: freebsd-ports-bugs
>State: open
>Quarter:
>Keywords:
>Date-Required:
>Class: sw-bug
>Submitter-Id: current-users
>Arrival-Date: Sat Aug 18 19:30:00 GMT 2007
>Closed-Date:
>Last-Modified:
>Originator: Frantiek Dvořák
>Release: RELENG_6_2
>Organization:
University of West Bohemia
>Environment:
FreeBSD funik 6.2-RELEASE-p4 FreeBSD 6.2-RELEASE-p4 #0: Tue May 1 20:20:10 CEST 2007 valtri at funik:/var/obj/usr/src/sys/GENERIC i386
>Description:
Link to local static libraries fails with missing symbols:
c++ -DDRIVER_TABLE_FILE=\"/usr/local/share/cdrdao/drivers\" -O2 -pipe -march=pentium-m -fconserve-space -L/usr/local/lib -L/usr/local/lib -o cdrdao main.o -L. -ldao -L../paranoia -lcdda_paranoia -L../trackdb -ltrackdb -L../scsilib/export -lscg -lschily -lcam -L/usr/local/lib -lmad -lm -L/usr/local/lib -lvorbisfile -lvorbis -lm -logg -pthread -L/usr/local/lib -lao
./libdao.a(CdrDriver.o)(.text+0x787f): In function `CdrDriver::readAudioRangeParanoia(CdrDriver::ReadDiskInfo*, int, long, long, int, int, TrackInfo*)':
: undefined reference to `paranoia_set_range'
/usr/local/lib/libcdda_paranoia.so: undefined reference to `cdda_sector_gettrack'
/usr/local/lib/libcdda_paranoia.so: undefined reference to `cdda_tracks'
/usr/local/lib/libcdda_paranoia.so: undefined reference to `cdda_track_lastsector'
/usr/local/lib/libcdda_paranoia.so: undefined reference to `cdda_track_audiop'
/usr/local/lib/libcdda_paranoia.so: undefined reference to `cdda_track_firstsector'
/usr/local/lib/libcdda_paranoia.so: undefined reference to `cdda_disc_firstsector'
/usr/local/lib/libcdda_paranoia.so: undefined reference to `cdda_disc_lastsector'
gmake[2]: *** [cdrdao] Error 1
gmake[2]: Leaving directory `/tmp/ports-root/usr/ports/sysutils/cdrdao/work/cdrdao-1.2.1/dao'
gmake[1]: *** [all-recursive] Error 1
gmake[1]: Leaving directory `/tmp/ports-root/usr/ports/sysutils/cdrdao/work/cdrdao-1.2.1'
gmake: *** [all] Error 2
*** Error code 2
Stop in /usr/ports/sysutils/cdrdao.
System libraries probably have precedence before the local libraries:
nm /usr/local/lib/libcdda_paranoia.so| grep set_range
nm ../paranoia/libcdda_paranoia.a | grep set_range
00000840 T paranoia_set_range
>How-To-Repeat:
cd /usr/ports/sysutils/cdrdao
make clean
make
>Fix:
The patch with solution working for me (but I'm not sure if is the proper solution).
Patch attached with submission follows:
--- dao/Makefile.am.ori Sat Aug 18 20:40:37 2007
+++ dao/Makefile.am Sat Aug 18 20:41:11 2007
@@ -78,8 +78,8 @@
cdrdao_LDADD = \
-L. -ldao \
- -L$(top_builddir)/paranoia -lcdda_paranoia \
- -L$(top_builddir)/trackdb -ltrackdb \
+ $(top_builddir)/paranoia/libcdda_paranoia.a \
+ $(top_builddir)/trackdb/libtrackdb.a \
@thread_libs@ \
@scsilib_libs@
--- dao/Makefile.in.orig Sat Aug 18 20:46:24 2007
+++ dao/Makefile.in Sat Aug 18 20:50:21 2007
@@ -315,8 +315,8 @@
libdao_a_DEPENDENCIES = \
@scsilib_objs@
-cdrdao_LDADD = -L. -ldao -L$(top_builddir)/paranoia -lcdda_paranoia \
- -L$(top_builddir)/trackdb -ltrackdb @thread_libs@ \
+cdrdao_LDADD = -L. -ldao $(top_builddir)/paranoia/libcdda_paranoia.a \
+ $(top_builddir)/trackdb/libtrackdb.a @thread_libs@ \
@scsilib_libs@ $(am__append_1) $(am__append_2) @AO_LIBS@
cdrdao_DEPENDENCIES = \
$(top_builddir)/paranoia/libcdda_paranoia.a \
>Release-Note:
>Audit-Trail:
>Unformatted:
More information about the freebsd-ports-bugs
mailing list