TipsAndTricks/PackagingNonversionedLibrary: Difference between revisions

From Yocto Project
Jump to navigationJump to search
 
(9 intermediate revisions by 2 users not shown)
Line 1: Line 1:
= How to Package an Unversioned Library =
See [[TipsAndTricks/Packaging_Prebuilt_Libraries#Non-versioned_Libraries]]
 
First some background: in general libraries in Linux systems are versioned so that it's possible to have multiple versions of the same library installed, to ease upgrades or support older software.  In versioned libraries the actual library binary is for example called <tt>libfoo.so.1.2</tt>, and then there will be a <tt>libfoo.so.1</tt> symbolic link to <tt>libfoo.so.1.2</tt>, and finally a <tt>libfoo.so</tt> symbolic link to <tt>libfoo.so.1.2</tt>.  When linking a binary against a library then you typically just tell it the unversioned file name (for example, <tt>-lfoo</tt> to the linker) but the linker will follow the symbolic links and actually link against the fully-versioned filename.  The unversioned symbolic link is only used at development time, so in OpenEmbedded (as with all other Linux distros) gets packaged along with the headers in development package <tt>${PN}-dev</tt>.
 
 
 
tl;dr:
 
SOLIBS = ".so"
FILES_SOLIBSDEV = ""
 
(TODO: write more)

Latest revision as of 00:33, 7 January 2017