All of lore.kernel.org
 help / color / mirror / Atom feed
From: Gary Thomas <gary@mlbassoc.com>
To: Mark Hatle <mark.hatle@windriver.com>
Cc: poky@yoctoproject.org
Subject: Re: Shared library packaging
Date: Wed, 16 Mar 2011 16:27:50 -0600	[thread overview]
Message-ID: <4D813966.30309@mlbassoc.com> (raw)
In-Reply-To: <4D813850.1000700@windriver.com>

On 03/16/2011 04:23 PM, Mark Hatle wrote:
> On 3/16/11 5:10 PM, Gary Thomas wrote:
>> I'm working on a recipe which has a number of shared libraries (actually
>> this is just an import from OE (mozilla/nss) which has the same problem as listed below)
>> The package creates a number of libraries (from the work tree):
>>       image/usr/lib/libsmime3.so ->  libsmime3.so.1oe
>>       image/usr/lib/libsmime3.so.1oe
>>       image/usr/lib/libsoftokn3.so
>>       image/usr/lib/libfreebl3.so
>>       image/usr/lib/libnssutil3.so ->  libnssutil3.so.1oe
>>       image/usr/lib/libnssutil3.so.1oe
>>       image/usr/lib/libnss3.so ->  libnss3.so.1oe
>>       image/usr/lib/libnss3.so.1oe
>>       image/usr/lib/libssl3.so ->  libssl3.so.1oe
>>       image/usr/lib/libssl3.so.1oe
>>
>> The .so.1oe files are packaged in nss_XXX.ipk and the .so files are
>> put into nss-dev_XXX.ipk.  The problem is that there is code out there
>> that only wants to look for the .so files (no -dev packages installed)
>> and fail to find libsoftokn3.so and libfreebl3.so
>
> This sounds like an error in the SONAME embedded in the files.  For example if
> the soname of libnss2.so.1oe, is libnss3.so, both it and the link will be
> captured in the base package -- leaving the -dev empty.
>
> (If the SONAME is correct and it's not working this way that is likely a bug in
> the routines breaking up base and dev packages!)

How can I check this (not my comfort zone)?

>
>> Is there a way to [easily?] force these two libraries to be packaged
>> into nss-XXX.ipk?
>
> Assuming fixing the sonames is not an option, the alternative is to specify the
> packages and FILES_... list of files for each chunk instead of letting the
> system determine things automatically.  It's a bit messier, but you have
> ultimate control of what is and is not included...
>
>> My current workaround is to use a post-install script to create the .so
>> files from the .so.1oe files for these two libraries.  It gets my code
>> (chromium-11 browser!) to work, but it's not very satisfying.
>
> If possible, fix the soname item... otherwise there can be loader problems if
> the device doesn't end up with an ld.so.cache...  (which is why the link is
> working I suspect...)

I think the problem is in some very messy Mozilla code that uses dl_load() directly
and only looks for the .so file name.

I'll probably go with the FILES solution.

-- 
------------------------------------------------------------
Gary Thomas                 |  Consulting for the
MLB Associates              |    Embedded world
------------------------------------------------------------


  reply	other threads:[~2011-03-16 22:27 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-03-16 22:10 Shared library packaging Gary Thomas
2011-03-16 22:23 ` Mark Hatle
2011-03-16 22:27   ` Gary Thomas [this message]
2011-03-16 22:38     ` Mark Hatle
2011-03-17  7:36       ` Khem Raj

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=4D813966.30309@mlbassoc.com \
    --to=gary@mlbassoc.com \
    --cc=mark.hatle@windriver.com \
    --cc=poky@yoctoproject.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.