... /usr/bin/strip /tmp/ports/usr/ports/comms/gnuradio/work/stage/usr/local/lib/libgnuradio-qtgui.so.3.7.8 /usr/bin/strip /tmp/ports/usr/ports/comms/gnuradio/work/stage/usr/local/lib/libgnuradio-runtime.so.3.7.8 /usr/bin/strip /tmp/ports/usr/ports/comms/gnuradio/work/stage/usr/local/lib/libgnuradio-trellis.so.3.7.8 /usr/bin/strip /tmp/ports/usr/ports/comms/gnuradio/work/stage/usr/local/lib/libgnuradio-video-sdl.so.3.7.8 /usr/bin/strip /tmp/ports/usr/ports/comms/gnuradio/work/stage/usr/local/lib/libgnuradio-vocoder.so.3.7.8 /usr/bin/strip /tmp/ports/usr/ports/comms/gnuradio/work/stage/usr/local/lib/libgnuradio-wavelet.so.3.7.8 /usr/bin/strip /tmp/ports/usr/ports/comms/gnuradio/work/stage/usr/local/lib/libgnuradio-wxgui.so.3.7.8 /usr/bin/strip: '/tmp/ports/usr/ports/comms/gnuradio/work/stage/usr/local/lib/libgnuradio-wxgui.so.3.7.8': No such file *** Error code 1 Stop. make[2]: stopped in /usr/ports/comms/gnuradio *** Error code 1 Stop. make[1]: stopped in /usr/ports/comms/gnuradio *** Error code 1 Stop. make: stopped in /usr/ports/comms/gnuradio Exit 1
(In reply to rozhuk.im from comment #0) Try the patch. https://bz-attachments.freebsd.org/attachment.cgi?id=171189
better, but still fail: .... Scanning dependencies of target gnuradio-wavelet [ 73%] Building CXX object gr-wavelet/lib/CMakeFiles/gnuradio-wavelet.dir/squash_ff_impl.cc.o [ 73%] Building CXX object gr-wavelet/lib/CMakeFiles/gnuradio-wavelet.dir/wavelet_ff_impl.cc.o [ 73%] Building CXX object gr-filter/lib/CMakeFiles/gnuradio-filter.dir/interp_fir_filter_ccf_impl.cc.o [ 73%] Building CXX object gr-wavelet/lib/CMakeFiles/gnuradio-wavelet.dir/wvps_ff_impl.cc.o [ 74%] Building CXX object gr-filter/lib/CMakeFiles/gnuradio-filter.dir/interp_fir_filter_fcc_impl.cc.o [ 74%] Linking CXX shared library libgnuradio-wavelet.so [ 74%] Built target gnuradio-wavelet [ 74%] Building CXX object gr-filter/lib/CMakeFiles/gnuradio-filter.dir/interp_fir_filter_fff_impl.cc.o Scanning dependencies of target _fec_swig [ 74%] Building CXX object gr-fec/swig/CMakeFiles/_fec_swig.dir/fec_swigPYTHON_wrap.cxx.o In file included from /tmp/ports/usr/ports/comms/gnuradio/work/.build/gr-fec/swig/fec_swigPYTHON_wrap.cxx:4766: In file included from /tmp/ports/usr/ports/comms/gnuradio/work/gnuradio-3.7.9.2/gr-fec/include/gnuradio/fec/polar_decoder_sc.h:28: /tmp/ports/usr/ports/comms/gnuradio/work/gnuradio-3.7.9.2/gr-fec/include/gnuradio/fec/polar_decoder_common.h:71:47: warning: in-class initializer for static data member of type 'const float' is a GNU extension [-Wgnu-static-float-init] static BOOST_CONSTEXPR_OR_CONST float D_LLR_FACTOR = -2.19722458f; ^ ~~~~~~~~~~~~ [ 74%] Building CXX object gr-filter/lib/CMakeFiles/gnuradio-filter.dir/interp_fir_filter_fsf_impl.cc.o [ 74%] Building CXX object gr-filter/lib/CMakeFiles/gnuradio-filter.dir/interp_fir_filter_scc_impl.cc.o [ 74%] Building CXX object gr-filter/lib/CMakeFiles/gnuradio-filter.dir/rational_resampler_base_ccc_impl.cc.o [ 74%] Building CXX object gr-filter/lib/CMakeFiles/gnuradio-filter.dir/rational_resampler_base_ccf_impl.cc.o [ 74%] Building CXX object gr-filter/lib/CMakeFiles/gnuradio-filter.dir/rational_resampler_base_fcc_impl.cc.o [ 74%] Building CXX object gr-filter/lib/CMakeFiles/gnuradio-filter.dir/rational_resampler_base_fff_impl.cc.o [ 74%] Building CXX object gr-filter/lib/CMakeFiles/gnuradio-filter.dir/rational_resampler_base_fsf_impl.cc.o 1 warning generated. [ 74%] Linking CXX shared module _fec_swig.so /usr/bin/ld: cannot find -lgsl clang++: error: linker command failed with exit code 1 (use -v to see invocation) --- gr-fec/swig/_fec_swig.so --- *** [gr-fec/swig/_fec_swig.so] Error code 1 make[5]: stopped in /tmp/ports/usr/ports/comms/gnuradio/work/.build 1 error make[5]: stopped in /tmp/ports/usr/ports/comms/gnuradio/work/.build --- gr-fec/swig/CMakeFiles/_fec_swig.dir/all --- *** [gr-fec/swig/CMakeFiles/_fec_swig.dir/all] Error code 2 make[4]: stopped in /tmp/ports/usr/ports/comms/gnuradio/work/.build A failure has been detected in another branch of the parallel make make[5]: stopped in /tmp/ports/usr/ports/comms/gnuradio/work/.build --- gr-filter/lib/CMakeFiles/gnuradio-filter.dir/all --- *** [gr-filter/lib/CMakeFiles/gnuradio-filter.dir/all] Error code 2 make[4]: stopped in /tmp/ports/usr/ports/comms/gnuradio/work/.build 2 errors make[4]: stopped in /tmp/ports/usr/ports/comms/gnuradio/work/.build *** [all] Error code 2 make[3]: stopped in /tmp/ports/usr/ports/comms/gnuradio/work/.build 1 error make[3]: stopped in /tmp/ports/usr/ports/comms/gnuradio/work/.build ===> Compilation failed unexpectedly. Try to set MAKE_JOBS_UNSAFE=yes and rebuild before reporting the failure to the maintainer. *** Error code 1 Stop. make[2]: stopped in /usr/ports/comms/gnuradio *** Error code 1 Stop. make[1]: stopped in /usr/ports/comms/gnuradio *** Error code 1 Stop. make: stopped in /usr/ports/comms/gnuradio Exit 1 gsl - GNU Scientific Library - installed, 1.16
Latest update to gnuradio 3.7.9.2 should take care of this. Thanks to @takefu for help with patches
FreeBSD 11.0 Stable (revision 307683). gnuradio-3.7.9.2 (revision r423657) I can report that the -lgsl problem still persists. It appears that when -lgsl appears in the creation of a .so (several places) via an invocation of /usr/bin/c++, the directory /usr/local/lib/ is not referenced since it is not part of the default clang specs, hence -lgsl (libgsl.so) is not found. (see c++ --print-search-dirs). I was able to force through the build with a terrible kludge: I added SET(CMAKE_CXX_FLAGS = "${CMAKE_CXX_FLAGS} -L/usr/local/lib") to the top level CMakefile.txt One gets a number of "unused flags" warnings, but this works. Maybe someone with an understanding of how cmake works will find a real fix. I can also report that the "libgcc.so.1 not found" error still persists. Using: LD_LIBRARY_PATH=/usr/local/lib/gcc48 gnuradio-companion will get that program to execute.
I've finally had some time to look at this. I understand the cmake system here a bit but I think your fix is good enough. I also have a idea to solve the wrong libgcc_s problem. Stay tuned.
A commit references this bug: Author: db Date: Mon Dec 26 18:28:46 UTC 2016 New revision: 429562 URL: https://svnweb.freebsd.org/changeset/ports/429562 Log: Bump PORT_REVISION as pkg-plist has changed. Fixed build on 10.1 but in the process found a bogus pkg-plist fixed. If DOCS was defined, the plist was wrong. Also cleaned up a dependency Fixed using https://cmake.org/cmake/help/v3.0/command/link_directories.html This shouldn't be necessary: "Note that this command is rarely necessary. Library locations returned by find_package() and find_library() are absolute paths. Pass these absolute library file paths directly to the target_link_libraries() command. CMake will ensure the linker finds them." The directory path appears to be in /usr/local/libdata/pkgconfig/gsl.pc so it would appear the swig handling code neglects to respect this. I'll dig into this sometime later. PR: ports/210444 Submitted by: rozhuk.im@gmail.com Changes: head/comms/gnuradio/Makefile head/comms/gnuradio/files/patch-CMakeLists.txt head/comms/gnuradio/files/patch-grc_scripts_gnuradio-companion head/comms/gnuradio/files/patch-volk_CMakeLists.txt head/comms/gnuradio/pkg-plist
Note the problem with wrong libgcc_s is a deeper problem elsewhere. One suggested solution is to use LD_PRELOAD or LD_LIBRARY_PATH. man rtld.