discuss-gnuradio
[Top][All Lists]
Advanced

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

Re: [Discuss-gnuradio] 3.8.0.0-rc2 build from source on macOS


From: Jarl Nicolson
Subject: Re: [Discuss-gnuradio] 3.8.0.0-rc2 build from source on macOS
Date: Mon, 12 Aug 2019 22:05:54 +1000

Hi,

I've been attempting the same activity, though with my tiny understanding of how it all works i'm getting stuck pretty quickly!  I made notes about what i've done so far in case it helps anyone else.

I also use homebrew and have come up with the following package requirements:

python3
cmake
swig
boost
log4cpp
gmp
mpir
fftw
gsl
zeromq
uhd
doxygen
gtk+3
gnome-icon-theme
qt
qwt

I also had to manually install cppzmq as Homebrew wouldn't accept a formula (header only)
git clone https://github.com/zeromq/cppzmq.git && cd cppzmq && mkdir build && cd build && cmake -DENABLE_DRAFTS=OFF .. && sudo make -j4 install

Next I installed the various pip packages, but found before I rand it I had to have the following for something to correctly compile/install (sorry can't recall what!  Should have made better notes):
export PKG_CONFIG_PATH="/usr/local/opt/libffi/lib/pkgconfig"

.. and then installed the following PIP packages (for python3 installed via homebrew, via pip3 install)
six
mako
pyyaml
numpy
click
click-plugins
pygobject3
pyqt5

Next, to fix an issue with libraries installed via homebrew not linking properly on macOS 10.14 I aded the following into the root CMakeLists.txt:

IF(APPLE)
    # Fix linking on 10.14+. See https://stackoverflow.com/questions/54068035
    LINK_DIRECTORIES(/usr/local/lib)
ENDIF()

Next to get cmake to find the brew installed qwt properly, I modified cmake/Modules/FindQwt.cmake, and added 'qwt' to NAME for QWT_LIBRARIES (brew qwt package installs it as just 'qwt' but the cmake find file looks for qwt6-qt5, qwt-qt5).  Looks like theres a PR in which would fix this: https://github.com/gnuradio/gnuradio/pull/2545

With all of that done, gnuradio 3.8 builds and installs correctly, but I still got the drag and drop issue.  I fixed that with changes to grc/gui/BlockTreeWindow.py - as seen in the following gist (though i'm not sure if there are other negative affects):
https://gist.github.com/jnicolson/dbd20c02d6d213d35a6ed80f9fc29b74/revisions?diff=unified#diff-6a1eb3d7255b1b4d3905633ca42a5992

After that drag and drop works so progress.  Next I had an issue with an OS level crash related to GTK, but it seems to be gone with 3.8.0 release (I was previously testing on master and I can't see any commits related to GTK so i'm not 100% sure why the error was gone).  The crash happened when I tried to connect any blocks together and I somewhat narrowed that one down to redrawing when the mouse is released.  By commenting the following line, the crash was avoided but the connection doesn't work correctly: https://github.com/gnuradio/gnuradio/blob/d50e7b504e1482b1589d9f31a9327feae00e3fb5/grc/gui/canvas/flowgraph.py#L737.  A bit academic now as it's all working ok - I might rebuild my MacOS VM and start from scratch in case something else fixed it.

Next problem is a bit beyond my understanding of libraries and why PyQt has installed a full copy of Qt libraries and how to make it pick or the other - when I try to run a graph I get errors like:

bjc[17061]: Class QMacAutoReleasePoolTracker is implemented in both /usr/local/lib/python3.7/site-packages/PyQt5/Qt/lib/QtCore.framework/Versions/5/QtCore (0x120d805a0) and /usr/local/Cellar/qt/5.13.0/lib/QtCore.framework/Versions/5/QtCore (0x12940f5b0). One of the two will be used. Which one is undefined.

I'd love to have it working, so if there's anything I can do to help test i'm happy to participate!  Hope this helps someone smarter than me!

Regards,
Jarl Nicolson

On Mon, 12 Aug 2019 at 22:03, Michael Dickens <address@hidden> wrote:


reply via email to

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