Build failure while experimenting with LTO
dccitaliano at gmail.com
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
autogen.sh like this:
LDFLAGS="-fuse-ld=lld" CFLAGS="-flto" CXXFLAGS="-flto" --without-java
--without-help --without-myspell-dicts --disable-liblangtag
(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 (https://llvm.org/svn/llvm-project/lld/trunk 273771)
After some librabries/executables are built/linked successfully I hit
[build DEP] LNK:Library/libbiblo.so
[build LNK] Library/libbiblo.so
*** file /home/davide/lto_experiments/libreoffice/workdir/UnpackedTarball/coinmp/Cbc/src/.libs/libCbc.so.3.8.8
does not exist in the tarball. Stop.
make: *** Waiting for unfinished jobs....
Makefile:254: recipe for target 'build' failed
make: *** [build] Error 2
$ find . -name "libCbc.so*"
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