Build failure while experimenting with LTO
Davide Italiano
dccitaliano at gmail.com
Mon Jun 27 01:48:32 UTC 2016
Hi,
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:
./autogen.sh CC=~/work/llvm/build-release/bin/clang
CXX=~/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 (https://llvm.org/svn/llvm-project/lld/trunk 273771)
After some librabries/executables are built/linked successfully I hit
the following:
[build DEP] LNK:Library/libbiblo.so
[build LNK] Library/libbiblo.so
/home/davide/lto_experiments/libreoffice/external/coinmp/ExternalPackage_coinmp.mk:31:
*** 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[1]: *** 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.
Thanks!
--
Davide
More information about the LibreOffice
mailing list