On 4/25/19 6:11 PM, Thomas König wrote:
Hi Tomas,
On 4/23/19 2:59 PM, Thomas König wrote:
Hi,
there can be an issue with recent gcc where the system-installed "ar"
and "ranlib" commands cannot handle LTO binaries. On compilation, this
manifests itself with error messages claiming that they need extra
plugins.
Thanks for the report. What was the version of binutils on the system
with this problem? On my Ubuntu 18.04 I can use the binutils version
of "ar" and "ranlib" with --enable-lto without problems. I read that
with recent binutils (2.25?), the LTO plugin should be loaded
automatically, so one does not have to use the wrappers anymore.
This was with, on x86_64-pc-linux-gnu,
GNU ar (GNU Binutils; openSUSE Leap 42.3) 2.31.1.20180828-19
and, on powerpc64le-unknown-linux-gnu,
GNU ar version 2.27-34.base.el7
both with a recent gcc 9.0.1 snapshot.
Thanks. I can reproduce with Leap 42.3 and gcc-8, the binutils ar fails
with errors "plugin needed to handle lto object". This is because "ar"
cannot find the LTO plugin liblto_plugin.so. The plugin needs to be in
directory /usr/lib/bfd-plugins for ar/nm/ranlib to find it. On 42.3, gcc
installation fails to create that directory and link its plugin there. I
read that the problem is fixed in Leap 45. To work this around in Leap
42.3, one may build R using the wrappers (AR=gcc-ar RANLIB=gcc-ranlib
NM=gcc-nm) or create the link.
mkdir /usr/lib/bfd-plugins
ln -s /usr/lib64/gcc/x86_64-suse-linux/8/liblto_plugin.so
/usr/lib/bfd-plugins
Similar wrappers exist also for LLVM, but I read that LLVM installation
on Leap 42.3 links its plugin properly from /usr/lib/bfd-plugins.
Best
Tomas
Regards
Thomas
______________________________________________
R-devel@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-devel