Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

How to build Cxx on Travis #385

Closed
wbhart opened this issue Jun 12, 2018 · 5 comments
Closed

How to build Cxx on Travis #385

wbhart opened this issue Jun 12, 2018 · 5 comments

Comments

@wbhart
Copy link

wbhart commented Jun 12, 2018

Does anyone know how to build Cxx on Travis (as a prereq for another project).

As Cxx is building, I get a lot of "g++: internal compiler error: Killed (program cc1plus)" errors, which presumably indicates it is running out of memory and or trying to use too many cores.

Is this a known issue? Is there a known workaround?

@wbhart
Copy link
Author

wbhart commented Jun 13, 2018

We discovered that one has to use a flag to make use of prebuilt binaries. However, Cxx still needs to build a small component, which fails to link on Linux, with the message below. We are installing the version of binutils needed and setting the path, as specified in the .travis.yml file for Cxx.jl. But the linker still fails.

g++-6 -shared -fPIC -Lbuild/clang-3.9.1/lib -L/home/travis/julia/bin/../lib -L/home/travis/julia/bin/../lib/julia -ljulia-debug -lLLVM -o usr/lib/libcxxffi-debug.so -Wl,--whole-archive -lclangFrontendTool -lclangBasic -lclangLex -lclangDriver -lclangFrontend -lclangParse -lclangAST -lclangASTMatchers -lclangSema -lclangAnalysis -lclangEdit -lclangRewriteFrontend -lclangRewrite -lclangSerialization -lclangStaticAnalyzerCheckers -lclangStaticAnalyzerCore -lclangStaticAnalyzerFrontend -lclangTooling -lclangToolingCore -lclangCodeGen -lclangARCMigrate -lclangFormat -Wl,--no-whole-archive build/bootstrap.o 
/usr/bin/x86_64-linux-gnu-ld: build/clang-3.9.1/lib/libclangBasic.a(Targets.cpp.o): unrecognized relocation (0x2a) in section `.text._ZNK12_GLOBAL__N_113PPCTargetInfo32useFloat128ManglingForLongDoubleEv'
/usr/bin/x86_64-linux-gnu-ld: final link failed: Bad value
collect2: error: ld returned 1 exit status
make: *** [usr/lib/libcxxffi.so] Error 1
make: *** Waiting for unfinished jobs....
/usr/bin/x86_64-linux-gnu-ld: build/clang-3.9.1/lib/libclangBasic.a(Targets.cpp.o): unrecognized relocation (0x2a) in section `.text._ZNK12_GLOBAL__N_113PPCTargetInfo32useFloat128ManglingForLongDoubleEv'
/usr/bin/x86_64-linux-gnu-ld: final link failed: Bad value
collect2: error: ld returned 1 exit status
make: *** [usr/lib/libcxxffi-debug.so] Error 1

@wbhart
Copy link
Author

wbhart commented Jun 13, 2018

Here is our .travis.yml, in case anyone can spot what we are missing:

https://github.com/wbhart/Singular.jl/blob/master/.travis.yml

@wbhart
Copy link
Author

wbhart commented Jun 13, 2018

I think the relative path build/clang-3.9.1/lib may be incorrect when Cxx is built from another package. Perhaps it needs to be made an absolute path when building libcxxffi.so?

@Gnimuc
Copy link
Member

Gnimuc commented Apr 23, 2019

Cxx's build system has been switched to BB2. Now it uses pre-built binaries on Travis.

@Gnimuc
Copy link
Member

Gnimuc commented Dec 22, 2019

Now, source-build has also been improved in #450, which means it's possible to build on CI.

@Gnimuc Gnimuc closed this as completed Dec 22, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants