harmony-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Alexey Petrenko" <alexey.a.petre...@gmail.com>
Subject Re: [classlib][awt] X11 libs
Date Fri, 01 Dec 2006 09:33:19 GMT
2006/12/1, Gregory Shimansky <gshimansky@gmail.com>:
> On Thursday 30 November 2006 17:21 Oleg Khaschansky wrote:
> > > No, Sun links against X11 and ALSA and doesn't use dlopen. It doesn't
> > > seem to be a problem for anyone. Why can't we?
> >
> > Yes, I think we can do this with X11, win32 API, etc. But we need to
> > have the right set of headers and stublibs to build the wrappers then.
> > This means that if you don't have X11 you can't build awt.
>
> The requirements on developers may be quite wide. I don't see a problem that a
> developer who works on awt has to have X11 installed. It seems to me quite a
> sane requirement.
>
> > > It is dynamic linking. I just don't like it that we have to *guess* the
> > > library name. It should be as few such cases as possible. Or we'll get
> > > the bug reports like in your URL.
> >
> > Yes, ld approach is better from this POW. But transition to it could
> > be a bit more complicated then adding some heuristics to the existing
> > "dlopen" code.
>
> I didn't mean it should be changed today. I mean that there is no need to hide
> dependencies. It is not the way it is done in Linux world. If some library is
> needed, it is needed, and it should be installed. Distributions handle it
> pretty well AFAIK.
Don't you need to specify exact version of library you depend on?

SY, Alexey

> The way Sun and some other binary packages which are installed on Linux work
> is that they try to be universal because they provide *binary* packages.
> Binary means they don't care about environment, they should work in any
> installation.
>
> We provide *source*. It shall be a pain (actually no pain at all, Harmony is
> not the first package in Linux history) for those who create distributions to
> arrange all necessary libraries in place.
>
> And even for distributions like Gentoo which build everything from source (I
> am tempted to write a gentoo ebuild for Harmony from svn , but just don't
> have time to do this) it is very easy to specify any library in Linux world
> as a dependency which should be installed to build the package.
>
> I would really like Harmony to be integrated tightly into Linux current code.
> All major projects do this, even kde or mozilla, I think we can as well. If
> we encounter bugs, we report them upstream just like everyone else does. Why
> not?
>
> > > I think that distribution integrators may just add opengl package as a
> > > dependency to harmony package, so it will be installed if harmony is
> > > installed.
> >
> > The majority of OpenGL calls could be done using ld scheme. The rest
> > are video driver specific extensions. They should be called using
> > wgl/glxGetProcAddress anyway.
>
> Well, this comes down to using OpenGL on Linux. I am not the expert in the way
> OpenGL calls are done on Linux. If they are done through additional functions
> found (or not found) in libGL.so, then it is fine. If there is some way to
> recognize the extension functions through OpenGL interface, then use dlsym on
> them, the scheme looks ok.
>
> > On 11/30/06, Gregory Shimansky <gshimansky@gmail.com> wrote:
> > > Oleg Khaschansky wrote:
> > > >> Sun's Java seem to be bundling some libraries with itself like libzip
> > > >> and libjpeg. But the rest of the libraries like X11, ALSA, probably
> > > >> other are taken from the system.
> > > >
> > > > As far as I know, RI uses dlopen approach, at least in some cases,
> > > > see, e.g. [1].
> > > >
> > > >> This means that we
> > > >> should either bundle in all the required libraries, or use dynamic
> > > >> linking with the libraries installed in the system.
> > > >
> > > > Bundling in X11 and mesa? :)
> > >
> > > No, Sun links against X11 and ALSA and doesn't use dlopen. It doesn't
> > > seem to be a problem for anyone. Why can't we?
> > >
> > > > Isn't dlopen/dlsym approach a dynamic linking?
> > >
> > > It is dynamic linking. I just don't like it that we have to *guess* the
> > > library name. It should be as few such cases as possible. Or we'll get
> > > the bug reports like in your URL.
> > >
> > > > Again, some API could be missing in some systems (opengl extensions,
> > > > for example), what would you suggest to do in this case?
> > >
> > > I think that distribution integrators may just add opengl package as a
> > > dependency to harmony package, so it will be installed if harmony is
> > > installed.
> > >
> > > > [1] http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=5011992
> > > >
> > > > On 11/29/06, Gregory Shimansky <gshimansky@gmail.com> wrote:
> > > >> Oleg Khaschansky wrote:
> > > >> > I think we should fix this problem for all libraries loaded with
> > > >> > dlopen on linux (i.e. for all autogenerated linux native wrappers).
> > > >> > As far as I recall, this problem already appeared for liblcms
and
> > > >> > libXmu. I'd suggest to wait until we know if we'll have a generator
> > > >> > of native wrappers in harmony and, probably, fix it instead of
> > > >> > making temporary fixes in the autogenerated code.
> > > >>
> > > >> Sun's Java seem to be bundling some libraries with itself like libzip
> > > >> and libjpeg. But the rest of the libraries like X11, ALSA, probably
> > > >> other are taken from the system.
> > > >>
> > > >> I don't think that replacing dynamic linker on the system with out
> > > >> heuristics is the "right way". It is ld.so which should decide which
> > > >> library from the system should be linked with, be it
> > > >> /usr/lib/libXext.so.6 or /usr/lib/libasound.so.2. This means that
we
> > > >> should either bundle in all the required libraries, or use dynamic
> > > >> linking with the libraries installed in the system.
> > > >>
> > > >> It doesn't seem to be a problem for anyone who uses Sun Java on a
> > > >> server that it is necessary to install X11 and ALSA libraries. On
most
> > > >> Linux distributions it happens automatically using package
> > > >> dependencies. So I am -1 for this approach. Instead I think the
> > > >> wrappers should be changed to link against X11 dynamic libs directly.
> > >
> > > --
> > > Gregory
>
> --
> Gregory
>

Mime
View raw message