[Andreas Schildbach]
> Note that libsvn-java shouldn't be needed for the server side of
> Subversion, which would already be a great start.

Right.  I concluded the same, so I uploaded my build to 'experimental'
without libsvn-java.  It should work in sid and lenny, but I didn't
want to upload something to sid when I knew it was unsuitable for
release.

[Alexander Hvostov]
> What exactly is the problem?

[Andreas Schildbach]
> I'm a Java Programmer, but I have no experience with ECJ/GCJ (only SUN
> so far) and do not know very much about Debian developer practices.
> Nevertheless, I could try get the library working. Is it compile
> problems, or are there any Unit Tests failing? Compile problems should
> not be that hard to fix - I'll have a look at it tomorrow.

Debian's default Java build environment, at least on most platforms,
takes 'javac' from ecj (the Eclipse Java compiler from Sun) and 'javah'
from gcj (from gcc).  The libsvn-java build process calls javah to
generate some C++ header files to be used in the JNI.  But gcj javah
does not produce all the same filenames that Sun's javah produces.  For
example, given the source file:

  org/tigris/subversion/javahl/ConflictDescriptor.java

Sun javac produces:

  org/tigris/subversion/javahl/ConflictDescriptor.class

and from that, Sun javah produces:

  org_tigris_subversion_javahl_ConflictDescriptor.h
  org_tigris_subversion_javahl_ConflictDescriptor_Action.h
  org_tigris_subversion_javahl_ConflictDescriptor_Kind.h
  org_tigris_subversion_javahl_ConflictDescriptor_Reason.h

However, the ecj version of javac produces four separate files, because
there are some nested classes:

  org/tigris/subversion/javahl/ConflictDescriptor.class
  org/tigris/subversion/javahl/ConflictDescriptor$Action.class
  org/tigris/subversion/javahl/ConflictDescriptor$Kind.class
  org/tigris/subversion/javahl/ConflictDescriptor$Reason.class

and if you run javah from gcj on those:

  org_tigris_subversion_javahl_ConflictDescriptor.h
  org_tigris_subversion_javahl_ConflictDescriptor$Action.h
  org_tigris_subversion_javahl_ConflictDescriptor$Kind.h
  org_tigris_subversion_javahl_ConflictDescriptor$Reason.h

So, I have to work through the build scripts and source code to figure
out how to reconcile this mess.  And once I've done that, I still don't
know if that is the only problem with the Java bindings.
-- 
Peter Samuelson | org-tld!p12n!peter | http://p12n.org/

Attachment: signature.asc
Description: Digital signature

Reply via email to