[OpenAFS-devel] problems compiling JAVA_API

Peter Somogyi psomogyi@gamax.hu
Wed, 28 Sep 2005 17:43:57 +0200


Hi,

Anyone who interested in using JAFS (Java API for OpenAFS) are welcome to visit my ticket #21930 in RT.
It's a working JAFS for 1.3.xx (and 1.4.0) which is a result of our internal development.
I've been allowed to make it public.

On Tuesday 13 September 2005 18.26, Jeffrey Hutzelman wrote:
> On Monday, September 12, 2005 21:50:20 -0700 Pucky Loucks
>
> <ploucks@h2st.com> wrote:
> > -TOP_JLIBDIR=@TOP_JLIBDIR@
> > +TOP_JLIBDIR=/home/pucky/openafs-1.3.87/jlib
>
> This is an OK workaround, but really you want this to be set by configure,
> rather than editing the file by hand.  The simplest thing to do is to edit
> acinclude.m4, find all the references to TOP_LIBDIR, and do exactly the
> same things for TOP_JLIBDIR (except using jlib instead of lib).
>
> > -JAVA_HOME=@JAVA_HOME@
> > +JAVA_HOME=/usr/java/current
>
> Again, an OK stopgap, but eventually you want this to be set by configure,
> presumably on the basis of a --with-java-home or the like.  Again, the
> right place to do this is in acinclude.m4.
>
> > -JNI_INC=@JNI_INC@
> > +JNI_INC=/home/pucky/openafs-1.3.87/include/afs
>
> This is not so good.  JNI_INC is supposed to take the form of switches to
> be passed to the compiler; that is, it should be -I<something>, not just a
> directory.  Also, this is not intended to point at somewhere within the
> OpenAFS tree; if you look at where this is referenced, you'll see that
> there is already a reference to ${TOP_INCDIR}/afs/.  I'm pretty sure that
> what you want is a reference to whatever directory contains the headers
> needed to build JNI procedures for your java implementation.  Again, this
> should eventually be set by configure.  It's possible that this can/should
> be derived from JAVA_HOME, above, possibly by running some program found
> there to obtain the right list of include flags.
>
> In each case, after you modify acinclude.m4, you need to run regen.sh,
> which will update aclocal.m4 and the configure script.
>
> > -include ../../config/Makefile.${SYS_NAME}
> > +include ../../config/Makefile.i386_djgpp
>
> No, that's wrong, and you certainly should not expect it to work even a
> little.  Your platform is i386_linux24, which is nothing like i386_djgpp.
> The real problem here is that the java code hasn't been maintained at all
> since early versions of OpenAFS 1.2, and the build system has changed quite
> a lot in the meantime.
>
> If you look at the Makefile.in's in some of the other directories, you'll
> see that today, you want to remove that line and everything before it
> (except the settings of JAVA_HOME and JNI_INC, which are specific to this
> directory), and add the following two lines instead:
>
> srcdir=@srcdir@
> include @TOP_OBJDIR@/src/config/Makefile.config
>
> > make[1]: Entering directory `/home/pucky/openafs-1.3.87/src/JAVA/
> > libjafs' mkdir -p /home/pucky/openafs-1.3.87/jlib
> > rm -f VersionInfo.o; perl buildinfo.pl VersionInfo.h -i; \
> >          export INCREMENT_BUILD=false;
> > Can't open perl script "buildinfo.pl": No such file or directory
>
> Well, that's going to be a problem, since it means you can't build a
> VersionInfo.h.  The buildinfo.pl script doesn't seem to actually be in the
> openafs distribution, but the Java stuff was originally distributed by
> someone else as patches to OpenAFS.  Perhaps if you search the web, or look
> in RT for the ticket where this stuff was submitted, you'll find the
> original patch and can extract the file from there.  Here's a hint: if you
> go to CVSWeb (http://cvs.openafs.org/) and look at the logs for the files
> in the JAVA directory, you'll probably find the name(s) of the delta(s) in
> which the changes were applied, and you may also find a ticket number.
>
> -- Jeffrey T. Hutzelman (N3NHS) <jhutz+@cmu.edu>
>    Sr. Research Systems Programmer
>    School of Computer Science - Research Computing Facility
>    Carnegie Mellon University - Pittsburgh, PA
>
> _______________________________________________
> OpenAFS-devel mailing list
> OpenAFS-devel@openafs.org
> https://lists.openafs.org/mailman/listinfo/openafs-devel

-- 
Peter Somogyi
Software Developer, Gamax Ltd.
1114 Budapest, Bartok B. u 15/d
Tel.: +36-1-381-0544
e-mail: psomogyi@gamax.hu