On 01/23/2018 12:26 PM, Mamoru TASAKA wrote:
Florian Weimer wrote on 01/23/2018 12:24 AM:
> In some cases (such as when a DSO is
> loaded as a plugin and is expected to bind to symbols in the main
> executable), undefined symbols are expected. In this case, you can
> %undefine _strict_symbol_defs_build
> to the RPM spec file to disable these strict checks.
So this seems to affect lots of packages containing
/usr/lib64/foo/libbar.so. At least my packages
It's not clear whether this isn't rather a package bug. Many symbols
could come from -lgldi as well, but some of them are defined by
/usr/bin/cairo-dock as well. However, that program has a DT_NEEDED
entry for libgldi.so.3, so it is unclear what is going on.
Have you tried adding the missing -l arguments?
This has a plugin-style reference for main_win_widget (which is only
defined in /usr/libexec/gnome-commander/gnome-commander), but failures
further down are to a missing -lgcmd. Definitely a mixed bag.
failed to build due to this, and at least
Looks like a missing -lglib-2.0, so it's a package bug.
Looks like a package bug, probably a missing -lsss_util. (Although it
is not entirely clear which sssd shared object contains the canonical
definition of each function.)
This is a true plug-in case, so it needs to avoid to build with -z defs
(which will obscure the missing -lglib-2.0, which should nevertheless be
Looks like a missing -lpurple -lpthread -lglib-2.0, probably more.
(/usr/sbin/bitlbee defines some purple_* symbols, but I don't know if
any of the compiled DSOs are in fact plug-ins for that program. If not,
it should be possible to get the whole thing to link with -z defs.)
So the majority of these issues are package bugs. This is not entirely
what I expected—in an ideal world, the impact would have been restricted
to true plug-ins. Some of the existing linking issues aren't entirely
harmless and can cause problems today or further down the road (because
the dependency information on various layers is incorrect).
We could deactivate -z defs for F28 and reactivate it after the branch
for F29, giving packagers more time to fix issues.