Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 822210 - sys-fs/lvm2-2.03.14 link fails with Gold linker: error: datastruct/bitset.o: multiple definition of 'dm_bitset_parse_list'
Summary: sys-fs/lvm2-2.03.14 link fails with Gold linker: error: datastruct/bitset.o: ...
Status: UNCONFIRMED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: Normal normal (vote)
Assignee: Gentoo's Team for Core System packages
URL:
Whiteboard:
Keywords:
Depends on:
Blocks: gold-tracker
  Show dependency tree
 
Reported: 2021-11-07 04:23 UTC by Matt Whitlock
Modified: 2021-11-29 07:23 UTC (History)
3 users (show)

See Also:
Package list:
Runtime testing required: ---


Attachments
build.log (build.log,33.30 KB, text/plain)
2021-11-07 04:23 UTC, Matt Whitlock
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Matt Whitlock 2021-11-07 04:23:33 UTC
Created attachment 749223 [details]
build.log

[CC] ioctl/libdevmapper.so.1.02
x86_64-pc-linux-gnu-gcc -shared -Wl,-soname,libdevmapper.so.1.02 \
        -pipe -march=native -O3 -ggdb -fPIC -Wl,-O2 -Wl,--as-needed -Wl,--version-script,.export.sym -Wl,-z,relro datastruct/bitset.o datastruct/hash.o datastruct/list.o libdm-common.o libdm-config.o libdm-deptree.o libdm-file.o libdm-report.o libdm-stats.o libdm-string.o libdm-targets.o libdm-timestamp.o mm/dbg_malloc.o mm/pool.o regex/matcher.o regex/parse_rx.o regex/ttree.o ioctl/libdm-iface.o  -lpthread  -ludev   -lm -o ioctl/libdevmapper.so.1.02
/usr/lib/gcc/x86_64-pc-linux-gnu/11.2.0/../../../../x86_64-pc-linux-gnu/bin/ld: warning: using 'DM_1_02_129' as version for 'dm_bitset_parse_list' which is also named in version 'DM_1_02_138' in script
/usr/lib/gcc/x86_64-pc-linux-gnu/11.2.0/../../../../x86_64-pc-linux-gnu/bin/ld: error: datastruct/bitset.o: multiple definition of 'dm_bitset_parse_list'
/usr/lib/gcc/x86_64-pc-linux-gnu/11.2.0/../../../../x86_64-pc-linux-gnu/bin/ld: datastruct/bitset.o: previous definition here
collect2: error: ld returned 1 exit status
make[1]: *** [../libdm/make.tmpl:424: ioctl/libdevmapper.so.1.02] Error 1
make[1]: Leaving directory '/var/tmp/portage/sys-fs/lvm2-2.03.14/work/LVM2.2.03.14/libdm'
make: *** [make.tmpl:368: libdm.device-mapper] Error 2
 * ERROR: sys-fs/lvm2-2.03.14::gentoo failed (compile phase):
 *   emake failed


# emerge -pqv sys-fs/lvm2
[ebuild   R   ] sys-fs/lvm2-2.03.14  USE="device-mapper-only readline udev -lvm2create_initrd -sanlock (-selinux) -static -static-libs -systemd -thin"

# ld --version | head -n1
GNU gold (Gentoo 2.37_p1 p0 2.37) 1.16


Forcing use of ld.bfd allows the build to complete without error.
Comment 1 Larry the Git Cow gentoo-dev 2021-11-07 04:31:58 UTC
The bug has been referenced in the following commit(s):

https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=c8f0a0d3dd750bbff480e6321cbd96feda0e1ee6

commit c8f0a0d3dd750bbff480e6321cbd96feda0e1ee6
Author:     Sam James <sam@gentoo.org>
AuthorDate: 2021-11-07 04:31:07 +0000
Commit:     Sam James <sam@gentoo.org>
CommitDate: 2021-11-07 04:31:50 +0000

    sys-fs/lvm2: workaround failure with gold
    
    Bug: https://bugs.gentoo.org/822210
    Signed-off-by: Sam James <sam@gentoo.org>

 sys-fs/lvm2/lvm2-2.03.14.ebuild | 4 ++++
 1 file changed, 4 insertions(+)
Comment 2 Larry the Git Cow gentoo-dev 2021-11-07 07:13:39 UTC
The bug has been referenced in the following commit(s):

https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=3cea259e6f449f968d3995addd9672a114ed7edc

commit 3cea259e6f449f968d3995addd9672a114ed7edc
Author:     Sam James <sam@gentoo.org>
AuthorDate: 2021-11-07 07:13:08 +0000
Commit:     Sam James <sam@gentoo.org>
CommitDate: 2021-11-07 07:13:08 +0000

    sys-fs/lvm2: use more idiomatic tc-ld-disable-gold
    
    Note that it does indeed work with lld, so no need to force bfd either.
    
    Bug: https://bugs.gentoo.org/822210
    Signed-off-by: Sam James <sam@gentoo.org>

 sys-fs/lvm2/lvm2-2.03.14.ebuild | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)