gnuradio / pybombs

PyBOMBS (Python Build Overlay Managed Bundle System) is the GNU Radio install management system for resolving dependencies and pulling in out-of-tree projects.
https://gnuradio.org
GNU General Public License v3.0
414 stars 189 forks source link

GNURadio 3.8 inPyBombs fails to build on Ubuntu 20.04 #573

Closed cyrus104 closed 3 years ago

cyrus104 commented 4 years ago

Good day,

I understand that Ubuntu 20.04 is still in beta but we are starting to move several project over to the new LTS, we expect a lot of testing will be needed and need to start working through the issues with the release being so close.

We are running into build issues when install pybombs and initializing it. It looks like the issues start with pygtk and then continue from there.

Install command: sudo pip3 install --upgrade git+https://github.com/gnuradio/pybombs.git pybombs auto-config pybombs recipes add-defaults pybombs prefix init ~/sdr -R gnuradio-default -a master

[INFO] Executing command with elevated privileges: sudo -H pip3 install PyGTK' Collecting PyGTK Downloading pygtk-2.24.0.tar.bz2 (2.4 MB) ERROR: Command errored out with exit status 1: command: /usr/bin/python3 -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'/tmp/pip-install-7wfymupz/PyGTK/setup.py'"'"'; file='"'"'/tmp/pip-install-7wfymupz/PyGTK/setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(file);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, file, '"'"'exec'"'"'))' egg_info --egg-base /tmp/pip-install-7wfymupz/PyGTK/pip-egg-info cwd: /tmp/pip-install-7wfymupz/PyGTK/ Complete output (4 lines):

Building PyGTK using distutils is only supported on windows. To build PyGTK in a supported way, read the INSTALL file.

ERROR: Command errored out with exit status 1: python setup.py egg_info Check the logs for full command output.

checking for PYGOBJECT... no configure: error: Package requirements (pygobject-2.0 >= 2.21.3) were not met: No package 'pygobject-2.0' found Consider adjusting the PKG_CONFIG_PATH environment variable if you installed software in a non-standard prefix. Alternatively, you may set the environment variables PYGOBJECT_CFLAGS and PYGOBJECT_LIBS to avoid the need to call pkg-config. See the pkg-config man page for more details. [ERROR] Configuration failed after running at least twice. [ERROR] Problem occurred while building package pygtk: Configuration failed [ERROR] Error installing package pygtk. Aborting.

argilo commented 4 years ago

I got the same error when trying to build on Ubuntu 20.04, and was able to get past it by deleting the - pygtk line from ~/.pybombs/recipes/gr-recipes/gnuradio.lwr. I also had to change the PYTHONPATH line in prefix/setup_env.sh to the following:

export PYTHONPATH="/home/argilo/prefix_38/lib/python3.8/site-packages:/home/argilo/prefix_38/lib/python3.8/dist-packages:/home/argilo/prefix_38/lib/python3/site-packages:/home/argilo/prefix_38/lib/python3/dist-packages:$PYTHONPATH"

argilo commented 4 years ago

Also I noticed that the gqrx recipe attempts to build qt4 from source; removing the - qt4 line from ~/.pybombs/recipes/gr-recipes/gqrx.lwr fixed that.

rowb1 commented 4 years ago

Worked for me. Linux Ubuntu-20 5.4.0-40-generic #44-Ubuntu SMP Tue Jun 23 00:01:04 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux

nano ~/.pybombs/recipes/gr-recipes/gnuradio.lwr

remove old files from faulty builds before remaking

pybombs prefix init ~/gr38 -R gnuradio-default

depends: ...

qwrd commented 4 years ago

@argilo I tried to build this recently on Kali rolling, and hit that same bug about qt4. Manually removing qt4 dependency from gqrx.lrw fixed the issue.

maximlomans commented 4 years ago

same issue but i just checked out the setup.env.sh script and noticed that python2 is what it requires Ubuntu 20.04 defaults to python3.8

setup_env.sh "# WARNING: This file is auto-generated by pybombs, any manual changes to it may be overwritten! export PATH="/usr/local/bin:$PATH" export PYTHONPATH="/usr/local/python:/usr/local/lib/python2.6/site-packages:/usr/local/lib64/python2.6/site-packages:/usr/local/lib/python2.6/dist-packages:/usr/local/lib64/python2.6/dist-packages:/usr/local/lib/python2.7/site-packages:/usr/local/lib64/python2.7/site-packages:/usr/local/lib/python2.7/dist-packages:/usr/local/lib64/python2.7/dist-packages:$PYTHONPATH" export LD_LIBRARY_PATH="/usr/local/lib:/usr/local/lib64/:$LD_LIBRARY_PATH" export LIBRARY_PATH="/usr/local/lib:/usr/local/lib64/:$LIBRARY_PATH" export PKG_CONFIG_PATH="/usr/local/lib/pkgconfig:/usr/local/lib64/pkgconfig:$PKG_CONFIG_PATH" export PYBOMBS_PREFIX="/usr/local" "# If we're in a Python virtualenv, activate that" if [ -r /usr/local/bin/activate ]; then source /usr/local/bin/activate fi " hence the PYTHONPATH in the script needs adjusting or install python2 & Co. but yet another issue i encountered was when pulling the recipe i was asked for github credentials - mine unless first forked, i assume wouldn't work

maximlomans commented 4 years ago

it worked , the setup_env.sh , ran issues with the build after 10hrs on VBox 3Gbram 2cpu - and yes i did fork them to use my creds - installed. deps and i'll give the build another run -qt4 updated script shows depends -qt5 in gqrx.lwr either way qt5-make is installed , so it can't be the issue

argilo commented 3 years ago

Closing, as this was fixed in https://github.com/gnuradio/gr-recipes/pull/186.