pybombs icon indicating copy to clipboard operation
pybombs copied to clipboard

PyBombs fails while building apache-thrift while installing gnuradio

Open satin404 opened this issue 7 years ago • 12 comments

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?

satin404 avatar Sep 30 '17 04:09 satin404

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

mbr0wn avatar Oct 02 '17 15:10 mbr0wn

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.

willanth avatar Oct 31 '17 04:10 willanth

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 avatar Nov 26 '17 05:11 draeath

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

draeath avatar Nov 26 '17 05:11 draeath

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.

draeath avatar Dec 05 '17 20:12 draeath

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

rayninth avatar Dec 10 '17 06:12 rayninth

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

SirCosty avatar Jan 14 '18 10:01 SirCosty

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

dl1com avatar Mar 09 '18 19:03 dl1com

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.

marcusmueller avatar Mar 23 '18 11:03 marcusmueller

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.

Chiggins avatar May 22 '18 05:05 Chiggins

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

catalinalb avatar Nov 02 '19 23:11 catalinalb

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.

ghostop14 avatar Nov 03 '19 21:11 ghostop14