Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 683966 - dev-libs/ell-0.19 undefined symbol: dlclose
Summary: dev-libs/ell-0.19 undefined symbol: dlclose
Status: CONFIRMED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: Normal normal with 1 vote (vote)
Assignee: Lars Wendler (Polynomial-C)
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2019-04-21 13:42 UTC by Eternal Sorrow
Modified: 2020-09-17 13:31 UTC (History)
2 users (show)

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


Attachments
emerge --info (info,6.67 KB, text/plain)
2019-04-21 13:42 UTC, Eternal Sorrow
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Eternal Sorrow 2019-04-21 13:42:45 UTC
Created attachment 573514 [details]
emerge --info

When application linked with libell.so (net-wireless/iwd for example) starts, it crashes with error libell.so.0: undefined symbol: dlclose. ldd -r /usr/lib64/libell.so gives this output:

	linux-vdso.so.1 (0x00007fffcece5000)
	libc.so.6 => /lib64/libc.so.6 (0x00007f3fffdad000)
	/lib64/ld-linux-x86-64.so.2 (0x00007f3fffff2000)
undefined symbol: dlclose	(/usr/lib64/libell.so)
undefined symbol: dlopen	(/usr/lib64/libell.so)
undefined symbol: dlsym	(/usr/lib64/libell.so)
undefined symbol: dlerror	(/usr/lib64/libell.so)

With LD_PRELOAD=/lib64/libdl-2.29.so application starts normally.
Comment 1 Eternal Sorrow 2019-11-18 06:08:49 UTC
any update on this? bug still persists
Comment 2 Ben Kohler gentoo-dev 2020-03-25 15:47:30 UTC
I can reproduce the ldd -r output, but I have never been able to reproduce any crash
Comment 3 Michael Orlitzky gentoo-dev 2020-07-24 19:28:03 UTC
I just hit this, me and the reporter have this in common:

> ld GNU gold (Gentoo 2.32 p1 2.32.0) 1.16
Comment 4 Michael Orlitzky gentoo-dev 2020-07-24 19:42:30 UTC
The build system is missing -ldl somewhere, you can fix this temporarily (wrongly) by adding "-ldl" to your LDFLAGS.
Comment 5 Ben Kohler gentoo-dev 2020-09-01 17:38:39 UTC
I'm still not sure how to reproduce any runtime or build failure.  This makes it harder to report upstream.

Yes ell should be linked to libdl but since iwd is linked to it anyway, I cannot see any failure *here*.
Comment 6 Eternal Sorrow 2020-09-01 18:03:41 UTC
I guess, in some cases (e.g. GOLD linker, or LTO, or some other linker flags) the resulting iwd binary is not linked to libdl and then it crashes.
Comment 7 Michael Orlitzky gentoo-dev 2020-09-01 18:42:08 UTC
The gold linker should be all you need to reproduce it. We have --as-needed in LDFLAGS by default forever now.
Comment 8 Ben Kohler gentoo-dev 2020-09-01 19:12:43 UTC
Building both ell & iwd with ld.gold, I can now see an undefined symbol problem in "ldd -r /usr/libexec/iwd" output, but I'm still not able to reproduce any runtime crash.

I will still work on sending this upstream.
Comment 9 Ben Kohler gentoo-dev 2020-09-17 13:31:55 UTC
Upstream has removed all code using libdl so this will "resolve itself" on next release:

https://git.kernel.org/pub/scm/libs/ell/ell.git/commit/?id=e129cb4cd2270f308c1564e75859672643dd902b