I am trying to build EOS from an Ubuntu machine - the following error keeps happening:
CMake Error at libraries/CMakeLists.txt:2 (add_subdirectory):
The source directory
/some/linux/dir/eos-101117/libraries/chainbase
does not contain a CMakeLists.txt file.
CMake Error at libraries/CMakeLists.txt:9 (add_subdirectory):
The source directory
/some/linux/dir/eos-101117/libraries/appbase
does not contain a CMakeLists.txt file.
-- Git commit revision: 6ec8cffc
-- Git commit revision: 6ec8cffc
-- Git commit revision: 6ec8cffc
CMake Warning at plugins/db_plugin/CMakeLists.txt:6 (find_package):
By not providing "Findlibmongoc-1.0.cmake" in CMAKE_MODULE_PATH this
project has asked CMake to find a package configuration file provided by
"libmongoc-1.0", but CMake did not find one.
Could not find a package configuration file provided by "libmongoc-1.0"
(requested version 1.8) with any of the following names:
libmongoc-1.0Config.cmake
libmongoc-1.0-config.cmake
Add the installation prefix of "libmongoc-1.0" to CMAKE_PREFIX_PATH or set
"libmongoc-1.0_DIR" to a directory containing one of the above files. If
"libmongoc-1.0" provides a separate development package or SDK, be sure it
has been installed.
Could NOT find MongoDB. db_plugin with MongoDB support will not be included.
-- Could NOT find Doxygen (missing: DOXYGEN_EXECUTABLE)
-- Doxygen not found. Contract documentation will not be generated.
-- Configuring incomplete, errors occurred!
I have same errors, have you solved the problem
I don't think you need Mongo. I was able to successfully build it from source (not using the ./build.sh ubuntu command)
The error is not about Mongo, but about missing dependencies in the 'libraries' folder.
This is because you don't have the submodules (forgot '--recursive' when doing 'git clone' ?)
Checkout the submodules using:
git submodule update --init --recursive
This will pull in the additional git submodules.
Then you can run ./build.sh
Just use following steps:
wget https://github.com/mongodb/mongo-c-driver/releases/download/1.8.0/mongo-c-driver-1.8.0.tar.gz
tar xzf mongo-c-driver-1.8.0.tar.gz
cd mongo-c-driver-1.8.0
./configure --disable-automatic-init-and-cleanup --enable-static
make
sudo make install
git clone https://github.com/mongodb/mongo-cxx-driver.git --branch releases/stable --depth 1
cd mongo-cxx-driver/build
cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr/local ..
sudo make EP_mnmlstc_core
make
sudo make install
sudo apt-get install mongodb
@gaolitao there is one line missing at the beginning.
sudo apt-get install pkg-config libssl-dev libsasl2-dev
The Instruction is inside source code.
https://github.com/EOSIO/eos/blob/master/plugins/db_plugin/CMakeLists.txt#L36
@gaolitao I'm getting this error when running cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr/local ..
CMake Error at src/bsoncxx/CMakeLists.txt:81 (find_package):
Could not find a configuration file for package "libbson-1.0" that is
compatible with requested version "1.9.2".
The following configuration files were considered but not accepted:
/usr/local/lib/cmake/libbson-1.0/libbson-1.0-config.cmake, version: 1.8.0
-- Configuring incomplete, errors occurred!
See also "/home/User/mongo-c-driver-1.8.0/mongo-cxx-driver/build/CMakeFiles/CMakeOutput.log".
Do you have any suggestions?
@Babaloncryptolog
I have same errors, i had solved the problem, you should install mongo-c-driver-1.9.2 because it is mongo-cxx-driver-1.9.2 ,download link https://github.com/mongodb/mongo-c-driver/releases
@icodezjb Is the mongo-c-driver-1.9.3 driver too new?
@remcoros Solved. thx. 馃憤
Commented out every exit statement related to mongo in /path/to/eos/scripts/eosio_build_ubuntu.sh and it worked
old build issue.
@heifner Having this issue now, fresh clone from master, on a fresh Ubuntu aws image. What do you mean old build issue?
I have this error at this time..
Hi, I have got these errors.
../Runtime/libRuntime.a(LLVMJIT.cpp.o):(.rodata+0x80): undefined reference to typeinfo for llvm::JITSymbolResolver'
../Runtime/libRuntime.a(LLVMJIT.cpp.o):(.rodata._ZTIN7LLVMJIT17UnitMemoryManagerE[_ZTIN7LLVMJIT17UnitMemoryManagerE]+0x10): undefined reference totypeinfo for llvm::RTDyldMemoryManager'
../Runtime/libRuntime.a(LLVMJIT.cpp.o):(.rodata._ZTIN4llvm18MCJITMemoryManagerE[_ZTIN4llvm18MCJITMemoryManagerE]+0x10): undefined reference to typeinfo for llvm::RuntimeDyld::MemoryManager'
../Runtime/libRuntime.a(LLVMJIT.cpp.o):(.rodata._ZTIN4llvm17raw_pwrite_streamE[_ZTIN4llvm17raw_pwrite_streamE]+0x10): undefined reference totypeinfo for llvm::raw_ostream'
../Runtime/libRuntime.a(LLVMJIT.cpp.o):(.rodata._ZTIN4llvm18ObjectMemoryBufferE[_ZTIN4llvm18ObjectMemoryBufferE]+0x10): undefined reference to typeinfo for llvm::MemoryBuffer'
../Runtime/libRuntime.a(LLVMJIT.cpp.o):(.rodata._ZTIN4llvm9ErrorInfoINS_9ErrorListENS_13ErrorInfoBaseEEE[_ZTIN4llvm9ErrorInfoINS_9ErrorListENS_13ErrorInfoBaseEEE]+0x10): undefined reference totypeinfo for llvm::ErrorInfoBase'
../Runtime/libRuntime.a(LLVMEmitIR.cpp.o):(.rodata._ZTIN4llvm10SelectInstE[_ZTIN4llvm10SelectInstE]+0x10): undefined reference to typeinfo for llvm::Instruction'
../Runtime/libRuntime.a(LLVMEmitIR.cpp.o):(.rodata._ZTIN4llvm8FCmpInstE[_ZTIN4llvm8FCmpInstE]+0x10): undefined reference totypeinfo for llvm::CmpInst'
clang: error: linker command failed with exit code 1 (use -v to see invocation)
libraries/wasm-jit/Source/Programs/CMakeFiles/wavm.dir/build.make:130: recipe for target 'libraries/wasm-jit/Source/Programs/wavm' failed
make[2]: * [libraries/wasm-jit/Source/Programs/wavm] Error 1
CMakeFiles/Makefile2:1332: recipe for target 'libraries/wasm-jit/Source/Programs/CMakeFiles/wavm.dir/all' failed
make[1]: [libraries/wasm-jit/Source/Programs/CMakeFiles/wavm.dir/all] Error 2
Makefile:162: recipe for target 'all' failed
make: ** [all] Error 2
@gaolitao I encountered the same issue, according the part one of your idea, I solved it. Thanks a lot!
Most helpful comment
The error is not about Mongo, but about missing dependencies in the 'libraries' folder.
This is because you don't have the submodules (forgot '--recursive' when doing 'git clone' ?)
Checkout the submodules using:
This will pull in the additional git submodules.
Then you can run ./build.sh