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 <michael.dick...@ettus.com>
wrote:

>
>
_______________________________________________
Discuss-gnuradio mailing list
Discuss-gnuradio@gnu.org
https://lists.gnu.org/mailman/listinfo/discuss-gnuradio

Reply via email to