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 > <http://libprocessortest.la> ../../../lib/cpp/libthrift.la > <http://libthrift.la> ../../../lib/cpp/libthriftnb.la > <http://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 > [email protected] > https://lists.gnu.org/mailman/listinfo/discuss-gnuradio
_______________________________________________ Discuss-gnuradio mailing list [email protected] https://lists.gnu.org/mailman/listinfo/discuss-gnuradio
