Building on Fedora x86_64 - current errors

@Ross,

That is much nicer! - it looks like the results were automatically uploaded so I guess you have access to them but this is the end of the output:

Performing coverage
Cannot find any coverage files. Ignoring Coverage request.
Submit files (using http)
Using HTTP submit method
Drop site:http://dash.maidsafe.net/submit.php?project=MaidSafe
Uploaded: /home/phil/src/c++/maidsafe/build_maidsafe/Testing/20150125-0253/Build.xml
Uploaded: /home/phil/src/c++/maidsafe/build_maidsafe/Testing/20150125-0253/Configure.xml
Uploaded: /home/phil/src/c++/maidsafe/build_maidsafe/Testing/20150125-0253/Test.xml
Submission successful
Errors while running CTest
CMakeFiles/Experimental.dir/build.make:49: recipe for target ‘CMakeFiles/Experimental’ failed
make[3]: *** [CMakeFiles/Experimental] Error 8
CMakeFiles/Makefile2:370: recipe for target ‘CMakeFiles/Experimental.dir/all’ failed
make[2]: *** [CMakeFiles/Experimental.dir/all] Error 2
CMakeFiles/Makefile2:378: recipe for target ‘CMakeFiles/Experimental.dir/rule’ failed
make[1]: *** [CMakeFiles/Experimental.dir/rule] Error 2
Makefile:291: recipe for target ‘Experimental’ failed
make: *** [Experimental] Error 2

Thanks,

Phil.

1 Like

@Ross,

I have done a second build with a little improvement in results (94% tests passed, 40 tests failed out of 695 vs the previous result of 94% tests passed, 42 tests failed out of 693) and I can now find the uploaded results here:

http://dash.maidsafe.net/index.php?project=MaidSafe&display=project

under “Experimental” so I am making slow progress . .

I am only a novice C++ programmer but is there some sort of debugging I can do now?

Thanks,

Phil.

Hi @philip_rhoades nice work
If you have spare hardware you could run Nightly CI jobs for us (Debug and Release)
You will find these in the build folder for example:
ctest -S CI_Nightly_Release.cmake
and of course come testnet 3 we will be looking for lots of community help :smiley:

2 Likes

@Ross,

I have been busy with other stuff for a while but have I have done the odd build every now and again to see how things were going - I just did another one which got all the way through but ended with:

Submit files (using http)
Using HTTP submit method
Drop site:http://dash.maidsafe.net/submit.php?project=MaidSafe
Uploaded: /home/phil/src/c++/build_maidsafe/Testing/20150313-0155/Build.xml
Uploaded: /home/phil/src/c++/build_maidsafe/Testing/20150313-0155/Configure.xml
Uploaded: /home/phil/src/c++/build_maidsafe/Testing/20150313-0155/Test.xml
Submission successful
Errors while running CTest
CMakeFiles/Experimental.dir/build.make:49: recipe for target ‘CMakeFiles/Experimental’ failed
make[3]: *** [CMakeFiles/Experimental] Error 8
CMakeFiles/Makefile2:370: recipe for target ‘CMakeFiles/Experimental.dir/all’ failed
make[2]: *** [CMakeFiles/Experimental.dir/all] Error 2
CMakeFiles/Makefile2:378: recipe for target ‘CMakeFiles/Experimental.dir/rule’ failed
make[1]: *** [CMakeFiles/Experimental.dir/rule] Error 2
Makefile:291: recipe for target ‘Experimental’ failed
make: *** [Experimental] Error 2

To get it to work I had to restore a line in my README recipe file to fix gcc problems again:

git clone git@github.com:maidsafe/MaidSafe
git -C MaidSafe submodule update --init
vim ./MaidSafe/cmake_modules/add_boost.cmake
Change:
find_library(Icui18nLib libicui18n.a)
find_library(IcuucLib libicuuc.a)
find_library(IcudataLib libicudata.a)
to:
.so
cmake -HMaidSafe -Bbuild_maidsafe -DCMAKE_BUILD_TYPE=Debug
cmake.sh # Removes “toolset=gcc-4.9;” from cmake files
cd build_maidsafe
make
make Experimental

