-
Notifications
You must be signed in to change notification settings - Fork 48
Conversation
Looks like some builds are failing https://travis-ci.org/Project-OSRM/node-osrm/builds/111112017 but I can not see why from staring at the npm log that I get on Travis. |
Now that the lto binutils wrappers work, ccache does not pick them up. Nice.
|
This got out of sync. with osrm-backend for some reason. Re-triggering to see if it helps. |
Travis still not pulling in the osrm-backend changes, especially not this line: https://github.com/Project-OSRM/osrm-backend/pull/1975/files#diff-af3b638bc2a3e6c650974192a53c7291R32. |
@@ -12,7 +12,7 @@ CURRENT_DIR=$(pwd) | |||
# default to clang | |||
CXX=${CXX:-clang++} | |||
TARGET=${TARGET:-Release} | |||
OSRM_RELEASE=${OSRM_RELEASE:-"develop"} | |||
OSRM_RELEASE=${OSRM_RELEASE:-"c++14"} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
You need to also update OSRM_RELEASE
in .travis.yml
. This is only used for local builds!
@daniel-j-h seems like we are hitting internal compiler errors? oO https://travis-ci.org/Project-OSRM/node-osrm/jobs/113076067#L789 |
Yep. No idea what to think of it. What strikes me is that we're using GCC 5.2 when 5.3 is the stable release. But GCC 5.3 is only packaged for 14.04 in the |
Still blocked by ^ @springmeyer is it possible to package not only direct dependencies but also compiler and stdlib (e.g. gcc 5.3 or even gcc 6 already as it is in it's last weeks before release) with mason and then use it on Travis? |
@daniel-j-h yes, it should be possible but would be a big lift. I think we should get to the bottom of why the existing g++-5 build is being killed. My hunch is that it is running out of memory and the OOM is killing the compiler. We default to 3 parallel jobs which may be too much. So I've pushed a testing branch to see if running with 1 JOB can dodge the issue. |
In testing I found that:
Note: all of the above issues are with osrm-backend with g++5.2 + mason deps. Nothing yet seems to be unique to c++14. Not yet tried to get node-osrm running at all. |
Noting that this linking error is the only thing now breaking with the osrm-backend compile with g++ 5.2 and -flto. It is fixable by not using -flto, or by upgrading to g++ 5.3:
|
Hm yes that's why I had to export them here: 34ea54a if we remove it from CMake users on gcc 4.9+ also have to export nm/ar/ranlib with the gcc-lto-wrappers.
That's a surprise to me, since at least @TheMarex builds it all the time locally with gcc 5.2+ (?) and my local Nix setup also used gcc 5.3. /edit: just read your second comment: ha, so gcc 5.2 is broken in that regard. Upgrding to gcc 5.3 is not possible as the ppa only packages it for Trusty (14.04) but node-osrm's Travis setup does not run on Trusty.
But then we don't get lto for our builds :) Good to know it's not C++14 causing these issues, though. |
per chat with @daniel-j-h - this linking error only impacts But... before giving up I'll note a few more things from investigations. I've found that
However, this is with clang++-3.7 and the normal AR, RANLIB, NM settings. I've found that this can be fixed by setting So, next I tried a full build with clang++-3.7 + the llvm tools for AR and RANLIB. This bailed with:
Which looks like a gold linker bug (https://sourceware.org/bugzilla/show_bug.cgi?id=14342). Noting for future reference that I'm hitting this with
And the normal linker on ubuntu precise is:
Next action: try upgrading |
\o/ Success. Combining |
Wow, great results @springmeyer! Interesting how binutils comes into play here! Nice 🎉 |
My next actions here:
Assuming the above steps go well, then:
|
Please close and reopen on |
Now at #227 |
See if Travis gives okay for Project-OSRM/osrm-backend#1975