[OpenAFS-devel] problems compiling JAVA_API

Pucky Loucks ploucks@h2st.com
Thu, 29 Sep 2005 11:23:07 -0700


Thank you Peter, I'm  going to get that into my dev environment today.

When I get some free time I'll try to track down some of the memory  
leaks.

Thanks again,

Pucky
On 28-Sep-05, at 8:43 AM, Peter Somogyi wrote:

> 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
>
> _______________________________________________
> OpenAFS-devel mailing list
> OpenAFS-devel@openafs.org
> https://lists.openafs.org/mailman/listinfo/openafs-devel
>
>
>