cross compiling protocol buffers for arm - c++

I am new to Google's protocol buffers and I am having trouble with cross-compiling it for arm. I am not able to find any concrete solutions to my problem using google.
The steps I am following:
./autogen.sh
./configure
make -s && make install
./configure --host=arm-linux-gnueabi CC=arm-linux-gnueabi-gcc --prefix=/opt/poky/1.7/sysroots/cortexa9hf-vfp-neon-poky-linux-gnueabi/usr/ --with-protoc=/usr/local/bin/protoc
make
I get an error when I run make.
google/protobuf/stubs/common.cc:55:2: error: #error "No suitable threading library available."
#error "No suitable threading library available."
^
Makefile:3956: recipe for target 'google/protobuf/stubs/common.lo' failed
make[2]: *** [google/protobuf/stubs/common.lo] Error 1
make[2]: Leaving directory '/home/protobuf/protobuf/src'
Makefile:1544: recipe for target 'all-recursive' failed
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory '/home/protobuf/protobuf'
Makefile:1451: recipe for target 'all' failed
make: *** [all] Error 2
Any help would be much appreciated.

Related

‘tls’ is not a member of ‘asio::ssl::context’ C++ error

I am trying to build this github repository: https://github.com/socketio/socket.io-client-cpp
It is dependant on this repository https://github.com/zaphoyd/websocketpp
I got a few downloads while trying to build both and solved most with downloading libboost-dev and a few other libraries but i got an error that i can't seem to solve:
/home/ktbm/socket.io-client-cpp/src/internal/sio_client_impl.cpp: In member function ‘sio::client_impl::context_ptr sio::client_impl::on_tls_init(websocketpp::connection_hdl)’:
/home/ktbm/socket.io-client-cpp/src/internal/sio_client_impl.cpp:586:83: error: ‘tls’ is not a member of ‘asio::ssl::context’
context_ptr ctx = context_ptr(new asio::ssl::context(asio::ssl::context::tls));
^~~
CMakeFiles/sioclient_tls.dir/build.make:110: recipe for target 'CMakeFiles/sioclient_tls.dir/src/internal/sio_client_impl.cpp.o' failed
make[2]: *** [CMakeFiles/sioclient_tls.dir/src/internal/sio_client_impl.cpp.o] Error 1
CMakeFiles/Makefile2:67: recipe for target 'CMakeFiles/sioclient_tls.dir/all' failed
make[1]: *** [CMakeFiles/sioclient_tls.dir/all] Error 2
Makefile:129: recipe for target 'all' failed
make: *** [all] Error 2
I haven't found anyone with a similar problem and i am not sure which library causes this issue, probably an old asio library but could also be a boost error

how can I solve makefile error in omnet++

I created my own code in veins in traci file and built it. I have makefile error how can I solve in?
2 errors generated.
Makefile:177: recipe for target '../out/gcc-debug/src/veins/modules/application/ieee80211p/BaseWaveApplLayer.o' failed
make[1]: *** [../out/gcc-debug/src/veins/modules/application/ieee80211p/BaseWaveApplLayer.o] Error 1
make[1]: Leaving directory '/c/Users/sepideh/src/omnetpp-5.0/samples/veins/src'
make: *** [all] Error 2
Makefile:16: recipe for target 'all' failed
16:41:24 Build Finished (took 1m:9s.529ms)
I experienced the same problem. The solution for me was to configurate omnet++ without certain packages.
./configure WITH_OSGEARTH=no WITH_OSG=no WITH_QTENV=no
and then make like this:
make -j3

Telegram compilation process: recipe for target 'CMakeFiles/MetaLang.dir/all' failed

I was following Telegram's compile process at here and in the last step when compiling the app itself it gives me this error, to be brief the error's final lines are:
CMakeFiles/MetaLang.dir/build.make:189: recipe for target 'MetaLang' failed
make[2]: *** [MetaLang] Error 1
CMakeFiles/Makefile2:721: recipe for target 'CMakeFiles/MetaLang.dir/all' failed
make[1]: *** [CMakeFiles/MetaLang.dir/all] Error 2
Makefile:83: recipe for target 'all' failed
make: *** [all] Error 2
P.S. my OS is Ubuntu 16.04 and the folder in which the process is going on is ~/Documents/Telegram/

Telegram compilation process:No rule to make target '/usr/lib/libicutu.a'

I was following Telegram's compile process at here and in the last step when compiling the app itself it gives me this error
Built target codegen_numbers__qt_moc
make[2]: *** No rule to make target '/usr/lib/libicutu.a', needed by 'codegen_numbers'. Stop.
CMakeFiles/Makefile2:456: recipe for target 'CMakeFiles/codegen_numbers.dir/all' failed
make[1]: *** [CMakeFiles/codegen_numbers.dir/all] Error 2
Makefile:83: recipe for target 'all' failed
make: *** [all] Error 2
You need to install ICU library(static build).
ProjectPage
Build documentation

Apache thrift can not make

When I'm trying to configure and make thrift 0.9.1 it gives some errors. Can anyone tell me the reason for that and what should I do to overcome this issue. Errors are shown in below.
user#linux-yyzo:~/WorkDir/thrift-0.9.1> make
make all-recursive
make[1]: Entering directory `/home/user/WorkDir/thrift-0.9.1'
Making all in compiler/cpp
make[2]: Entering directory `/home/user/WorkDir/thrift-0.9.1/compiler/cpp'
make all-am
make[3]: Entering directory `/home/user/WorkDir/thrift-0.9.1/compiler/cpp'
\
\
/bin/sh ../../ylwrap `test -f 'src/thrifty.yy' || echo './'`src/thrifty.yy y.tab.c thrifty.cc y.tab.h thrifty.h y.output thrifty.output -- yacc -d
../../ylwrap: line 113: yacc: command not found
make[3]: *** [thrifty.cc] Error 1
make[3]: Leaving directory `/home/user/WorkDir/thrift-0.9.1/compiler/cpp'
make[2]: *** [all] Error 2
make[2]: Leaving directory `/home/user/WorkDir/thrift-0.9.1/compiler/cpp'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/home/user/WorkDir/thrift-0.9.1'
make: *** [all] Error 2
user#linux-yyzo:~/WorkDir/thrift-0.9.1>
There are two resources on the Thrift web site worth reading when one runs into troubles like this.
The Requirements give a good overview about the dependencies; the Building From Source page explains build steps and configure switches briefly. Additionally, the requirements page holds some links to more specific information for builds on Ubuntu, CentOS, Windows and OS X.