discuss-gnuradio
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Discuss-gnuradio] Building gnuradio with Pybombs on MacOSX


From: Peter Horvath
Subject: Re: [Discuss-gnuradio] Building gnuradio with Pybombs on MacOSX
Date: Sun, 23 Oct 2016 09:37:05 +0200

Hi,

I'm experiencing the same problem for a long time with homebrew, and I'm not using pybombs.
You need to amend e.g., gr-dtv/swig/CMakeLists.txt so that
set(GR_SWIG_LIBRARIES gnuradio-dtv)
becomes
set(GR_SWIG_LIBRARIES gnuradio-dtv ${GSL_LDFLAGS})

and in gr-dtv/CMakeLists.txt, the GR_REGISTER_COMPONENT section should probably also contain GSL_FOUND.

Strangely, the command line below suggests that the static version will be used as opposed to the dylib version as for every other dependency. I'm not sure if this might be an issue.

BTW homebrew has introduced gsl version 2 a couple of weeks ago and the gsl1 recipe is now called, well, gsl1. I didn't try if gsl v2 works with gnuradio.
Best regards,
Peter



---------- Forwarded message ----------
From: Brian Cuthie <address@hidden>
To: "address@hidden" <address@hidden>
Cc: 
Date: Sat, 22 Oct 2016 22:12:19 +0000
Subject: Re: [Discuss-gnuradio] Building gnuradio with Pybombs on MacOSX

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 <address@hidden> 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
>> address@hidden
>> https://lists.gnu.org/mailman/listinfo/discuss-gnuradio
>
>
> _______________________________________________
> Discuss-gnuradio mailing list
> address@hidden
> https://lists.gnu.org/mailman/listinfo/discuss-gnuradio



reply via email to

[Prev in Thread] Current Thread [Next in Thread]