Bug 202143 - comms/gnuradio: gnuradio 3.7.7.1 boost linking error
Summary: comms/gnuradio: gnuradio 3.7.7.1 boost linking error
Status: Closed FIXED
Alias: None
Product: Ports & Packages
Classification: Unclassified
Component: Individual Port(s) (show other bugs)
Version: Latest
Hardware: Any Any
: --- Affects Many People
Assignee: hamradio (Nobody)
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2015-08-06 20:54 UTC by Nick Wolff
Modified: 2016-02-09 11:29 UTC (History)
6 users (show)

See Also:
rakuco: maintainer-feedback-


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Nick Wolff 2015-08-06 20:54:32 UTC
gnuradio 3.7.7.1 is not building. Looks like an linking error with boost. I have not been able to find a fix yet. It doesn't appear the FREEBSD repo pkg ever successfully built 3.7.71. I confirmed this on my local 11 current machine.

I reversed the last merge ( r392951)and it successfully builds with poudriere on my local machine (11-current)

I will look into this more and try to submit a patch if I have free time.


http://beefy6.nyi.freebsd.org/data/101amd64-default/393627/logs/errors/gnuradio-3.7.7.1.log 

  cd /wrkdirs/usr/ports/comms/gnuradio/work/.build/volk/apps && /usr/local/bin/cmake -E cmake_link_script CMakeFiles/volk-config-info.dir/link.txt --verbose=1
/usr/local/bin/g++48   -O2 -pipe -DLIBICONV_PLUG -fstack-protector -Wl,-rpath=/usr/local/lib/gcc48 -fno-strict-aliasing  -DLIBICONV_PLUG -Wl,-rpath=/usr/local/lib/gcc48 -fvisibility=hidden -Wsign-compare -Wall -Wno-uninitialized -O2 -pipe -DLIBICONV_PLUG -fstack-protector -Wl,-rpath=/usr/local/lib/gcc48 -fno-strict-aliasing  -DLIBICONV_PLUG -Wl,-rpath=/usr/local/lib/gcc48   -fstack-protector -Wl,-rpath=/usr/local/lib/gcc48 -L/usr/local/lib/gcc48 CMakeFiles/volk-config-info.dir/volk-config-info.cc.o  -o volk-config-info  ../lib/libvolk.so.1.0 /usr/local/lib/libboost_filesystem.so /usr/local/lib/libboost_system.so /usr/local/lib/libboost_unit_test_framework.so /usr/local/lib/libboost_program_options.so /usr/local/lib/liborc-0.4.so -Wl,-rpath,/wrkdirs/usr/ports/comms/gnuradio/work/.build/volk/lib:/usr/local/lib: 
CMakeFiles/volk-config-info.dir/volk-config-info.cc.o: In function `std::vector<std::string, std::allocator<std::string> > boost::program_options::to_internal<std::string>(std::vector<std::string, std::allocator<std::string> > const&)':
volk-config-info.cc:(.text._ZN5boost15program_options11to_internalISsEESt6vectorISsSaISsEERKS2_IT_SaIS5_EE[_ZN5boost15program_options11to_internalISsEESt6vectorISsSaISsEERKS2_IT_SaIS5_EE]+0x8c): undefined reference to `boost::program_options::to_internal(std::string const&)'
CMakeFiles/volk-config-info.dir/volk-config-info.cc.o: In function `main':
volk-config-info.cc:(.text.startup+0x51): undefined reference to `boost::program_options::options_description::options_description(std::string const&, unsigned int, unsigned int)'
volk-config-info.cc:(.text.startup+0x256): undefined reference to `boost::program_options::detail::cmdline::cmdline(std::vector<std::string, std::allocator<std::string> > const&)'
volk-config-info.cc:(.text.startup+0x36e): undefined reference to `boost::program_options::detail::cmdline::set_additional_parser(boost::function1<std::pair<std::string, std::string>, std::string const&>)'
volk-config-info.cc:(.text.startup+0x49a): undefined reference to `boost::program_options::operator<<(std::ostream&, boost::program_options::options_description const&)'
volk-config-info.cc:(.text.startup+0xa58): undefined reference to `boost::program_options::operator<<(std::ostream&, boost::program_options::options_description const&)'
collect2: error: ld returned 1 exit status
*** Error code 1
Comment 1 Nick Wolff 2015-08-07 16:14:13 UTC
Adding takefu@airport fm since they submitted the 3.7.7.1 patch in  pr196491
Comment 2 Raphael Kubo da Costa freebsd_committer freebsd_triage 2015-09-05 15:25:23 UTC
This one's caused by USE_GCC=yes even on systems where clang is the default compiler, as boost is likely built with clang and libc++ and gnuradio is trying to use libstdc++.

bug 196491 worked because it had USES=compiler:c11 there instead of USE_GCC=yes. I'll send a patch for this.
Comment 3 Raphael Kubo da Costa freebsd_committer freebsd_triage 2015-09-05 15:36:10 UTC
Sent https://reviews.freebsd.org/D3574
Comment 4 Kurt Jaeger freebsd_committer freebsd_triage 2016-02-09 06:28:27 UTC
Is this solved with

https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=203500

?
Comment 5 Raphael Kubo da Costa freebsd_committer freebsd_triage 2016-02-09 11:29:31 UTC
I think so. I don't recall the details any longer, but, from what I said in review D3574, ports r398562 (coming from that bug) does fix the issue.