Server spec below default Amazon AMI
Beginning build version: 1.2
Fri 6 Apr 13:32:20 UTC 2018
git head id: 54d4d177ed80b37dcc93a9f7e7f310cb4542d492
Current branch: * master
ARCHITECTURE: Linux
OS name: Amazon Linux AMI
OS Version: 2017
CPU speed: 2400Mhz
CPU cores: 2
Physical Memory: 7984 Mgb
Disk space total: 40G
Disk space available: 36G
Shows below error
-- Configuring ChainBase on Linux
-- Using custom FindBoost.cmake
CMake Error at libraries/fc/CMakeModules/FindBoost.cmake:1129 (message):
Unable to find the requested Boost libraries.
Unable to find the Boost header files. Please set BOOST_ROOT to the root
directory containing Boost or BOOST_INCLUDEDIR to the directory containing
Boost's headers.
Call Stack (most recent call first):
libraries/appbase/CMakeLists.txt:22 (find_package)
-- Configuring AppBase on Linux
-- Found bsoncxx headers: /usr/local/include/bsoncxx/v_noabi
-- Found bsoncxx library: /usr/local/lib/libbsoncxx-static.a;/usr/local/lib/libbson-static-1.0.a;-lm;-pthread
-- Found mongocxx headers: /usr/local/include/mongocxx/v_noabi;/usr/local/include/bsoncxx/v_noabi
-- Found mongocxx library: /usr/local/lib/libmongocxx-static.a;/usr/local/lib/libbsoncxx-static.a;/usr/local/lib/libbson-static-1.0.a;-lm;-pthread;/usr/local/lib/libmongoc-static-1.0.a;/usr/local/lib/libbson-static-1.0.a;-lm;-pthread;-lssl;-lcrypto;-lrt;-lz;-lresolv
-- Git commit revision: 54d4d177
-- Git commit revision: 54d4d177
-- Git commit revision: 54d4d177
-- Could NOT find Doxygen (missing: DOXYGEN_EXECUTABLE)
-- Doxygen not found. Contract documentation will not be generated.
CMake Error: The following variables are used in this project, but they are set to NOTFOUND.
Please set them or make sure they are set and tested correctly in the CMake files:
/home/ec2-user/eos/libraries/appbase/Boost_INCLUDE_DIR
used as include directory in directory /home/ec2-user/eos/libraries/appbase
/home/ec2-user/eos/libraries/chainbase/Boost_INCLUDE_DIR
used as include directory in directory /home/ec2-user/eos/libraries/chainbase
/home/ec2-user/eos/libraries/fc/Boost_INCLUDE_DIR
used as include directory in directory /home/ec2-user/eos/libraries/fc
/home/ec2-user/eos/tools/Boost_INCLUDE_DIR
used as include directory in directory /home/ec2-user/eos/tools
Boost_INCLUDE_DIR (ADVANCED)
used as include directory in directory /home/ec2-user/eos/contracts/proxy
-- Configuring incomplete, errors occurred!
See also "/home/ec2-user/eos/build/CMakeFiles/CMakeOutput.log".
See also "/home/ec2-user/eos/build/CMakeFiles/CMakeError.log".
>>>>>>>>>>>>>>>>>>>> CMAKE building EOSIO has exited with the above error.
I've hit this error as well and tracked down the issue to a difference in the clean install instructions and the amazon specific build script.
The install instructions place the boost directory at ${HOME}/boost_1_66_0
The Amazon build script looks in ${HOME}/opt/boost_1_66_0
However once fixing that, I then run in to permissions issues, and the inline download of the boost libs doesn't seem to work either.
Seeing the same issue on a clean install of Ubuntu 16.04, Git commit revision: 54d4d17.
Here's what I ran.
sudo apt install git
git clone https://github.com/EOSIO/eos --recursive
cd eos
./eosio_build.sh
Here's the output towards the end of the build:
CMake Error at libraries/fc/CMakeModules/FindBoost.cmake:1129 (message):
Unable to find the request Boost libraries.
Unable to find the Boost header files. Please set BOOST_ROOT to the root
directory containing Boost or BOOST_INCLUDEDIR to the directory containing
Boost's headers.
Call Stack (most recent call first):
CMakeLists.txt:88 (find_package)
hi the same issue on AWS ubuntu 16.04
Please set them or make sure they are set and tested correctly in the CMake files:
/home/ubuntu/eos/libraries/appbase/Boost_INCLUDE_DIR
used as include directory in directory /home/ubuntu/eos/libraries/appbase
/home/ubuntu/eos/libraries/chainbase/Boost_INCLUDE_DIR
used as include directory in directory /home/ubuntu/eos/libraries/chainbase
/home/ubuntu/eos/libraries/fc/Boost_INCLUDE_DIR
used as include directory in directory /home/ubuntu/eos/libraries/fc
/home/ubuntu/eos/tools/Boost_INCLUDE_DIR
used as include directory in directory /home/ubuntu/eos/tools
Boost_INCLUDE_DIR (ADVANCED)
used as include directory in directory /home/ubuntu/eos/contracts/proxy
put boost_1_66_0 under $HOME/opt: /home/ubuntu/opt/boost_1_66_0
and build with 'sudo'
We need a little more information. Could you run the following commands and paste the output here?
cd ${HOME}
ls -lah ${HOME}/opt
cat ${HOME}/opt/boost_1_66_0/include/boost/version.hpp | grep BOOST_LIB_VERSION
gcc --version
AMAZON Linux:
${HOME}/opt/cmake/bin/cmake --version
Ubuntu:
cmake --version
If the above runs without error run the following commands from your eos/ document root and paste the output from the beginning of the script to the following line:
ALL dependencies sucessfully found or installed . Installing EOS.IO
cd eos/
git pull
git submodule update --init --recursive
./eosio_build.sh
(note: while sudo is required to install certain dependencies we don't recommend compiling EOS.IO as root)
@pacificcode
Follow your suggestion:
~$ echo $HOME
/home/ubuntu
~$ cat ${HOME}/opt/boost_1_66_0/include/boost/version.hpp | grep BOOST_LIB_VERSION
cat: /home/ubuntu/opt/boost_1_66_0/include/boost/version.hpp: No such file or directory
~$ gcc --version
gcc (Ubuntu 5.4.0-6ubuntu1~16.04.9) 5.4.0 20160609
Copyright (C) 2015 Free Software Foundation, Inc.
~$ cmake --version
cmake version 3.5.1
after I put "boost_1_66_0" under $HOME/opt: /home/ubuntu/opt/boost_1_66_0
and build with "sudo", the issue does not exist.
But new build error happened:
/home/ubuntu/eos/libraries/chainbase/test/test.cpp:(.text.startup+0x12b): undefined reference to `boost::unit_test::ut_detail::auto_test_unit_registrar::auto_test_unit_registrar(boost::unit_test::test_case*, boost::unit_test::decorator::collector&, unsigned long)'
clang: error: linker command failed with exit code 1 (use -v to see invocation)
@hixichen you need to have the actual boost libraries compiled and installed in the directory ${HOME}/opt/boost_1_66_0 i.e.
ls -lah ${HOME}/opt/boost_1_66_0
total 16K
drwxrwxr-x. 4 bhamilton bhamilton 4.0K Mar 15 18:43 .
drwxrwxr-x. 4 bhamilton bhamilton 4.0K Mar 15 20:46 ..
drwxrwxr-x. 3 bhamilton bhamilton 4.0K Mar 15 18:43 include
drwxrwxr-x. 2 bhamilton bhamilton 4.0K Mar 15 19:00 lib
However it looks as though you may have 2 issues:
@pacificcode
Thanks.
1. code repo:
$ git branch
* (HEAD detached at dawn-v3.0.0)
2. Ubuntu 16.04 on AWS.
Btw, I live and work in united states.
@hixichen Thank you for the information.
Installing boost in /usr is not going to work, EOS.IO expects boost to be located in $HOME/opt/
The install script eos/eosio_build.sh will install boost in the expected directory.
Remove the boost directory you created in ${HOME}/opt
rm -rf ${HOME}/opt/boost_1_66_0
Update your code from the repo and run the install script.
cd eos
git pull
git submodule update --init --recursive
./eosio_build.sh
This should install boost in:
${HOME}/opt/boost_1_66_0
If you get any errors during the install procedure let me know.
I looked at the $HOME/eos/scripts/eosio_build_ubuntu.sh script and despite the if statement, for some reason, boost was not getting installed, so I did the installation myself, so that shell script would enter the else branch.
Under $HOME/opt:
curl -LO https://dl.bintray.com/boostorg/release/1.66.0/source/boost_1_66_0.tar.bz2
tar xvf boost_1_66_0.tar.bz2
BOOST_ROOT=/$HOME/opt/boost_1_66_0
export BOOST_ROOT
echo $BOOST_ROOT (To verify the export worked, returned as expected /home/rajita/opt/boost_1_66_0)
I meet the same problem,what should I do?I really need help.Thank you!My PC is MacOS10.12.6
CMake Error: The following variables are used in this project, but they are set to NOTFOUND.
Please set them or make sure they are set and tested correctly in the CMake files:
/Users/yuanwei/eos/libraries/appbase/Boost_INCLUDE_DIR
used as include directory in directory /Users/yuanwei/eos/libraries/appbase
/Users/yuanwei/eos/libraries/chainbase/Boost_INCLUDE_DIR
used as include directory in directory /Users/yuanwei/eos/libraries/chainbase
/Users/yuanwei/eos/libraries/fc/Boost_INCLUDE_DIR
used as include directory in directory /Users/yuanwei/eos/libraries/fc
/Users/yuanwei/eos/tools/Boost_INCLUDE_DIR
used as include directory in directory /Users/yuanwei/eos/tools
Boost_INCLUDE_DIR (ADVANCED)
used as include directory in directory /Users/yuanwei/eos/contracts/proxy
-- Configuring incomplete, errors occurred!
See also "/Users/yuanwei/eos/build/CMakeFiles/CMakeOutput.log".
>>>>>>>>>>>>>>>>>>>> CMAKE building EOSIO has exited with the above error.
I ran into the same error on ubuntu 16.04. The root cause was a naming mismatch during the boost source download and extraction.
I fixed the issue by editing eos/scripts/eosio_build_ubuntu.sh line 113.
old: tar xf boost.1.66.0.tar.bz2
new: tar xf boost_1_66_0.tar.bz2
It looks like the eos_build_amazon.sh has the same issue.
After the edit the build completed successfully.
It looks as though that typo managed to slip back into the repo, Ill be pushing a PR to straighten that out today.
@pacificcode , I am wondering, is that possible we put all the needed package into a Dockerfile and use the running container as the toolchain?
Like: https://github.com/hixichen/toolchains/tree/master/golang-toolchain
@hixichen We have a docker solution available in the master repo.
/path/to/eos/docker
Were still working on adding features and extras at this time.
Thanks for the input.
@WildBlackBear try to reinstall boost
brew reinstall boost
Most helpful comment
I looked at the $HOME/eos/scripts/eosio_build_ubuntu.sh script and despite the if statement, for some reason, boost was not getting installed, so I did the installation myself, so that shell script would enter the else branch.
Under $HOME/opt:
curl -LO https://dl.bintray.com/boostorg/release/1.66.0/source/boost_1_66_0.tar.bz2
tar xvf boost_1_66_0.tar.bz2
BOOST_ROOT=/$HOME/opt/boost_1_66_0
export BOOST_ROOT
echo $BOOST_ROOT (To verify the export worked, returned as expected /home/rajita/opt/boost_1_66_0)