Ticket 4899 - Build failure using ld.gold - ld: error: wildcard match appears as both global and local in version '' in script
Summary: Build failure using ld.gold - ld: error: wildcard match appears as both globa...
Status: OPEN
Alias: None
Product: Slurm
Classification: Unclassified
Component: Build System and Packaging (show other tickets)
Version: 17.11.4
Hardware: Linux Linux
: 5 - Enhancement
Assignee: Tim Wickberg
QA Contact:
URL:
Depends on:
Blocks:
 
Reported: 2018-03-11 13:31 MDT by Justin Lecher
Modified: 2018-11-10 00:52 MST (History)
1 user (show)

See Also:
Site: AstraZeneca
Alineos Sites: ---
Atos/Eviden Sites: ---
Confidential Site: ---
Coreweave sites: ---
Cray Sites: ---
DS9 clusters: ---
HPCnow Sites: ---
HPE Sites: ---
IBM Sites: ---
NOAA SIte: ---
NoveTech Sites: ---
Nvidia HWinf-CS Sites: ---
OCF Sites: ---
Recursion Pharma Sites: ---
SFW Sites: ---
SNIC sites: ---
Tzag Elita Sites: ---
Linux Distro: ---
Machine Name:
CLE Version:
Version Fixed:
Target Release: 18.08
DevPrio: ---
Emory-Cloud Sites: ---


Attachments

Note You need to log in before you can comment on or make changes to this ticket.
Description Justin Lecher 2018-03-11 13:31:54 MDT
When using ld.gold instead of ld.bfd I am hitting

make[5]: Leaving directory '/var/tmp/portage/sys-cluster/slurm-17.11.4/work/slurm-17.11.4/src/common'
/bin/sh ../../libtool  --tag=CC   --mode=link x86_64-pc-linux-gnu-gcc  -DNUMA_VERSION1_COMPATIBILITY -march=native -mtune=native -O2 -pipe -frecord-gcc-switches -fdiagnostics-color=always -Wformat -Werror=format-security -fdiagnostics-parseable-fixits -fdiagnostics-generate-patch -pthread  -avoid-version -Wl,--version-script=full_version.map -Wl,-O1 -Wl,--as-needed -Wl,-O1 -Wl,--hash-style=gnu -Wl,--sort-common  -o libslurmfull.la -rpath /usr/lib64/slurm  ../../src/api/libslurmhelper.la
libtool: link: x86_64-pc-linux-gnu-gcc -shared  -fPIC -DPIC  -Wl,--whole-archive ../../src/api/.libs/libslurmhelper.a -Wl,--no-whole-archive  -Wl,--as-needed -ldl -lpthread  -march=native -mtune=native -O2 -pthread -Wl,--version-script=full_version.map -Wl,-O1 -Wl,-O1 -Wl,--hash-style=gnu -Wl,--sort-common   -pthread -Wl,-soname -Wl,libslurmfull.so -o .libs/libslurmfull.so
/usr/lib/gcc/x86_64-pc-linux-gnu/7.3.0/../../../../x86_64-pc-linux-gnu/bin/ld: error: wildcard match appears as both global and local in version '' in script
collect2: error: ld returned 1 exit status
make[4]: *** [Makefile:878: libslurmfull.la] Error 1
make[4]: Leaving directory '/var/tmp/portage/sys-cluster/slurm-17.11.4/work/slurm-17.11.4/src/api'


I am not exactly sure if that is because gold is too strict or there is something not correct, but after reading [1] I have the feeling it might be the later. Although I cannot help with a fix here.

1)
https://www.airs.com/blog/archives/300
Comment 1 Tim Wickberg 2018-03-12 13:41:37 MDT
Hey Justin -

Is there a specific reason you need gold instead of stock ld? This is obviously not a configuration we've tested out, and it looks like any significant change around this would need to wait for the next major release.

In the meantime, I think disabling libslurmfull (--disable-shared) would bypass this problem, although that's obviously not ideal.

- Tim
Comment 2 Justin Lecher 2018-03-12 13:45:13 MDT
Hi Tim

gold offers many advantages on link-time compared to the old-school bfd. This is why I normally try to use it. Please consider this as a real low priority issue. Would be nice if we can resolve it on a long run though.

Best,
Justin
Comment 3 Tim Wickberg 2018-04-03 22:42:00 MDT
Just updating some of this. I'm still looking into approaches for solving this, but any significant change to how the libslurmfull is generated will need to wait for a major release.
Comment 4 Luca Capello 2018-11-09 03:12:04 MST
Hi there,

(In reply to Tim Wickberg from comment #1)
> Is there a specific reason you need gold instead of stock ld? This is
> obviously not a configuration we've tested out, and it looks like any
> significant change around this would need to wait for the next major release.

Please note that at least in Debian and for a while now (and from time to time) there are discussions about making gold the default ld (e.g. <https://lists.debian.org/87k3jepqfe.fsf@catnip.gol.com>, "Is there a way to make ld.gold the default?",  2013-08-22).

(In reply to Tim Wickberg from comment #3)
> Just updating some of this. I'm still looking into approaches for solving
> this, but any significant change to how the libslurmfull is generated will
> need to wait for a major release.

At the University of Geneva (Switzerland) we stumbled upon this bug while compiling the latest 18.08.3 on a CentOS_6.10 (cf. <https://bugs.schedmd.com/show_bug.cgi?id=5729#c7>) and in an EasyBuild environment (GCC/7.3.0-2.30 OpenMPI/3.1.1).

I have not checked yet how we have compiled the toolchain and why the EB GCC_7.3.0 is using gold by default, though.

Thx, bye,
Luca
Comment 5 Justin Lecher 2018-11-10 00:52:16 MST
(In reply to Luca Capello from comment #4)
> At the University of Geneva (Switzerland) we stumbled upon this bug while
> compiling the latest 18.08.3 on a CentOS_6.10 (cf.
> <https://bugs.schedmd.com/show_bug.cgi?id=5729#c7>) and in an EasyBuild
> environment (GCC/7.3.0-2.30 OpenMPI/3.1.1).
> 
> I have not checked yet how we have compiled the toolchain and why the EB
> GCC_7.3.0 is using gold by default, though.
> 
> Thx, bye,
> Luca

Hi Luca

We had the same problem. https://github.com/easybuilders/easybuild-easyconfigs/issues/6097 describes the fix which we are currently using. Nevertheless, it would be great to have slurm fixed.

Justin