Build failure while experimenting with LTO

Davide Italiano dccitaliano at
Mon Jun 27 01:48:32 UTC 2016

I'm experimenting a bit with LTO using clang and lld (the new LLVM linker).
I'm able to build a decent fraction of libreoffice if I invoke like this:

./ CC=~/work/llvm/build-release/bin/clang
AR=~/work/llvm/build-release/bin/llvm-ar RANLIB=/usr/bin/true
LDFLAGS="-fuse-ld=lld" CFLAGS="-flto" CXXFLAGS="-flto" --without-java
--without-help --without-myspell-dicts --disable-liblangtag
--with-system-curl --with-system-lcms2

(please note that as long as I'm using the LLVM tools I don't need
plugin(s) as binutils does).

I set up my PATH so that ld symlinks to lld.

$ ld --version
LLD 3.9 ( 273771)

After some librabries/executables are built/linked successfully I hit
the following:

[build DEP] LNK:Library/
[build LNK] Library/
*** file /home/davide/lto_experiments/libreoffice/workdir/UnpackedTarball/coinmp/Cbc/src/.libs/
does not exist in the tarball.  Stop.
make[1]: *** Waiting for unfinished jobs....
Makefile:254: recipe for target 'build' failed
make: *** [build] Error 2

$ find . -name "*"

So I decided to build libCbc by myself going in the correct directory
and invoking make:

$ cd ./workdir/UnpackedTarball/coinmp/Cbc/ && ./configure && make

but still the build fails with the same error.
Any ideas why the library is not built? Is this a bug in LLVM or in
the build system?

As a side note, I'm able to finish successfully a non-LTO build with clang+lld.



More information about the LibreOffice mailing list