but the main thing that I have been meaning to ask is: How do I do an incremental build? - whenever I have tried to do a “git pull” (instead of a “git clone . .”) in an existing MaidSafe dir and then proceed as normal through the rest of my README recipe, I always have a problem - so I have always had to start from a clean “git clone” again. Is there some trick I am missing?

Thanks,
Phil.

The last couple of attempts building from scratch - using:

cmake -HMaidSafe -Bbuild_maidsafe -DCMAKE_BUILD_TYPE=Debug

Fails with:

Configuring MaidSafe Launcher project on ‘HEAD’ at commit ‘02288b2’

– GTests included: All. 14 Google test(s) enabled.
– Didn’t find all required modules of Qt5. Not building Launcher UI.

– To see values of cached CMake variables, run ‘cmake . -N -LH’
– Cloning git@github.com:maidsafe/ContinuousIntegration
– Installers unavailable with Debug configuration
– Configuring done
CMake Error at cmake_modules/add_protoc_command.cmake:108 (add_custom_command):
Error evaluating generator expression:

$<TARGET_FILE:protoc>

No target “protoc”
Call Stack (most recent call first):
cmake_modules/utils.cmake:131 (ms_add_protoc_command)
src/encrypt/CMakeLists.txt:42 (ms_glob_dir)

P.

I haven’t tried this on fedora though if you just cloned the repositories; be sure that each one is on the correct head;

git checkout next

for each folder inside ~/MaidSafe/src/(repository name)

then build again;

@dallyshalla,

Same result but thanks.

Yes. Search the site for old posts about QA/dev.

You can. Create a Github account, fork or download the code and apply the PRs you want to test.

@janitor,

I have been using the command:

make Experimental

(as long as everything else works and I get to that stage) and that sends the test data off automatically.

1 Like

That seems to help! The build got all the way through with only six errors this time.

Thanks!

1 Like

People,

I finally got around to building a separate (beefier) workstation from my server and have just now tried the newer Rust-based builds. For building crust on Fedora 22 I get:

Compiling crust v0.2.1 (file:///home/phil/src/rust/maidsafe/crust)
src/beacon.rs:168:14: 168:58 error: no method named set_read_timeout found for type std::net::udp::UdpSocket in the current scope
src/beacon.rs:168 .set_read_timeout(Some(Duration::new(10, 0)));
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
error: aborting due to previous error
Could not compile crust.

Phil.

Are you using nightly for crust (unfortunately required for now)

@dirvine

I used this script:

I thought that would use nightlies?

Thanks,

Phil.

I do not see any rust version info there.

@dirvine,

Sorry, I thought you were talking about nightlies of crust not Rust! OK, so I got past that problem and after installing libsodium[-devel] RPMs everything built OK with only a couple of lint warnings.

Firstly - I don’t know how much of the C++ code this has replaced but it is SO much faster to get through this process!

Secondly - is there the equivalent of “make Experimental” to test the code?

Thanks!

Phil.

2 Likes

You can now do, in each library directory:

cargo test

Or

cargo build --example [example-name]

Look in the examples sub directory to find out what examples each library had and insert the name to build it. Then run it and hope the help / UI is self explanatory! :slight_smile:

Also

cargo doc

To build the docs (output under ./target)

1 Like

!00% plus we are much farther forward now. Significant improvements all around especially security. It’s a cool project now with a lot of easy to test conjectures, which makes the whole thing faster and much more efficient.

1 Like

I would agree. Everything of the update/install to running the tests/codes is lightening fast. I am getting so excited I can barely contain myself.

2 Likes

People,

I have modified this script:

to also build and test the code as well:

I do a “pull” serially but run the builds and tests in parallel on my new machine (putting each dir test in a new xterm) - as of just now, “crust” is the only one with errors and “cargo test” hangs indefinitely . .

Regards,
Phil.

1 Like

@happybeing,

Are results from different machines still being uploaded somewhere? Is there a command for doing that in this environment?

Thanks,
Phil.