SizzlingStats / sizzlingplugins

Various client and server plugins developed in C++ for Team Fortress(R) 2 and the Source(R) Engine.
sizzlingstats.com
Other
9 stars 3 forks source link

CI build env fix #28

Closed pliesveld closed 8 years ago

pliesveld commented 8 years ago

adds clang and clang++ to PATH

SizzlingCalamari commented 8 years ago

Fixes this?

/usr/bin/ld: /usr/bin/../lib/LLVMgold.so: error loading plugin: /usr/bin/../lib/LLVMgold.so: cannot open shared object file: No such file or directory
clang: error: linker command failed with exit code 1 (use -v to see invocation)
pliesveld commented 8 years ago

The package installs the binary clang-3.4, but your build process was looking for clang.

To fix the LLVMgold error; I found this article: https://techoverflow.net/blog/2013/02/17/how-to-compile-and-install-llvm-gold-plugin-llvmgold-so-on-linux/

Can you use the 64-bit compiler to compile 32bit arch using -m32 ?

SizzlingCalamari commented 8 years ago

Actually, I think I recall the llvm gold thing being a build system issue. http://llvm.org/docs/GoldPlugin.html Building with link time optimization requires cooperation from the system linker. LTO support on Linux systems requires that you use the gold linker which supports LTO via plugins. This is the same mechanism used by the GCC LTO project.

We could either disable LTO for the time being, or modify the build to install the gold plugin. In sizzlingplugins.lua, "LinkTimeOptimization".

For clang, last time I tried, there was an issue installing the 64-bit compiler with 32-bit support libraries required for -m32. Feel free to give it a shot though though. Also, clang-3.4 was an arbitrary choice, if you have more luck getting a recent version working, that's fine too.