[OpenAFS-devel] JAFS make error

Marcus Watts mdw@spam.ifs.umich.edu
Sat, 02 Jun 2007 00:52:48 -0400


> Date:    Fri, 01 Jun 2007 15:32:22 +0200
> To:      OpenAFS-devel@openafs.org
> From:    kane96@gmx.de
> Subject: Re: [OpenAFS-devel] JAFS make error
> 
> the problem with ubuntu was, that i did not run 'make clean' after installing f
> lex, bison, ...
> 
> i use java 1.5 and openafs 1.4.4
> now, there is an error by 'make jafs':
> ACL.c: In function ‘setACL’:
> ACL.c:111: warning: incompatible implicit declaration of built-in function ‘strl
> en’
> /usr/lib/jvm/java-1.5.0-sun/bin/javac -classpath ../classes ../classes/org/open
> afs/jafs/File.java
> ../classes/org/openafs/jafs/File.java:97: java.lang.Comparable cannot be inheri
> ted with different arguments: <> and <java.io.File>public class File extends ja
> va.io.File implements Comparable
>        ^
> Note: ../classes/org/openafs/jafs/File.java uses unchecked or unsafe operations
> .
> Note: Recompile with -Xlint:unchecked for details.
> 1 error

Ok, that's a familiar error.  Java 1.5 doesn't like the construction
there.  If you can use java 1.4, that should fix it.  This is probably
your simplest solution if you can do it, because other people have
reported success in the past using stock jafs with java 1.4.

Otherwise, the file
	/afs/umich.edu/group/itd/build/mdw/tmp/afs-m40-java.patch
may be of interest.  This was for openafs 1.5.15, but should be
mostly close to 1.4.4.  This diff dates from 20070313, and there was email
discussion on this list concerning that.  The diff in there for File.java
will fix your compile error above.  It might create problems too, all I
know for sure is that it compiles.  The fixes to src/JAVA/libjafs/*.c
are important if you are using amd64 but might also be necessary for
recent compilers or glibc includes.  I don't think they'll hurt anything.
The src/JAVA/libjafs/Makefile.in hack to use a/ j/ is not right.  I think this
worked for me because I had left-over "installed" headers and the dependency
logic is still wacko.  You might want to discard this part of the patch.
Otherwise, you might have success by 1st building without this patch,
(at the top level, env JAVA_HOME=... make -k jafs) and after it blows up,
apply this patch and without doing make clean, do make jafs.  Yes this
is horrible.  The fixes to libadmin shlib* src/cf/osconf.m4 concern
building pic versions of libraries.  You don't need this if you only
care about i386.  This is also the part of the patch that is likely to
not apply cleanly to 1.4.4.  This is mainly what people were talking
about march 13 about this patch.

I may have a better patch soon.  People here at umich (itcs umce) are
starting to dig more into java, so there's an increased chance a working
java afs library will actually be helpful.

					-Marcus Watts