Bug 5338 - conflicting symbols between static libraries and system libraries
Summary: conflicting symbols between static libraries and system libraries
Status: NEW
Alias: None
Product: ThinLinc
Classification: Unclassified
Component: Other (show other bugs)
Version: trunk
Hardware: PC Unknown
: P2 Normal
Target Milestone: LowPrio
Assignee: Peter Åstrand
Depends on:
Reported: 2014-11-04 18:52 CET by Pierre Ossman
Modified: 2016-05-31 09:46 CEST (History)
1 user (show)

See Also:
Acceptance Criteria:


Description Pierre Ossman cendio 2014-11-04 18:52:00 CET
We do a lot of static linking in ThinLinc in order to avoid dependencies on the host system. It however has a certain risk of loading runtime .so files from the system and them getting confused by the symbols included in our binaries.

Examples of when this can happen is nss modules, and FLTK can these days load GTK+ in order to display that native file chooser.

To avoid (or at least mitigate) this issue, we should make sure that we do not export any symbols from our files except when absolutely necessary. --exclude-libs ALL can most likely achieve what we want.

We might also want to double check that we link in a way that we don't use any replaced symbols ourselves. For shared libraries this is controlled by -Bsymbolic. Might need another flag for executables.
Comment 1 Pierre Ossman cendio 2016-03-23 14:15:37 CET
Another case is when we load a PKCS#11 module.

Note You need to log in before you can comment on or make changes to this bug.