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
415 stars 190 forks source link

PyBombs fails while building apache-thrift while installing gnuradio #465

Open satin404 opened 7 years ago

satin404 commented 7 years ago

While installing gnuradio, Pybombs fails stating the requirement of libcrypto library.

PyBOMBS - INFO - PyBOMBS Version 2.3.3a
PyBOMBS.Packager.apt - INFO - Install python-apt to speed up apt processing.
PyBOMBS.install_manager - INFO - Phase 1: Creating install tree and installing binary packages:
DEPRECATION: The default format will switch to columns in the future. You can use --format=(legacy|columns) (or define a format=(legacy|columns) in your pip.conf under the [list] section) to disable this warning.
Install tree:
|
\- gnuradio
   |
   \- apache-thrift
PyBOMBS.install_manager - INFO - Phase 2: Recursively installing source packages to prefix:
PyBOMBS.install_manager - INFO - Installing package: apache-thrift
PyBOMBS.Packager.apt - INFO - Install python-apt to speed up apt processing.
Configuring: (100%) [=================================================================================================================]
PyBOMBS.Packager.source - WARNING - Configuration failed. Re-trying with higher verbosity.
configure.ac:90: installing './config.guess'
configure.ac:90: installing './config.sub'
configure.ac:27: installing './install-sh'
configure.ac:27: installing './missing'
compiler/cpp/Makefile.am: installing './depcomp'
configure.ac: installing './ylwrap'
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking for a thread-safe mkdir -p... /bin/mkdir -p
checking for gawk... gawk
checking whether make sets $(MAKE)... yes
checking whether make supp ...
.
.
.
checking for pthread_create in -lpthread... yes
checking for clock_gettime in -lrt... yes
checking for setsockopt in -lsocket... no
checking for BN_init in -lcrypto... no
configure: error: "Error: libcrypto required."
PyBOMBS.Packager.source - ERROR - Configuration failed after running at least twice.
PyBOMBS.Packager.source - ERROR - Problem occurred while building package apache-thrift:
Configuration failed
PyBOMBS.install_manager - ERROR - Error installing package apache-thrift. Aborting.

Please Help?

mbr0wn commented 7 years ago

We need more details. Distro, selected version, ...

willanth commented 7 years ago

I have the same issue. Distro is current Debian 9.2.1 ("squeeze") and version of GNURadio is current release. Running pybombs straight out of the instructions.

EDIT: apologies you are correct @draeath sorry for giving bad info.

draeath commented 6 years ago

Note debian 9.x is "stretch" and not "squeeze" (that was 6.x)

libssl-dev doesn't work as it fails the autoconf test for libcrypto. libssl1.0-dev doesn't work, as while it passes that test, compilation fails because of a lack of SSL3 support.

draeath commented 6 years ago

This issue should be fixed upstream - is pybombs requiring thrift older than 0.11.0?

draeath commented 6 years ago

Yes, looks like we're pulling in an ancient version of thrift (0.9.3 - it would be wonderful if work can happen to update that.

rayninth commented 6 years ago

I have similar issue, trying to compile gnuradio. can you help on how to resolve this.

SirCosty commented 6 years ago

Yeah would be nice if some can update the Thrift version from 0.9.3 Think the last Thrift version is 0.10.0 so far. The easiest solution for us so far they too busy to fix might be to make a branch and change the https://github.com/gnuradio/gr-recipes/blob/master/apache-thrift.lwr Hope will have time to test it as soon as possible and bring feedback

dl1com commented 6 years ago

Same here, when following the Quick Start manual from https://github.com/gnuradio/pybombs, compilation of Apache Thrift fails, either with libssl-dev and libssl1.0-dev (see comment by @draeath ). Manually bumping the version in the Thrift recipe to 0.10.0 works for me, using the most recent version, 0.11.0, does not work due to a linker error (TSimpleServer not found) during gnuradio build.

We could easily create a pull request for bumping the Thrift version to 0.10.0, but are there any recipes (besides gnuradio) which could break by doing so?

My system: Debian 9.3, Linux version 4.9.0-6-amd64

marcusmueller commented 6 years ago

So, to offer Debian users a glimpse of a quick fix:

the maintainer of debian GNU Radio packages is really awesome, so you'll get a very well-patched, very recent gnuradio package just through apt. No reason to build GNU Radio through pyBOMBS if you just want it to workTM.

I feel like I'm shifting blame here, and that doesn't help anyone, but: The problem really lies with Apache's inability to write software that even distro maintainers know how to successfully build with most options enabled. If there'd been a reasonable version of Thrift packaged with most OS package managers in the last two years, this would've been much easier.
Instead, Thrift breaks on every other release, and we resorted to pinning a "known good" version. Sorry for the inconvenience caused by that. I think 0.10.0 works, so @chris007de's patch is a fine update by me.

Chiggins commented 6 years ago

Just wanted to post an update that nearly two months after the last comment, I'm still running into this error. Ubuntu 18.04 using this install guide.

catalinalb commented 5 years ago

Just wanted to post an update that nearly two months after the last comment, I'm still running into this error. Ubuntu 18.04 using this install guide.

Hello Chiggins, I did follow the install guide on ubuntu 18.04 and pybombs is installing gnuradio but the version is 3.8 and gr-iqbal is not compatible with 3.8. How can I trick it to install 3.7 under the gnuradio name. Thank you

ghostop14 commented 5 years ago

I have a 3.8 migrated version of gr-iqbal here. https://github.com/ghostop14/gr-iqbal

The osmocom maintainers haven’t been in a hurry to upgrade their modules to 3.8 compatible OOTs. You can edit the lwr in the pybombs recipe directory for gr-iqbal to point here then run as normal if you want to go through the full pybombs install till its merged or they upgrade it.