Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Small fixes #20

Merged
merged 9 commits into from
May 8, 2017
Merged

Small fixes #20

merged 9 commits into from
May 8, 2017

Conversation

dholl
Copy link
Contributor

@dholl dholl commented May 4, 2017

Hello! Thank you for your effort in getting a non-macports installation of GNURadio! And may I lend a hand?

I attempted build.sh on my OS X Sierra laptop, and hit a few small snags, and figured I could lend a hand. I'll let the set of small commits in my fork describe themselves. Most of the tweaks are small fixes, such as removing a stray "x", and clearing a BRANCH variable. Also my system already has Python 2.7, but installed in /System.

Additionally, I was hoping to set a different location beside /Applications/GNURadio.app --- in my case, I'd like to build it to $HOME/Applications/GNURadio.app, so I fixed up a couple other things, to enable changing APP_DIR via this usage:

APP_DIR="${HOME}/Applications/GNURadio.app" sh build.sh

Feel free to cherry pick or use whatever commits you feel appropriate.

Anyhow, I'm getting very close to being able to reproduce your work on my system now, but I've hit a snag with PyQt compiler errors:

/Users/dholl/Desktop/Installers/gnuradio-for-mac-without-macports/tmp/PyQt4_gpl_x11-4.12/QtGui/sipQtGuicmodule.cpp:9907:13: error: use of undeclared identifier 'qRegisterDraggedTypes'
            qRegisterDraggedTypes(*a0);
            ^
/Users/dholl/Desktop/Installers/gnuradio-for-mac-without-macports/tmp/PyQt4_gpl_x11-4.12/sip/QtGui/qapplication.sip:666:10: error: use of undeclared identifier 'sipName_QX11EmbedContainer'
        {sipName_QX11EmbedContainer, &sipType_QX11EmbedContainer, -1, 74},
         ^
/Users/dholl/Desktop/Installers/gnuradio-for-mac-without-macports/tmp/PyQt4_gpl_x11-4.12/sip/QtGui/qapplication.sip:666:39: error: g++ -c -pipe -fPIC -arch x86_64 -O2 -Wall -W -DNDEBUG -DSIP_PROTECTED_IS_PUBLIC -Dprotected=public -DQT_NO_DEBUG -DQT_GUI_LIB -DQT_CORE_LIB -I. -I/Users/dholl/Desktop/Installers/gnuradio-for-mac-without-macports/tmp/PyQt4_gpl_x11-4.12/qpy/QtGui -I/Users/dholl/Applications/GNURadio.app/Contents/MacOS/usr/include -I/System/Library/Frameworks/Python.framework/Versions/2.7/include/python2.7 -I/Users/dholl/Applications/GNURadio.app/Contents/MacOS/usr/mkspecs/default -I/Users/dholl/Applications/GNURadio.app/Contents/MacOS/usr/include/QtGui -I/Users/dholl/Applications/GNURadio.app/Contents/MacOS/usr/include/QtCore -o sipQtGuiQVector0100QLineF.o sipQtGuiQVector0100QLineF.cpp
use of undeclared identifier 'sipType_QX11EmbedContainer'
        {sipName_QX11EmbedContainer, &sipType_QX11EmbedContainer, -1, 74},
                                      ^
/Users/dholl/Desktop/Installers/gnuradio-for-mac-without-macports/tmp/PyQt4_gpl_x11-4.12/sip/QtGui/qapplication.sip:676:10: error: use of undeclared identifier 'sipName_QX11EmbedWidget'
        {sipName_QX11EmbedWidget, &sipType_QX11EmbedWidget, -1, 80},
         ^
/Users/dholl/Desktop/Installers/gnuradio-for-mac-without-macports/tmp/PyQt4_gpl_x11-4.12/sip/QtGui/qapplication.sip:676:36: error: use of undeclared identifier 'sipType_QX11EmbedWidget'
        {sipName_QX11EmbedWidget, &sipType_QX11EmbedWidget, -1, 80},
                                   ^

I don't suppose, would you know of any obvious reason I should get errors like these with PyQt? I figured I'd ping you before I beat my head against a potential deprecation issue on newer OS X versions...

Thank you,
David

@cfriedt
Copy link
Collaborator

cfriedt commented May 7, 2017

Cool - this is great! I'm excited that you've dome some hacking.

I recently just discovered a bug in UHD which is a bit irritating, and I'll need to address it very soon.

For the APP_DIR change, it would probably be ideal to let bash default variable assignment take care of that. In bash, that's typically done using:

FOO="${FOO:-some default value}"

I'll have a look at your patches soon.

Thanks,

C

@cfriedt
Copy link
Collaborator

cfriedt commented May 7, 2017

On a similar note (I almost forgot), the only real limiting factor in putting the app in any arbitrary directory is the need to encode .dylib install_name everywhere.

The current convention is to use @rpath/libfoo.7.dylib, and then use install_name_tool to finalize it e.g. on the first run. It would be hard / impossible with the current dmg drag-n-drop install method to make that happen at install time, but since the program is launched using a script doing so once on first run in the script should be trivial.

That way, users would be able to install to any arbitrary location (although installing to any other arbitrary locations subsequently would also require some work).

Just some thoughts.

C

@cfriedt cfriedt merged commit f865531 into ktemkin:master May 8, 2017
@dholl
Copy link
Contributor Author

dholl commented May 8, 2017

Thanks! At some point, I hope to help look at the rpath / library path issue to support arbitrary locations.

At the moment, I'm just trying to get a working GNURadio Companion on Mac to see if I can use it for prototyping an echolocation idea. :)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants