Build failure while experimenting with LTO

Davide Italiano dccitaliano at gmail.com
Mon Jun 27 22:00:09 UTC 2016


On Sun, Jun 26, 2016 at 6:50 PM, Davide Italiano <dccitaliano at gmail.com> wrote:
> On Sun, Jun 26, 2016 at 6:48 PM, Davide Italiano <dccitaliano at gmail.com> wrote:
>> 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
>
> Also, FWIW this is the revision I'm at:
>
> commit 63f15b36f7a196edb20ce7a0aba6f6b3d28dd652
> Author: Ashod Nakashian <ashod.nakashian at collabora.co.uk>
> Date:   Sun Jun 12 22:04:50 2016 -0400
>
> --
> Davide

I refreshed to:

commit 04136c95c5be30004e627f2866fe6ecea60a04f1
Author: Muhammet Kara <muhammet.kara at pardus.org.tr>
Date:   Fri Jun 17 15:24:19 2016 +0300

    Move accessibility relations to .ui files, Part 10: tdf#87026

$ ~/work/llvm/build-release/bin/clang --version
clang version 3.9.0 (trunk 273841) (llvm/trunk 273938)

$ ~/work/llvm/build-release/bin/clang++ --version
clang version 3.9.0 (trunk 273841) (llvm/trunk 273938)

clang is upstream clang + the patch for abi_attribute.

but the problem is still there :( BTW, I think this is related to
clang because I'm able to reproduce without LTO:

$ ./autogen.sh CC=~/work/llvm/build-release/bin/clang
CXX=~/work/llvm/build-release/bin/clang++ --enable-dbgutil
--without-java --without-help --without-myspell-dicts

[build EPK] fonts_carlito
[build EPK] fonts_dejavu
[build EPK] fonts_gentium
[build EPK] fonts_liberation
[build EPK] fonts_liberation_narrow
[build EPK] fonts_libertineg
[build EPK] fonts_opensans
[build EPK] fonts_ptserif
[build EPK] fonts_sourcecode
[build EPK] fonts_sourcesans
[build UPK] a8c2c5b8f09e7ede322d5c602ff6a4b6-mythes-1.2.4.tar.gz
[build MOD] poppler
/home/davide/lto_experiments/libreoffice/external/redland/ExternalPackage_raptor.mk:21:
*** file /home/davide/lto_experiments/libreoffice/workdir/UnpackedTarball/raptor/src/.libs/libraptor2-lo.so.0.0.0
does not exist in the tarball.  Stop.

Any ideas on how to debug this?

Thanks!

--
Davide


More information about the LibreOffice mailing list