shadow-plugin-bitcoin icon indicating copy to clipboard operation
shadow-plugin-bitcoin copied to clipboard

Unable to build plugin on Ubuntu 16.04

Open AMarcedone opened this issue 9 years ago • 2 comments

I am having issues building the plugin on Ubuntu 16.04. I tracked down the command which is failing from the make script, and it is the following:

 antonio@AntonioXPS13:~/shadowInstall/shadow-plugin-bitcoin/build/shadow-plugin-bitcoin/src$ cd /home/antonio/shadowInstall/shadow-plugin-bitcoin/build/shadow-plugin-bitcoin/src %&& /usr/bin/clang++   -DBOOST_ALL_DYN_LINK="1 -DBOOST_ALL_NO_LIB=1 -DBOOST_THREAD_POSIX" -DDEBUG -DHAVE_CONFIG_H -DLEVELDB_PLATFORM_POSIX -Dshadow_preload_bitcoind_EXPORTS -I/home/antonio/shadowInstall/shadow-plugin-bitcoin/build/shadow-plugin-bitcoin/src -I/home/antonio/shadowInstall/shadow-plugin-bitcoin/src -I/home/antonio/shadowInstall/shadow-plugin-bitcoin/build/bitcoin/src/leveldb/helpers/memenv -I/home/antonio/shadowInstall/shadow-plugin-bitcoin/build/bitcoin/src/leveldb/helpers -I/home/antonio/shadowInstall/shadow-plugin-bitcoin/build/bitcoin/src/leveldb/include -I/home/antonio/shadowInstall/shadow-plugin-bitcoin/build/bitcoin/src/leveldb -I/home/antonio/shadowInstall/shadow-plugin-bitcoin/build/bitcoin/src/config -I/home/antonio/shadowInstall/shadow-plugin-bitcoin/build/bitcoin/src -I/home/antonio/shadowInstall/shadow-plugin-bitcoin/build/gnu-pth -I/home/antonio/shadowInstall/shadow-plugin-bitcoin/build/boost_1_62_0 -I/home/antonio/shadowInstall/shadow-plugin-bitcoin/cmake -I/home/antonio/.shadow/include -I/home/antonio/.shadow/share/cmake/Modules -I/usr/include/glib-2.0 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include  -g -g -fPIC   -DHAS_BOOST -DHAVE_WORKING_BOOST_SLEEP -o CMakeFiles/shadow-preload-bitcoind.dir/bitcoind/bitcoind-preload.cpp.o -c /home/antonio/shadowInstall/shadow-plugin-bitcoin/src/bitcoind/bitcoind-preload.cpp
 /home/antonio/shadowInstall/shadow-plugin-bitcoin/src/bitcoind/bitcoind-preload.cpp:15:8: error: incomplete type 'std::locale' named in nested name specifier
   std::locale::locale();
   ~~~~~^~~~~~~~
 /usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/localefwd.h:55:9: note: forward declaration of 'std::locale'
   class locale;
         ^
 /home/antonio/shadowInstall/shadow-plugin-bitcoin/src/bitcoind/bitcoind-preload.cpp:20:8: error: incomplete type 'std::locale' named in nested name specifier
   void locale::_S_initialize() {
        ^~~~~~~~
 /usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/localefwd.h:55:9: note: forward declaration of 'std::locale'
   class locale;
         ^
 2 errors generated.
 

The version of clang I am using:

$ clang -v -print-search-dirs
Ubuntu clang version 3.6.2-3ubuntu2 (tags/RELEASE_362/final) (based on LLVM 3.6.2)
Target: x86_64-pc-linux-gnu
Thread model: posix
Found candidate GCC installation: /usr/bin/../lib/gcc/i686-linux-gnu/5.4.0
Found candidate GCC installation: /usr/bin/../lib/gcc/i686-linux-gnu/6.0.0
Found candidate GCC installation: /usr/bin/../lib/gcc/x86_64-linux-gnu/4.7
Found candidate GCC installation: /usr/bin/../lib/gcc/x86_64-linux-gnu/4.7.4
Found candidate GCC installation: /usr/bin/../lib/gcc/x86_64-linux-gnu/4.8
Found candidate GCC installation: /usr/bin/../lib/gcc/x86_64-linux-gnu/4.8.5
Found candidate GCC installation: /usr/bin/../lib/gcc/x86_64-linux-gnu/4.9
Found candidate GCC installation: /usr/bin/../lib/gcc/x86_64-linux-gnu/4.9.3
Found candidate GCC installation: /usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0
Found candidate GCC installation: /usr/bin/../lib/gcc/x86_64-linux-gnu/6.0.0
Found candidate GCC installation: /usr/lib/gcc/i686-linux-gnu/5.4.0
Found candidate GCC installation: /usr/lib/gcc/i686-linux-gnu/6.0.0
Found candidate GCC installation: /usr/lib/gcc/x86_64-linux-gnu/4.7
Found candidate GCC installation: /usr/lib/gcc/x86_64-linux-gnu/4.7.4
Found candidate GCC installation: /usr/lib/gcc/x86_64-linux-gnu/4.8
Found candidate GCC installation: /usr/lib/gcc/x86_64-linux-gnu/4.8.5
Found candidate GCC installation: /usr/lib/gcc/x86_64-linux-gnu/4.9
Found candidate GCC installation: /usr/lib/gcc/x86_64-linux-gnu/4.9.3
Found candidate GCC installation: /usr/lib/gcc/x86_64-linux-gnu/5.4.0
Found candidate GCC installation: /usr/lib/gcc/x86_64-linux-gnu/6.0.0
Selected GCC installation: /usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0
Candidate multilib: .;@m64
Selected multilib: .;@m64
programs: =/usr/bin:/usr/lib/llvm-3.6/bin:/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../x86_64-linux-gnu/bin
libraries: =/usr/lib/llvm-3.6/bin/../lib/clang/3.6.2:/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0:/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../x86_64-linux-gnu:/lib/x86_64-linux-gnu:/lib/../lib64:/usr/lib/x86_64-linux-gnu:/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../..:/usr/lib/llvm-3.6/bin/../lib:/lib:/usr/lib

I think this might be related to the version of stdlibc++ I am using, but I am not sure how to force the clang compiler to use a different one after installing it via apt-get. Any suggestions?

AMarcedone avatar Nov 27 '16 18:11 AMarcedone

Make sure you are using Shadow version 1.10.2, and the latest master branch of the bitcoin plugin. After that, I don't have much experience building this plugin in many diverse environments.

robgjansen avatar Dec 01 '16 02:12 robgjansen

Thanks! If I manage to make progress, I'll post a comment here.

AMarcedone avatar Dec 01 '16 02:12 AMarcedone