[systemd-devel] Build errors with lto and compat-libs

Michael Olbrich m.olbrich at pengutronix.de
Tue Aug 26 06:15:02 PDT 2014


On Mon, Aug 18, 2014 at 03:48:09PM +0200, Lennart Poettering wrote:
> On Sun, 17.08.14 09:54, Michael Olbrich (m.olbrich at pengutronix.de) wrote:
> > With --enable-compat-libs building fails like this:
> > 
> >   CCLD     libsystemd-journal.la
> > [...]
> > /tmp/ccISOiYU.ltrans1.ltrans.o: In function `sd_journal_process':
> > ccISOiYU.ltrans1.o:(.text+0x0): multiple definition of `sd_journal_process'
> > libsystemd_journal_internal_la-sd-journal.o (symbol from plugin):(.text+0x0): first defined here
> > [...]
> > for all symbols listed in src/compat-libs/libsystemd-journal.sym
> > 
> > I have no idea what happens here, but making 'obsolete_lib()' a noop or
> > removing lto from configure.ac 'fixes' the problem.
> > 
> > This is with gcc-4.8.2 and binutils-2.24 building for ARM.
> > 
> > Any ideas what happens here?
> 
> No really. But I figure LTO is not very reliable on ARM and stuff. It's
> probably best to turn it off there.

Well it looks like it fails on x86 as well here, with the same compiler
version. I can run configure with cc_cv_CFLAGS__flto=no here. I'm not sure,
how an upstream fix should look like.

Michael

-- 
Pengutronix e.K.                           |                             |
Industrial Linux Solutions                 | http://www.pengutronix.de/  |
Peiner Str. 6-8, 31137 Hildesheim, Germany | Phone: +49-5121-206917-0    |
Amtsgericht Hildesheim, HRA 2686           | Fax:   +49-5121-206917-5555 |


More information about the systemd-devel mailing list