Opened 10 years ago

Closed 10 years ago

#44318 closed defect (fixed)

aubio @0.4.1: undefined symbols

Reported by: ryandesign (Ryan Carsten Schmidt) Owned by: dbevans (David B. Evans)
Priority: Normal Milestone:
Component: ports Version:
Keywords: Cc:
Port: aubio

Description

I have aubio @0.3.2_4 installed, but it doesn't want to upgrade to @0.4.1 for me:

Undefined symbols for architecture x86_64:
  "_fvec_print", referenced from:
      _main in test-hist.c.48.o
  "_new_aubio_window", referenced from:
      _main in test-hist.c.48.o
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
Undefined symbols for architecture x86_64:
  "_aubio_sink_do", referenced from:
      _examples_common_process in utils.c.1.o
  "_aubio_source_do", referenced from:
      _examples_common_process in utils.c.1.o
  "_aubio_source_get_samplerate", referenced from:
      _examples_common_init in utils.c.1.o
  "_aubio_tempo_do", referenced from:
      _process_block in aubiotrack.c.7.o
  "_aubio_tempo_get_last_s", referenced from:
      _process_print in aubiotrack.c.7.o
  "_aubio_wavetable_do", referenced from:
      _process_block in aubiotrack.c.7.o
  "_aubio_wavetable_play", referenced from:
      _process_block in aubiotrack.c.7.o
  "_aubio_wavetable_set_freq", referenced from:
      _main in aubiotrack.c.7.o
  "_aubio_wavetable_stop", referenced from:
      _process_block in aubiotrack.c.7.o
  "_del_aubio_sink", referenced from:
      _examples_common_process in utils.c.1.o
  "_del_aubio_source", referenced from:
      _examples_common_process in utils.c.1.o
  "_del_aubio_wavetable", referenced from:
      _main in aubiotrack.c.7.o
  "_fvec_get_sample", referenced from:
      _process_block in aubiotrack.c.7.o
  "_fvec_zeros", referenced from:
      _process_block in aubiotrack.c.7.o
  "_new_aubio_sink", referenced from:
      _examples_common_init in utils.c.1.o
  "_new_aubio_source", referenced from:
      _examples_common_init in utils.c.1.o
  "_new_aubio_wavetable", referenced from:
      _main in aubiotrack.c.7.o
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
Undefined symbols for architecture x86_64:
  "_cvec_print", referenced from:
      _main in test-fft.c.25.o
  "_fvec_print", referenced from:
      _main in test-fft.c.25.o
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
Undefined symbols for architecture x86_64:
  "_aubio_sink_apple_audio_do", referenced from:
      _main in test-sink_apple_audio.c.4.o
  "_aubio_source_do", referenced from:
      _main in test-sink_apple_audio.c.4.o
  "_aubio_source_get_samplerate", referenced from:
      _main in test-sink_apple_audio.c.4.o
  "_del_aubio_sink_apple_audio", referenced from:
      _main in test-sink_apple_audio.c.4.o
  "_del_aubio_source", referenced from:
      _main in test-sink_apple_audio.c.4.o
  "_new_aubio_sink_apple_audio", referenced from:
      _main in test-sink_apple_audio.c.4.o
  "_new_aubio_source", referenced from:
      _main in test-sink_apple_audio.c.4.o
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
Undefined symbols for architecture x86_64:
  "_cvec_copy", referenced from:
      _main in test-cvec.c.41.o
  "_cvec_norm_ones", referenced from:
      _main in test-cvec.c.41.o
  "_cvec_norm_zeros", referenced from:
      _main in test-cvec.c.41.o
  "_cvec_phas_ones", referenced from:
      _main in test-cvec.c.41.o
  "_cvec_phas_zeros", referenced from:
      _main in test-cvec.c.41.o
  "_cvec_print", referenced from:
      _main in test-cvec.c.41.o
  "_cvec_zeros", referenced from:
      _main in test-cvec.c.41.o
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
Undefined symbols for architecture x86_64:
  "_aubio_pitchspecacf_do", referenced from:
      _main in test-pitchspecacf.c.22.o
  "_del_aubio_pitchspecacf", referenced from:
      _main in test-pitchspecacf.c.22.o
  "_new_aubio_pitchspecacf", referenced from:
      _main in test-pitchspecacf.c.22.o
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
$ sw_vers
ProductName:	Mac OS X
ProductVersion:	10.9.4
BuildVersion:	13E28
$ xcodebuild -version
Xcode 5.1.1
Build version 5B1008
$ clang -v
Apple LLVM version 5.1 (clang-503.0.40) (based on LLVM 3.4svn)
Target: x86_64-apple-darwin13.3.0
Thread model: posix

Attachments (1)

main.log (37.0 KB) - added by ryandesign (Ryan Carsten Schmidt) 10 years ago.

Download all attachments as: .zip

Change History (4)

Changed 10 years ago by ryandesign (Ryan Carsten Schmidt)

Attachment: main.log added

comment:1 Changed 10 years ago by ryandesign (Ryan Carsten Schmidt)

Deactivating aubio @0.3.2 first allowed @0.4.1 to build. So one possible solution would be to use

PortGroup conflicts_build 1.0

and

conflicts_build ${name}

comment:2 Changed 10 years ago by dbevans (David B. Evans)

Status: newassigned

comment:3 Changed 10 years ago by dbevans (David B. Evans)

Resolution: fixed
Status: assignedclosed
Version: 2.3.99

By placing LDFLAGS before other link flags on the link command line, waf causes previously installed versions of the aubio libraries to be linked in preference to the new local ones. Deleting -L${prefix}/lib from LDFLAGS fixes the problem. External libraries that need to be linked assert their library search paths via pkg-config and are not effected.

r122043.

Note: See TracTickets for help on using tickets.