Subject Re: [Firebird-Java] Building the libjaybird2.so on Linux
Author William L. Thomson Jr.
On Fri, 2005-12-16 at 21:39 +0100, Roman Rokytskyy wrote:
> > Granted from a binary point of view compiling the java stuff does not
> > make much sense. However from an open source view it does, and from a
> > this is how we do it on Gentoo, it makes sense. Gentoo is a source based
> > ports distro.
>
> Yup, I'm using Gentoo since 2002 or 2003. :-)

Awesome. It's totally falling behind on Java packages. Lots of outdated
stuff, so I am trying to make an effort to help out. Once time permits I
would like to contribute to JayBird as well.

Aside from the recent outdated package problem. There are few Linux
distros with the amount of support for Java as Gentoo. It's really
great.

> > It's not easy and can cause all kinds of problems. The user can choose
> > jvm, and attempt to compile a given package. We do not bind to a
> > particular jdk/jvm and let the user decided and deal with the problems.
>
> Then how do you link the libjaybird2.so? It requires two .h files from JDK.
> Does one need to have $JAVA_HOME to be specified?

No, Gentoo Portage magic

java-pkg_doso libjaybird2.so
java-pkg_newso libjaybird2.so

Using particuilar eclass that have build in functionality. So it's all
handled for you.

> > Which is either reported to the project and they resolve. If it can't be
> > resolve, we make it depend on a particular jdk/jvm.
>
> Would you like to create small (or detailed, if you wish :)) page for Gentoo
> users that we can include in our wiki?

Sure when I get time. Buried at the moment.

> > Yeah there was comment that they did not like that aspect. I explained
> > it had to be that way, and all is.
>
> What didn't they like?

The jdk auto detection. But it's necessary to use different code for
different jdks. They understood that.

> > Great. Finishining off the ebuilds now, and they should be in portage
> > ~x86 within a few days, and hopefully in stable x86 within a week or the
> > month at latest.
>
> Great!

Will be when it's in x86 so I can get on my production server without
getting crazy.

> > Also if possible can the ant stuff build the jars less a version #?
> > Makes it easier to link and not break links when installing a different
> > version.
>
> Hmmm... Actually I did this explicitly to allow configuration management in
> the system. We do have libfbclient.so.1.5 and then two symlinks for
> libfbclient.so.1 an libfbclient.so. So why can't we use this approach here?

No I mean the jaybird-full-2.0.1.jar instead of just jaybird-full.jar.
Versions are totally normal on .so and if I need to provide an legacy
symlinks I need to know.

> BTW, what is Gentoo's policy for jars? Where do they go? Is there some
> system-wide classpath?

No. There is java-config and you can set a classpath that way, but it's
not recommend. It's best to set the classpath at runtime for the given
app.

Most install in /usr/share like

/usr/share/jdbc2-jaybird/lib/*jars
/usr/share/jdbc3-jaybird/lib/*jars

1.5.x stuff is called firebird

/usr/share/jdbc2-firebird/lib/*jars
/usr/share/jdbc3-firebird/lib/*jars

They were not wanting to change over to JayBird but I made the case, and
it's being accepted and dealt with.

--
Sincerely,
William L. Thomson Jr.
Obsidian-Studios, Inc.
http://www.obsidian-studios.com