[llvm-dev] (Thin)LTO llvm build

Carsten Mattner via llvm-dev llvm-dev at lists.llvm.org
Fri Sep 16 14:18:56 PDT 2016


On Fri, Sep 16, 2016 at 10:54 PM, Mehdi Amini <mehdi.amini at apple.com> wrote:

> Can you look for the specific errors in the CMake log and error files?
>
> CMake is very good at not presenting the real issue…
> Here it is trying to build very simple programs to check features
> availability. Like:
>
>    #include <strings.h>
>    int main() { ffs(0); return 0; }

In CMakeError.log there are errors like:

CheckIncludeFile.c:1:10: fatal error: 'malloc/malloc.h' file not found
#include <malloc/malloc.h>

...

CheckIncludeFile.c:1:10: fatal error: 'ndir.h' file not found
#include <ndir.h>

...

CheckIncludeFile.c:1:10: fatal error: 'sys/ndir.h' file not found
#include <sys/ndir.h>

...

fatal error: 'intrin.h' file not found

These seem like tests that are expected to fail.

...

The interesting test

  int main() { __builtin_ffs(0); return 0; }

fails like this:

/usr/bin/ld[...]llvm/bin/../lib/LLVMgold.so:
cannot open shared object file: No such file[...]

I have two questions here:

Is there anything I might have missed when configuring the gcc-built
llvm install for it to be incomplete in the linker department? I mean,
the system linker is used (not lld) and that via CC=clang is looking
for the gold linker plugin, which seems to be missing. Probably
something got lost in my transition from autoconf to cmake?

Anything else to pass to cmake so that it, in addition to llvm-ar and
llvm-ranlib, also used lld? Or isn't that a requirement for building
with ThinLTO?


More information about the llvm-dev mailing list