Hi Ron, That’s a great pointer, thanks. I hadn’t noticed that gr-fec also uses gsl.
Looking at the CMake config for gr-fec I can see where it adds the path for libgsl, however, the path definition appears to be missing from the gr-dtv and gr-atsc configs. So while the link command for gr-fec includes "-L/opt/local/lib” to define where to find libgsl, the link commands for gr-atsc and gr-dtv do not and the link fails. Here’s the link command CMake spit out for gr-dtv swig: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/c++ -std=c++98 -O2 -g -DNDEBUG -bundle -Wl,-headerpad_max_install_names -o _dtv_swig.so CMakeFiles/_dtv_swig.dir/dtv_swigPYTHON_wrap.cxx.o /opt/local/Library/Frameworks/Python.framework/Versions/2.7/Python ../lib/libgnuradio-dtv.3.7.11git.dylib ../../gr-analog/lib/libgnuradio-analog.3.7.11git.dylib ../../gr-filter/lib/libgnuradio-filter.3.7.11git.dylib ../../gr-fft/lib/libgnuradio-fft.3.7.11git.dylib /opt/local/lib/libfftw3f.dylib /opt/local/lib/libfftw3f_threads.dylib ../../gr-fec/lib/libgnuradio-fec.3.7.11git.dylib ../../gr-blocks/lib/libgnuradio-blocks.3.7.11git.dylib ../../gnuradio-runtime/lib/libgnuradio-runtime.3.7.11git.dylib ../../gnuradio-runtime/lib/pmt/libgnuradio-pmt.3.7.11git.dylib /opt/local/lib/libboost_date_time-mt.dylib /opt/local/lib/libboost_program_options-mt.dylib /opt/local/lib/libboost_filesystem-mt.dylib /opt/local/lib/libboost_system-mt.dylib /opt/local/lib/libboost_regex-mt.dylib /opt/local/lib/libboost_thread-mt.dylib /opt/local/lib/libboost_chrono-mt.dylib /opt/local/lib/libboost_atomic-mt.dylib /opt/local/lib/liblog4cpp.dylib -lgsl -lgslcblas -lm ../../volk/lib/libvolk.1.3.dylib /opt/local/lib/liborc-0.4.dylib -Wl,-rpath,/Users/brian/Projects/gnuradio/test/lib I can’t really figure why this builds for anyone else. Am I missing something? -brian > On Oct 19, 2016, at 10:21 PM, Ron Economos <w...@comcast.net> wrote: > > For the gr-dtv issue, it's probably because gr-dtv needs gr-fec for the > Reed-Solomon encoder and decoder. But gr-fec needs libgsl for the LDPC stuff. > > If you look at the cmake output, it checks for libgsl right before > configuring gr-fec. On my Ubuntu 16.04 box, it looks like this. > > -- Checking for module 'gsl >= 1.10' > -- Found gsl , version 2.1 > -- Found GSL: gsl;gslcblas;m > -- > -- Configuring gr-fec support... > -- Dependency ENABLE_VOLK = ON > -- Dependency Boost_FOUND = 1 > -- Dependency ENABLE_GNURADIO_RUNTIME = ON > -- Dependency ENABLE_GR_BLOCKS = ON > -- Dependency GSL_FOUND = TRUE > -- Enabling gr-fec support. > -- Override with -DENABLE_GR_FEC=ON/OFF > > You might as well leave gr-atsc disabled. All of it's functionality has been > replicated in gr-dtv, and it's going away in Gnu Radio 3.8. > > Ron > > On 10/19/2016 03:13 PM, Brian Cuthie wrote: >> Greetings, >> >> After a few failures, I’ve been able to build gnuradio from source using >> pybombs on a Mac. But I ran into a some issues that I’m hoping someone can >> share their wisdom on. >> >> In no particular order: >> >> 1) gr-dtv and gr-atsc fail trying to link to libgsl. >> >> The libraries are installed, but there doesn’t seem to be any relevant path >> information on the link command line. I suspect this is a cmake >> configuration error, but I’m still finding my way around cmake and haven’t >> yet even been able to see where the cmake configuration requires gsl for >> those modules. >> >> I had to temporarily exclude gr-dtv and gr-atsc by adding the following to >> config_opt in the gnuradio.lwr recipe file: >> >> -DENABLE_GR_DTV=0 >> -DENABLE_GR_ATSC=0 >> >> 2) On a successful build, gnuradio-companion crashed miserably because >> everything was not linked to the same python interpreter. Adding specific >> path definitions to the recipe fixed that problem. >> >> -DPYTHON_EXECUTABLE=/opt/local/bin/python2.7 >> >> -DPYTHON_INCLUDE_DIR=/opt/local/Library/Frameworks/Python.framework/Versions/2.7/Headers >> >> -DPYTHON_LIBRARY=/opt/local/Library/Frameworks/Python.framework/Versions/2.7/Python >> -DSPHINX_EXECUTABLE=/opt/local/bin/rst2html-2.7.py). >> >> I can see where this is a mac specific issue because with ports we end up >> with competing python interpreters (the one supplied with the system, and >> the one used by ports in /opt). Perhaps there’s a solution in cmake or a >> conditional configuration directive might be a useful enhancement to pybombs. >> >> 3) Thrift failed to build because it wanted to link to a static version of >> some boost libraries. But the default port install of boost doesn’t include >> the static version of its libraries. So I had to pre-install boost with the >> “-no_static” option. Again, this is a Mac specific thing. But a conditional >> directive in pybombs recipes might also help here. >> >> Any advice is welcome. Thanks in advance. >> >> -brian >> >> >> >> >> _______________________________________________ >> Discuss-gnuradio mailing list >> Discuss-gnuradio@gnu.org >> https://lists.gnu.org/mailman/listinfo/discuss-gnuradio > > > _______________________________________________ > Discuss-gnuradio mailing list > Discuss-gnuradio@gnu.org > https://lists.gnu.org/mailman/listinfo/discuss-gnuradio _______________________________________________ Discuss-gnuradio mailing list Discuss-gnuradio@gnu.org https://lists.gnu.org/mailman/listinfo/discuss-gnuradio