Bug 115616 - [patch] sysutils/cdrdao linking errors
Summary: [patch] sysutils/cdrdao linking errors
Status: Closed FIXED
Alias: None
Product: Ports & Packages
Classification: Unclassified
Component: Individual Port(s) (show other bugs)
Version: Latest
Hardware: Any Any
: Normal Affects Only Me
Assignee: Marius Strobl
Depends on:
Reported: 2007-08-18 20:30 UTC by František Dvořák
Modified: 2007-09-15 13:04 UTC (History)
0 users

See Also:

file.diff (918 bytes, patch)
2007-08-18 20:30 UTC, František Dvořák
no flags Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description František Dvořák 2007-08-18 20:30:00 UTC
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

Fix: The patch with solution working for me (but I'm not sure if is the proper solution).

Patch attached with submission follows:
How-To-Repeat: cd /usr/ports/sysutils/cdrdao
make clean
Comment 1 Edwin Groothuis freebsd_committer 2007-08-19 00:28:14 UTC
Responsible Changed
From-To: freebsd-ports-bugs->marius

Over to maintainer
Comment 2 dfilter service freebsd_committer 2007-09-15 12:58:57 UTC
marius      2007-09-15 11:58:51 UTC

  FreeBSD ports repository (src committer)

  Modified files:
    sysutils/cdrdao      Makefile distinfo 
    sysutils/cdrdao/files patch-dao::cdrdao.man 
    sysutils/gcdmaster   Makefile 
  Added files:
    sysutils/cdrdao/files patch-dao::Makefile.in 
  - Update to 1.2.2. Relevant parts from the release notes:
    Cdrdao changes:
    o Man page cleanup (Andrew Suffield)
    GCDMaster changes:
    o Fixed GCC 4.1 compilation issues
    o Fixed hang when inserting WAV file
  - Ensure that the libraries built by the port are linked in and not
    already installed ones. For example in case of libcdda_paranoia
    installed by audio/cdparanoia can't be used to build cddao. Such
    problems only happen when using non-standard compiler and/or linker
    flags are used but it doesn't hurt to add some anti-footshooting
    measurements to the port. [1]
  PR:             115616 [1]
  Approved by:    netchild
  Revision  Changes    Path
  1.51      +3 -3      ports/sysutils/cdrdao/Makefile
  1.12      +3 -3      ports/sysutils/cdrdao/distinfo
  1.1       +13 -0     ports/sysutils/cdrdao/files/patch-dao::Makefile.in (new)
  1.3       +11 -0     ports/sysutils/cdrdao/files/patch-dao::ScsiIf-lib.cc (new)
  1.3       +7 -10     ports/sysutils/cdrdao/files/patch-dao::cdrdao.man
  1.3       +17 -0     ports/sysutils/cdrdao/files/patch-utils::Makefile.in (new)
  1.1       +15 -0     ports/sysutils/cdrdao/files/patch-xdao::Makefile.in (new)
  1.11      +1 -1      ports/sysutils/gcdmaster/Makefile
cvs-all@freebsd.org mailing list
To unsubscribe, send any mail to "cvs-all-unsubscribe@freebsd.org"
Comment 3 Marius Strobl freebsd_committer 2007-09-15 13:01:50 UTC
State Changed
From-To: open->closed

Close; should no longer happen with cdrdao-1.2.2.