harmony-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Nathan Beyer" <nbe...@gmail.com>
Subject Re: [classlib] AWT dependencies on linux x86/x86_64
Date Tue, 17 Jun 2008 01:24:08 GMT
On Mon, Jun 16, 2008 at 4:57 AM, Mark Hindess <mark.hindess@googlemail.com>
wrote:

>
> In message <4856347C.2080503@apache.org>, Gregory Shimansky writes:
> >
> > Mark Hindess said the following on 16.06.2008 11:10:
> > > I think we should stop linking static lib{png,jpeg,lcms} on linux
> > > 32-bit (and any ports that also use this by default).  We link these
> > > dynamically on linux/x86_64 and if it is good enough for that platform
> I
> > > don't see why it wouldn't be good enough for any other platforms.  The
> > > APIs for all three libraries are very stable and making the
> dependencies
> > > consistent would help simplify the depends.xml.
> > >
> > > Furthermore, I'd be tempted to by-pass the symlinking process
> altogether
> > > and just checking that the headers/libraries are available at
> > > depends.xml time and then link against them directly with -lpng etc.
> > >
> > > Comments?
> >
> > It was Geir who insisted on static linking. He said that for
> > certification it is necessary to have a binary with all of its
> > dependencies inside of it. I don't know if it is true, but Sun seems to
> > be using static libraries...
>
> Thanks for refreshing my memory.
>
> This reasoning is/was flawed (and I'm sure I would have said so at
> the time).  We don't statically link libc, libX11, etc. or indeed
> several libraries (font-related ones for example) with much less stable
> APIs/implementations and which could have much broader impact on the
> ability to pass the jck.  I think we should define some criteria so that
> we are clear what the benefits are and so that we make this decision
> consistently/consciously.


This seems solid enough reasoning and seems to fit with the experience I've
had with other non-Sun JREs. As I recall, installing the IBM JRE/JDK on
linux requires specific libraries to be installed from the particular
distribution. I believe it's libstdc++ and an xorg library.

-Nathan


>
>
> > On x86 Linux it is usually possible to create a shared library and link
> > it against a static library that was not built with -fPIC. But on x86_64
> > static library that wasn't built with -fPIC cannot be linked to a shared
> > library. Also not all of the distros provide static versions of
> > libraries at all and none of them provide static libraries that are
> > built with -fPIC option. That is why we use dynamic ones for classlib
> > dependencies.
>
> Yes.  I vaguely remembered this part.
>
> Regards,
>  Mark.
>
>

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message