Opened 10 years ago

Closed 10 years ago

Last modified 10 years ago

#44736 closed defect (invalid)

gnuradio, gnuradio-devel: build fails from missing symbols

Reported by: sprhawk@… Owned by: michaelld (Michael Dickens)
Priority: Normal Milestone:
Component: ports Version: 2.3.1
Keywords: Cc:
Port: gnuradio gnuradio-devel

Description

It reported as

:info:build Undefined symbols for architecture x86_64:
:info:build   "_codec2_bits_per_frame", referenced from:
:info:build       gr::vocoder::codec2_decode_ps::make(int) in codec2_decode_ps_impl.cc.o
:info:build       gr::vocoder::codec2_encode_sp::make(int) in codec2_encode_sp_impl.cc.o
:info:build   "_codec2_samples_per_frame", referenced from:
:info:build       gr::vocoder::codec2_decode_ps::make(int) in codec2_decode_ps_impl.cc.o
:info:build       gr::vocoder::codec2_encode_sp::make(int) in codec2_encode_sp_impl.cc.o
:info:build ld: symbol(s) not found for architecture x86_64
:info:build clang: error: linker command failed with exit code 1 (use -v to see invocation)
:info:build make[2]: *** [gr-vocoder/lib/libgnuradio-vocoder.3.7.5git.dylib] Error 1

OS: 10.9.4 port: 2.3.1

I have tried the methods in #41162 but no lucky with:

sudo port install clang-3.4
sudo port install gnuradio configure.compiler=macports-clang-3.4    # tried both gnuradio or gnuradio-devel

}}}

Attachments (2)

main.log.zip (79.5 KB) - added by sprhawk@… 10 years ago.
main.log (2.5 MB) - added by sprhawk@… 10 years ago.

Change History (9)

Changed 10 years ago by sprhawk@…

Attachment: main.log.zip added

Changed 10 years ago by sprhawk@…

Attachment: main.log added

comment:1 Changed 10 years ago by sprhawk@…

Hardware: 15" macbook pro with Retina Model:A1398

unmae -a:

root:xnu-2422.110.17~1/RELEASE_X86_64 x86_64

sysctl machdep.cpu.brand_string machdep.cpu.features machdep.cpu.brand_string

machdep.cpu.brand_string: Intel(R) Core(TM) i7-4850HQ CPU @ 2.30GHz machdep.cpu.features: FPU VME DE PSE TSC MSR PAE MCE CX8 APIC SEP MTRR PGE MCA CMOV PAT PSE36 CLFSH DS ACPI MMX FXSR SSE SSE2 SS HTT TM PBE SSE3 PCLMULQDQ DTES64 MON DSCPL VMX SMX EST TM2 SSSE3 FMA CX16 TPR PDCM SSE4.1 SSE4.2 x2APIC MOVBE POPCNT AES PCID XSAVE OSXSAVE SEGLIM64 TSCTMR AVX1.0 RDRAND F16C machdep.cpu.brand_string: Intel(R) Core(TM) i7-4850HQ CPU @ 2.30GHz

Version 0, edited 10 years ago by sprhawk@… (next)

comment:2 Changed 10 years ago by sprhawk@…

I don't know why , but I check through the gnuradio build source of port, I see that the lib/gr-vocoder/lib/codec2.cc is compiled to codec2.o but lib/-gr-vocoder/lib/codec2/codec2.c not. And the is nothing (not absolute nothing:

#ifdef HAVE_CONFIG_H
#include <config.h>
#endif

#include <gnuradio/vocoder/codec2.h>

namespace gr {
  namespace vocoder {

  } /* namespace vocoder */
} /* namespace gr */

)in codec2.cc file, and the missing method is in codec2.c source file

Last edited 10 years ago by sprhawk@… (previous) (diff)

comment:3 Changed 10 years ago by larryv (Lawrence Velázquez)

Keywords: gnuradio removed
Owner: changed from macports-tickets@… to michaelld@…
Summary: Failed to install (build) gnuradio or gnuradio-develgnuradio, gnuradio-devel: build fails from missing symbols

Thanks for the report. In future tickets, please Cc relevant port maintainers (e.g., port info --maintainers gnuradio)

comment:4 in reply to:  3 Changed 10 years ago by sprhawk@…

Replying to larryv@…:

Thanks for the report. In future tickets, please Cc relevant port maintainers (e.g., port info --maintainers gnuradio)

OK, thanks. I'm new to port tickets.

comment:5 Changed 10 years ago by michaelld (Michael Dickens)

Can you do:

sudo port clean gnuradio*

then try installing gnuradio-devel (either with macports-clang-3.4 or without). If that fails, then post the compressed logfile (again).

I tried on 10.8 using the default compiler as well as macports-clang-3.4 and both worked just fine.

comment:6 in reply to:  5 Changed 10 years ago by sprhawk@…

Replying to michaelld@…:

Can you do:

sudo port clean gnuradio*

then try installing gnuradio-devel (either with macports-clang-3.4 or without). If that fails, then post the compressed logfile (again).

I tried on 10.8 using the default compiler as well as macports-clang-3.4 and both worked just fine.

I know what's my problem. I installed libcodec2 from source code about one year ago, and build script excluded the internal libcodec2(may be a bit newer source) inside gnuradio source code (maybe some bug of the build scripts) and the linker could not find the symbol from the object file.

So I just remove all the old libcodec2 lib / headers from my system /usr/local and

sudo port clean gnuradio*
sudo port install gnuradio

just work !

comment:7 Changed 10 years ago by michaelld (Michael Dickens)

Resolution: invalid
Status: newclosed

Ah; OK. Thanks for getting back about that. I'll look into changing the GR build script to detect this condition.

Note: See TracTickets for help on using tickets.