maidsafe-archive / MaidSafe

This is the super-project in which each MaidSafe library resides. Some information is common to all libraries, and is detailed here. Library-specific information can be found in each library's wiki.
Other
583 stars 102 forks source link

Implements BSD build support #120

Closed ned14 closed 10 years ago

ned14 commented 10 years ago

Also:

dirvine commented 10 years ago

On Fri, May 30, 2014 at 8:51 PM, Niall Douglas notifications@github.com wrote:

RUDP is now my fork.

Excellent Niall, but what does this part gain any of us? Is it easier for you in some way?

Cheers chap

David Irvine twitter: @metaquestions blog: http://metaquestions.me

ned14 commented 10 years ago

It's been reverted to your copy for the pull request. I'd expect to be making very breaking changes as I work on RUDP, so I felt a fork would isolate you from those. After all you have a launch to do!

ned14 commented 10 years ago

FYI I have TESTrudp and TESTrouting running on FreeBSD and which can be viewed at https://ci.nedprod.com/job/Maidsafe/. There is a segfault though, which could be it running out of RAM. Do we know how much RAM these tests might consume?

dirvine commented 10 years ago

On Sat, May 31, 2014 at 2:51 PM, Niall Douglas notifications@github.com wrote:

Do we know how much RAM these tests might consume?

Not really I suppose it will be hardware dependent to an extent ? I can do a run to check how much we use on x64 clang if it helps

David Irvine twitter: @metaquestions blog: http://metaquestions.me

ned14 commented 10 years ago

pid 85782 (TESTrudp), uid 1002: exited on signal 6 (core dumped) pid 85783 (TESTrudp), uid 1002: exited on signal 6 (core dumped) pid 85784 (TESTrudp), uid 1002: exited on signal 6 (core dumped) pid 85785 (TESTrudp), uid 1002: exited on signal 6 (core dumped) pid 85786 (TESTrudp), uid 1002: exited on signal 6 (core dumped) pid 85781 (TESTrudp), uid 1002: exited on signal 6 (core dumped) pid 85801 (TESTrudp), uid 1002: exited on signal 6 (core dumped) pid 85802 (TESTrudp), uid 1002: exited on signal 6 (core dumped) pid 85803 (TESTrudp), uid 1002: exited on signal 6 (core dumped) pid 85804 (TESTrudp), uid 1002: exited on signal 6 (core dumped) pid 85805 (TESTrudp), uid 1002: exited on signal 6 (core dumped) pid 85809 (TESTrudp), uid 1002: exited on signal 6 (core dumped) pid 85810 (TESTrudp), uid 1002: exited on signal 6 (core dumped) pid 85811 (TESTrudp), uid 1002: exited on signal 6 (core dumped) pid 85812 (TESTrudp), uid 1002: exited on signal 6 (core dumped) pid 85813 (TESTrudp), uid 1002: exited on signal 6 (core dumped) pid 85828 (TESTrudp), uid 1002: exited on signal 6 (core dumped) pid 85829 (TESTrudp), uid 1002: exited on signal 6 (core dumped) pid 85830 (TESTrudp), uid 1002: exited on signal 6 (core dumped) pid 85831 (TESTrudp), uid 1002: exited on signal 6 (core dumped) pid 85832 (TESTrudp), uid 1002: exited on signal 6 (core dumped) pid 85852 (TESTrudp), uid 1002: exited on signal 6 (core dumped) pid 85853 (TESTrudp), uid 1002: exited on signal 6 (core dumped) pid 85854 (TESTrudp), uid 1002: exited on signal 6 (core dumped) pid 85855 (TESTrudp), uid 1002: exited on signal 6 (core dumped) pid 85856 (TESTrudp), uid 1002: exited on signal 6 (core dumped) pid 85859 (TESTrouting), uid 1002: exited on signal 11 (core dumped) pid 85875 (TESTrouting), uid 1002: exited on signal 11 (core dumped) pid 85891 (TESTrouting), uid 1002: exited on signal 11 (core dumped) pid 85911 (TESTrouting), uid 1002: exited on signal 11 (core dumped) pid 85917 (TESTrouting), uid 1002: exited on signal 11 (core dumped)

Signal 6 is SIGABRT and 11 is SIGSEGV. I'd say there are asserts firing, probably because something which works on Linux does not on BSD. I'll look into it Monday, back to maths study for me right now, exam is just ten days away now.

Fraser999 commented 10 years ago

Yeah - we're thinking it's OK to leave on the "major.minor" part of ${CMAKE_CXX_COMPILER_VERSION}, but strip the patch part. So we're passing "g++-4.8". Do you know if b2 will be OK with e.g. "clang-5.1". No worries if you don't know - we can easily test.

ned14 commented 10 years ago

Well, I came up with this, not sure if it works yet:

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

If b2 is fed a version of a tool it doesn't know about, it falls back to PATH. This can be subverted to be very useful :) Generally however they keep up to date with new toolsets, though GCC much more so than clang which lags.

Besides, the next release of Boost is who knows when currently. I read a post there that currently just four libraries are building or something from head. Sigh.

Fraser999 commented 10 years ago

I think with a double escape it should be fine "[0-9]+\\.[0-9]+".

ned14 commented 10 years ago

Ok, fix tested and pushed.

chandraprakash commented 10 years ago

Thanks Niall ! I tested Clang and Gcc with this change. Its still building, but builds boost okay.