mailarchive of the ptxdist mailing list
 help / color / mirror / Atom feed
From: Guillermo Rodriguez Garcia <guille.rodriguez@gmail.com>
To: ptxdist@pengutronix.de
Subject: Re: [ptxdist] The second symbolic links are not copied to the target
Date: Fri, 6 Jul 2018 12:30:51 +0200	[thread overview]
Message-ID: <CABDcavbq1WuQKVwAMq9H+p6bPDYcnimy6wak_cST8bSnY0GS-A@mail.gmail.com> (raw)
In-Reply-To: <20180706095412.yt6jbmxrv3pezkvi@pengutronix.de>

Hi Michael,

2018-07-06 11:54 GMT+02:00 Michael Olbrich <m.olbrich@pengutronix.de>:
> On Thu, Jul 05, 2018 at 02:50:13PM +0200, Guillermo Rodriguez Garcia wrote:
>> 2018-07-05 14:22 GMT+02:00 Michael Olbrich <m.olbrich@pengutronix.de>:
>> > On Thu, Jul 05, 2018 at 01:02:47PM +0200, Alejandro Vázquez wrote:
>> >> Yes. At least it gives problems with Java applications.
>> >> .......
>> >>  [Failed to open library /usr/lib/classpath/libjavanio.so:
>> >> /usr/lib/classpath/libjavanio.so: cannot open shared object file: No such
>> >> file or directory]
>> >>  [Failed to open library ./libjavanio.so: ./libjavanio.so: cannot open
>> >> shared object file: No such file or directory]
>> >>  [Failed to open library /usr/lib/jni/libjavanio.so:
>> >> /usr/lib/jni/libjavanio.so: cannot open shared object file: No such file or
>> >> directory]
>> >> ......
>> >>
>> >> It also happens with some Gstreamer plugins.
>> >>
>> >> (gst-plugin-scanner:252): GStreamer-WARNING **: Failed to load plugin
>> >> '/usr/lib/gstreamer-1.0/libgstimxg2d.so': libGAL.so: cannot open shared
>> >> object file: No such file or directory
>> >
>> > These libraries are broken. I expect they don't have a soname (you can
>> > check that with 'readelf -d <filename>').
>> >
>> > You need to create the link manually with 'install_link'.
>>
>> I can't talk about GStreamer but dynamic library loading in Java is a
>> bit different.
>
> This has nothing to do with GStreamer. The problem is, that libGAL.so is
> missing the correct 'soname'. As a result, libgstimxg2d.so is not linked
> correctly.

Yes, so libGAL.so is broken. You are right in that this is not
something that ptxdist should try to "fix". However ....

>
>> There are no elf files involved. Java
>> applications/libraries can request that a native library is loaded via
>> the System.loadLibrary runtime API. This takes a "generic" (platform
>> independent) library name, which is then "resolved" to a platform
>> specific filename by the JVM. For Windows this is typically "foo" ->
>> "foo.dll", and for Linux it is "foo" -> "libfoo.so".
>>
>> So it seems that removing the .so links breaks all Java applications..
>>
>> Can this be reconsidered?
>
> No, install_lib is for proper versioned shared libraries. If you need extra
> links, then you can add those with install_link.

.... however, this is a different case. The problem with Java is not
that the libraries themselves are not properly versioned. The problem
is that due to the way native libraries are loaded in Java, the JVM
must map a "generic" name such as foo to a platform-specific filename,
which for Linux would be "libfoo.so", and then it tries to load that
by filename. This assumes that the .so file is present and links to
the appropriate libfoo.so.X.

Guillermo

>
> Michael
>
> --
> Pengutronix e.K.                           |                             |
> Industrial Linux Solutions                 | http://www.pengutronix.de/  |
> Peiner Str. 6-8, 31137 Hildesheim, Germany | Phone: +49-5121-206917-0    |
> Amtsgericht Hildesheim, HRA 2686           | Fax:   +49-5121-206917-5555 |
>
> _______________________________________________
> ptxdist mailing list
> ptxdist@pengutronix.de



-- 
Guillermo Rodriguez Garcia
guille.rodriguez@gmail.com

_______________________________________________
ptxdist mailing list
ptxdist@pengutronix.de

  reply	other threads:[~2018-07-06 10:30 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-07-01  4:28 Alejandro Vázquez
2018-07-05  8:25 ` Guillermo Rodriguez Garcia
2018-07-05 11:02   ` Alejandro Vázquez
2018-07-05 12:22     ` Michael Olbrich
2018-07-05 12:50       ` Guillermo Rodriguez Garcia
2018-07-06  9:54         ` Michael Olbrich
2018-07-06 10:30           ` Guillermo Rodriguez Garcia [this message]
2018-07-10  6:48             ` Michael Olbrich

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=CABDcavbq1WuQKVwAMq9H+p6bPDYcnimy6wak_cST8bSnY0GS-A@mail.gmail.com \
    --to=guille.rodriguez@gmail.com \
    --cc=ptxdist@pengutronix.de \
    /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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox