Hi there. I’m following the guide[1] to building Maidsafe. But I get trouble when I reach this step:
cmake .
The error message I get:
-- This system is called Linux.
-- Undefined behaviour sanitiser not available in this compiler.
================================================================================
Configuring third party projects on 'master' branch of super-project
--------------------------------------------------------------------
CMake Error at cmake_modules/add_boost.cmake:303 (message):
For libicui18n.a, libicuuc.a & licudata.a must be installed to a standard location. on Ubuntu/Debian, run
sudo apt-get install libicu-dev
Call Stack (most recent call first):
src/third_party_libs/CMakeLists.txt:31 (include)
I have installed fedora’s equivilant of libicu-dev (libicu-devel), but I am unable to locate any files named “libicui18n.a”.
This is the static library that is missing. This is used for regex due to gcc regex being incomplete (need to check 4.9 though). The missing file is the internationalised version (unicode ?). It may be called something different on fedora or in fact installed in the package you mention. Can you provide a yum list package or whatever the yum command is (sorry).
You can perhaps take a look and check the required libs to recompile boost_regex? these should satisfy your dependencies. It would be great if you could let us know the required libs for fedora and we can update the build instructions (or a pull request would be amazing).
TL;DR
If you did install boost_regex it would install the deps I believe, we do not use installed versions so this would be safe and you can comment out the check.
Yes we need to check that out, I am too busy at the moment but appreciate anything you can do, those files must be somewhere in the repos, maybe a new package name?
Had to repeat the previous exercise for a bunch of other cmake files - hopefully it might finish this time . . not quite:
[ 73%] Building CXX object src/vault/CMakeFiles/maidsafe_vault_version_handler.dir/src/maidsafe/vault/version_handler/dispatcher.cc.o
In file included from /home/phil/src/c++/MaidSafe/src/vault/src/maidsafe/vault/version_handler/dispatcher.h:30:0,
from /home/phil/src/c++/MaidSafe/src/vault/src/maidsafe/vault/version_handler/dispatcher.cc:20:
/home/phil/src/c++/MaidSafe/src/vault/src/maidsafe/vault/utils.h:25:24: fatal error: leveldb/db.h: No such file or directory #include “leveldb/db.h”
looks like I am stuck on this one . . it doesn’t appear to be something I can fix . .
We use submodules so the main repo (MaidSafe) may be on next but all subprojects may not be. the submodule command works, or you cna do other stuff like submodule update etc. We really should get master synchronised with every testnet, its just we are going like mad and miss this out sometimes. We will get Qa to make sure master is synced properly and tagged with testnet number.
If you have leveldb messages then it would seem that is not next, unsure but sometimes you may need to delete the CmakeCache.txt file and run cmake again. Defo if you see leveldb then its wrong.
I started from scratch with the git clone and init commands, did the the Fedora cmake changes but I still get the leveldb error at 73% on the make. It looks like the leveldb stuff is still there to me . .
On branch next
Your branch is up-to-date with ‘origin/next’.
Changes not staged for commit:
(use “git add …” to update what will be committed)
(use “git checkout – …” to discard changes in working directory)
(commit or discard the untracked or modified content in submodules)