Bug 202330

Summary: dia provided libdia has many of "undefined symbol"
Product: [Fedora] Fedora Reporter: Michal Jaegermann <michal>
Component: diaAssignee: Hans de Goede <hdegoede>
Status: CLOSED NEXTRELEASE QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: medium Docs Contact:
Priority: medium    
Version: rawhideCC: extras-qa, jakub
Target Milestone: ---   
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2006-08-13 22:31:54 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---

Description Michal Jaegermann 2006-08-12 22:02:29 UTC
Description of problem:

After 'ldd -d -r dia/libdia.so' there is 478 of "undefined symbol"
messages.  It looks like that bulk of these missing symbols is
provided by libglib and libgtk.

Quoting
https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=202256#c1
"The libraries work, but less efficiently than they could if they
were linked properly".

Version-Release number of selected component (if applicable):
dia-0.95-5.fc6

Comment 1 Hans de Goede 2006-08-13 21:49:29 UTC
Hmm,

I'm working on a fix for this for libdia.so

However the other.so files in %{_libdir}/dia also have weak symbols / non
complete linking. I don't know if this is a problem here since these are plugins
which gets opened with dlopen, not linked in.

Jakub can you help here, is adding all needed libs to the linking of the .so
beneficial if the resulting .so will only get dlopened? (Assuming this can be
done at all, the .so could need symbols from the app doing the dlopen itself).



Comment 2 Jakub Jelinek 2006-08-13 21:58:13 UTC
It depends.  If the symbols are versioned, then it is desirable to link against
the libraries that provide the versioned symbols.  Otherwise, for plugins there
is no special benefit, appart from guaranteeing that all the dependencies
needed for the plugin will be loaded.  But if you (or the API of the framework
that provides the plugin) reasoanbly guarantee that the dependencies are already
loaded by the main program or some of its dependencies, then plugins don't need
to satisfy -Wl,-z,defs checks.

Comment 3 Hans de Goede 2006-08-13 22:31:54 UTC
Jakub,

Thanks for the info.

A new version (0.95-6) with the weak symbols in libdia.so fixed should show up
on a mirror near you soon.