Bauen Bitcoin mit cmake

Ich habe versucht zu bitcoin kompilieren mit cmake und ich bekomme die folgende Fehlermeldung.

system info:

4.4.0-116-generic
cmake version 3.5.1
gcc version 5.4.0 20160609 (Ubuntu 5.4.0-6ubuntu1~16.04.10)

CMakeLists.txt (Demo)

cmake_minimum_required(VERSION 2.8.12.2)

project(Bitcoin)

#set(CMAKE_CXX_STANDARD 11)

add_definitions(-std=c++11)

......


get_property(dirs DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} PROPERTY INCLUDE_DIRECTORIES)
foreach(dir ${dirs})
    message(STATUS "dir='${dir}'")
endforeach()

aux_source_directory(./src/ DIR_SRCS)

add_executable(bitcoin ${DIR_SRCS})

cmake .

-- Konfigurieren fertig

-- Generierung getan

-- Build-Dateien geschrieben werden: /home/fyn/bitcoin

make

    In file included from /usr/include/stdlib.h:42:0,
                 from /usr/include/c++/5/cstdlib:72,
                 from /usr/include/c++/5/ext/string_conversions.h:41,
                 from /usr/include/c++/5/bits/basic_string.h:5249,
                 from /usr/include/c++/5/string:52,
                 from /home/youwei/bitcoin/src/fs.h:9,
                 from /home/youwei/bitcoin/src/fs.cpp:1:
/usr/include/x86_64-linux-gnu/bits/waitstatus.h:79:27: error: redeclaration of ‘unsigned int wait::<anonymous struct>::__w_retcode’
  unsigned int __w_retcode:8;
                           ^
/usr/include/x86_64-linux-gnu/bits/waitstatus.h:74:27: note: previous declaration ‘unsigned int wait::<anonymous struct>::__w_retcode’
  unsigned int __w_retcode:8; /* Return code if exited normally.  */
                           ^
/usr/include/x86_64-linux-gnu/bits/waitstatus.h:80:28: error: redeclaration of ‘unsigned int wait::<anonymous struct>::__w_coredump’
  unsigned int __w_coredump:1;

CMakeFiles/bitcoin.dir/build.make:86: recipe for target 'CMakeFiles/bitcoin.dir/src/fs.cpp.o' failed
make[2]: *** [CMakeFiles/bitcoin.dir/src/fs.cpp.o] Error 1
CMakeFiles/Makefile2:67: recipe for target 'CMakeFiles/bitcoin.dir/all' failed
make[1]: *** [CMakeFiles/bitcoin.dir/all] Error 2
Makefile:83: recipe for target 'all' failed
make: *** [all] Error 2

1 Antworten

  • RajmondX
    4. Mai 2019

    Sie sind klar fehlen einige libaries. Laufen

    ./autogen.sh
    ./configure --with-gui=no --disable-wallet
    

    und überprüfen Sie die Protokolle (die Ihnen sagen, welche libaries fehlen)