Build on arch (x64) fails

Hey guys,

In preparation of things to come I tried to build the current maidsafe “release” on an arch VM but the build fails

[ 10%] Performing build step for 'boost_system'
CMake Error at /root/MaidSafe/build_maidsafe/boost_1_55_0/src/boost_system-stamp/boost_system-build.cmake:16 (message):
  Command failed: 1

   '/root/MaidSafe/build_maidsafe/boost_1_55_0_GNU_4_9_2/b2' 'link=static' 'threading=multi' 'runtime-link=shared' '--build-dir=Build' 'stage' '-d+2' '--hash' 'variant=release' 'cxxflags=-fPIC' 'cxxflags=-std=c++11' '-sNO_BZIP2=1' '--layout=tagged' 'toolset=gcc-4.9' '--with-system'

  See also

    /root/MaidSafe/build_maidsafe/boost_1_55_0/src/boost_system-stamp/boost_system-build-*.log



src/third_party_libs/CMakeFiles/boost_system.dir/build.make:103: recipe for target 'boost_1_55_0/src/boost_system-stamp/boost_system-build' failed
make[2]: *** [boost_1_55_0/src/boost_system-stamp/boost_system-build] Error 1
CMakeFiles/Makefile2:1938: recipe for target 'src/third_party_libs/CMakeFiles/boost_system.dir/all' failed
make[1]: *** [src/third_party_libs/CMakeFiles/boost_system.dir/all] Error 2
Makefile:127: recipe for target 'all' failed
make: *** [all] Error 2

/MaidSafe/build_maidsafe/boost_1_55_0/src/boost_system-stamp/boost_system-build-out.log

error: duplicate initialization of gcc with the following parameters: 
error: version = 4.9.2
error: previous initialization at project-config.jam:12

A quick google search hinted at commenting out “using gcc” in the project-config.jam file, but that didn’t help either. build still fails.

If you need any further information, just let me know.

1 Like

On Ubuntu you see these errors if python-dev isn’t installed. Arch doesn’t have dev packages, so look into your python installation. Check the list of required packages for arch.

1 Like

I had the same error on manjaro (essentially same as arch). After tinkering around for quite some time i found a fix:

edit MaidSafe/cmake_modules/add_boost.cmake
find line 217

string(REGEX MATCH "[0-9]+\\.[0-9]+" ToolsetVer "${CMAKE_CXX_COMPILER_VERSION}")

replace with

string(REGEX MATCH "[0-9]+\\.[0-9]+\\.[0-9]" ToolsetVer "${CMAKE_CXX_COMPILER_VERSION}")

run cmake . in build_maidsafe/

Now make should work.

1 Like