discuss-gnuradio
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Discuss-gnuradio] processor_test error while installing thrift


From: Marcus Müller
Subject: Re: [Discuss-gnuradio] processor_test error while installing thrift
Date: Mon, 24 Oct 2016 01:24:29 +0200
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101 Thunderbird/45.3.0

Hi Nikita,

sadly, that's a Thrift problem, not solvable by GNU Radio. The problem is that thrift has a lot of (optional) components that don't build, even on "sane", fresh installations of popular linux distros. It's a mess. What's your distro?

So, what "we" (in the shape of PyBOMBs thrift recipe [1]) do is disable *everything* that's not part of core C++ and Python thrift that we need (including the tests that seem to fail to link on your machine)

./configure --prefix=$prefix
  --with-c_glib --with-cpp --with-libevent --with-python
  --without-csharp --without-d --without-erlang --without-go
  --without-haskell --without-java --without-lua --without-nodejs
  --without-perl --without-php --without-ruby --without-zlib
  --without-qt4 --without-qt5
  --disable-tests --disable-tutorial $config_opt
CC=$cc CXX=$cxx PY_PREFIX=$prefix CXXFLAGS="-DNDEBUG"

We're not the only ones doing such stuff. For example, the thrift packages for Fedora disable PHP bindings (because no-one among the software maintaining experts figured out how to make that build), disable D, ruby, Erlang and GO bindings, manually specify the boost location, patch the build system extensively to include all the libraries thrift should link about if built with java support, manually set the permissions on libraries, C headers and python executables, and then practically dance around the installation that the thrift build system does. I still haven't found out how to build thrift for CentOS 6 at all...

So: don't worry if you haven't figured out how to build thrift; that's not your fault. If you share your Distro and Distro version, we might be able to help you :)

Best regards,

Marcus


[1] https://github.com/gnuradio/gr-recipes/blob/master/apache-thrift.lwr

On 22.10.2016 11:09, Nikita Airee wrote:
Hi,

I have been trying to install thrift to work on Controlport for a a while now and I would really like some help.

Initially, I had installed gnuradio using the build-script but it didn't have thrift enabled. So I tried installing thrift(using both the git checkout and tarball method) but it didn't go beyond the make step.

It shows the following error in particular:

ProcessorTest.cpp:(.text._ZN5boost10test_tools9tt_detaillsIPKcEERSoS5_RKNS1_14print_helper_tIT_EE[_ZN5boost10test_tools9tt_detaillsIPKcEERSoS5_RKNS1_14print_helper_tIT_EE]+0x29): undefined reference to `boost::test_tools::tt_detail::print_log_value<char const*>::operator()(std::ostream&, char const*)'
collect2: error: ld returned 1 exit status
make[5]: *** [processor_test] Error 1
make[5]: Leaving directory `/home/iiitd/thrift-0.9.3/lib/cpp/test'
make[4]: *** [all] Error 2
make[4]: Leaving directory `/home/iiitd/thrift-0.9.3/lib/cpp/test'
make[3]: *** [all-recursive] Error 1
make[3]: Leaving directory `/home/iiitd/thrift-0.9.3/lib/cpp'
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory `/home/iiitd/thrift-0.9.3/lib'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/home/iiitd/thrift-0.9.3'
make: *** [all] Error 2


I did bootstrap followed by ./configure like so:

./configure --prefix=$prefix PY_PREFIX=$prefix --with-cpp --with-python CXXFLAGS="-DNDEBUG"


but since that didn't help and showed the same error, I replaced $prefix with /usr. That didn't help either.

I figured it was probably because, it couldn't find boost. So I added --with-boost=/usr/local/lib to ./configure

Then it shows the following error:

make[5]: Entering directory `/home/iiitd/thrift-0.9.3/lib/cpp/test'
/bin/bash ../../../libtool  --tag=CXX   --mode=link g++ -Wall -Wextra -pedantic -DNDEBUG -std=c++11   -o processor_test processor/ProcessorTest.o processor/EventLog.o processor/ServerThread.o libprocessortest.la ../../../lib/cpp/libthrift.la ../../../lib/cpp/libthriftnb.la /libboost_unit_test_framework.a  -levent -lssl -lcrypto -lrt -lpthread
libtool: link: g++ -Wall -Wextra -pedantic -DNDEBUG -std=c++11 -o .libs/processor_test processor/ProcessorTest.o processor/EventLog.o processor/ServerThread.o  ./.libs/libprocessortest.a ../../../lib/cpp/.libs/libthrift.so ../../../lib/cpp/.libs/libthriftnb.so /libboost_unit_test_framework.a -levent -lssl -lcrypto -lrt -lpthread
g++: error: /libboost_unit_test_framework.a: No such file or directory
make[5]: *** [processor_test] Error 1
make[5]: Leaving directory `/home/iiitd/thrift-0.9.3/lib/cpp/test'
make[4]: *** [all] Error 2
make[4]: Leaving directory `/home/iiitd/thrift-0.9.3/lib/cpp/test'
make[3]: *** [all-recursive] Error 1
make[3]: Leaving directory `/home/iiitd/thrift-0.9.3/lib/cpp'
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory `/home/iiitd/thrift-0.9.3/lib'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/home/iiitd/thrift-0.9.3'
make: *** [all] Error 2

Although there is a libboost_unit_test_framework.a in /usr/local/lib

Where am I going wrong?

Nikita Airee





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


reply via email to

[Prev in Thread] Current Thread [Next in Thread]