Re: j2sdk build-depends cannot be satisfied?
[I think this is still topical to both debian-mentors and debian-java.
Someone tell me if they want it moved to one or the other...]
> gcj is supposed to come with a working jni implementation and comes with
> gij (GNU Interpreter for Java) for interpreting bytecode. What exactly
> doesn't work with gcj? Could you please file a bug report?
> http://gcc.gnu.org/bugs.html
> That way we at least know about the issue.
>
> Also Kaffe, Kissme and SableVM (all part of Debian now) should be able
> to run java byte code and jni code.
Wow. I'm fairly impressed. It didn't take a lot of screwing around to
make this work. I had to go with gcj-3.2, and that forced me to go with
gcc-3.2 as well, and then I used fastjar to build the jarfiles. I
attempted to use gjdoc for Javadoc, with only limited success (more on
that later). Anyway, I'm glad you suggested that I look into this. :-)
The gij java runtime would not work for my test case (just some simple
server/client pairs that come with the nbio distribution) but the kaffe
runtime did work. I haven't yet tried the SableVM runtime.
The error I got from gij (below my signature) it a little out of my
league. I'm not exactly sure what bug I would file... perhaps you can
make a suggestion? I'd be happy to do some more digging if you think
it's worth it.
I have several more questions now (I guess these are debian-mentors
questions):
I'd like to distribute the Javadoc documentation with the package, but
gjdoc doesn't seem to be quite up to the task yet. I don't know of
another free Javadoc tool. I've thought that maybe I could pre-generate
the Javadoc documentation using the non-free tool, and include it
in the source distribution as part of the diff. This way, I won't
need to depend on a non-free tool to generate documentation that won't
change after I build the package, anyway. I'm not sure what stance
policy takes on things like this. Good idea? Bad idea?
Since I now need gcc-3.2 to make this work, I believe it's proper to
list gcc-3.2 as a Build-Depends, at least until it's the default and is
available on all architectures. Is this correct?
In the original version of my package, I just listed a Depends on
java-common. Is this still appropriate, even though I know that not
every package that provides java-common will work with my package?
Thanks, all of you, for the help. Sorry if I'm rambling. It's 3:00am
and I should stop hacking and go to bed. :-)
KEN
--
Kenneth J. Pronovici <pronovic@ieee.org>
Personal Homepage: http://www.skyjammer.com/~pronovic/
"They that can give up essential liberty to obtain a little
temporary safety deserve neither liberty nor safety."
- Benjamin Franklin, Historical Review of Pennsylvania, 1759
NBIOClient starting...
Exception in thread "main" java.lang.UnsatisfiedLinkError: NBIO: Cannot
resolve field buf ([B) in nbio_init_fids() -- this is a bug, please
contact <mdw@cs.berkeley.ed
u
at 0x4017224b: java.lang.Throwable.Throwable(java.lang.String)
(/usr/lib/libgcj.so.2)
at 0x401687eb: java.lang.Error.Error(java.lang.String)
(/usr/lib/libgcj.so.2)
at 0x4016a92f: java.lang.LinkageError.LinkageError(java.lang.String)
(/usr/lib/libgcj.so.2)
at 0x401725a7:
java.lang.UnsatisfiedLinkError.UnsatisfiedLinkError(java.lang.String)
(/usr/lib/libgcj.so.2)
at 0x40239263: ffi_call_SYSV (/usr/lib/libgcj.so.2)
at 0x40238f7e: ffi_call (/usr/lib/libgcj.so.2)
at 0x401605b1: _Jv_CallAnyMethodA(java.lang.Object, java.lang.Class,
_Jv_Method, boolean, java.lang.Class[], jvalue, jvalue)
(/usr/lib/libgcj.so.2)
at 0x401607c4: _Jv_CallAnyMethodA(java.lang.Object, java.lang.Class,
_Jv_Method, boolean, java.lang.Class[], java.lang.Object[])
(/usr/lib/libgcj.so.2)
at 0x4015efd5:
java.lang.reflect.Constructor.newInstance(java.lang.Object[])
(/usr/lib/libgcj.so.2)
at 0x40140b02: ?? (??:0)
at 0x400139cd: ?? (??:0)
at 0x40013beb: Java_seda_nbio_NonblockingSocketImpl_nbSocketCreate
(/usr/lib/java/jni-1.2/libNBIO2.so)
at 0x40239263: ffi_call_SYSV (/usr/lib/libgcj.so.2)
at 0x4023922b: ffi_raw_call (/usr/lib/libgcj.so.2)
at 0x40141c22: _Jv_JNIMethod.call(ffi_cif, void, ffi_raw, void)
(/usr/lib/libgcj.so.2)
at 0x40239118: ?? (??:0)
at 0x40239263: ffi_call_SYSV (/usr/lib/libgcj.so.2)
at 0x4023922b: ffi_raw_call (/usr/lib/libgcj.so.2)
at 0x4014c8db: _Jv_InterpMethod.continue1(_Jv_InterpMethodInvocation)
(/usr/lib/libgcj.so.2)
at 0x40150703: _Jv_InterpMethod.run(ffi_cif, void, ffi_raw,
_Jv_InterpMethodInvocation) (/usr/lib/libgcj.so.2)
at 0x4014c671: _Jv_InterpMethod.run_normal(ffi_cif, void, ffi_raw,
void) (/usr/lib/libgcj.so.2)
at 0x40239118: ?? (??:0)
at 0x40239263: ffi_call_SYSV (/usr/lib/libgcj.so.2)
at 0x4023922b: ffi_raw_call (/usr/lib/libgcj.so.2)
at 0x4014c8db: _Jv_InterpMethod.continue1(_Jv_InterpMethodInvocation)
(/usr/lib/libgcj.so.2)
at 0x40239118: ?? (??:0)
at 0x40239263: ffi_call_SYSV (/usr/lib/libgcj.so.2)
at 0x4023922b: ffi_raw_call (/usr/lib/libgcj.so.2)
at 0x4014c8db: _Jv_InterpMethod.continue1(_Jv_InterpMethodInvocation)
(/usr/lib/libgcj.so.2)
at 0x40150703: _Jv_InterpMethod.run(ffi_cif, void, ffi_raw,
_Jv_InterpMethodInvocation) (/usr/lib/libgcj.so.2)
at 0x4014c671: _Jv_InterpMethod.run_normal(ffi_cif, void, ffi_raw,
void) (/usr/lib/libgcj.so.2)
at 0x40239118: ?? (??:0)
at 0x40239263: ffi_call_SYSV (/usr/lib/libgcj.so.2)
at 0x4023922b: ffi_raw_call (/usr/lib/libgcj.so.2)
at 0x4014c8db: _Jv_InterpMethod.continue1(_Jv_InterpMethodInvocation)
(/usr/lib/libgcj.so.2)
at 0x40150703: _Jv_InterpMethod.run(ffi_cif, void, ffi_raw,
_Jv_InterpMethodInvocation) (/usr/lib/libgcj.so.2)
at 0x4014c671: _Jv_InterpMethod.run_normal(ffi_cif, void, ffi_raw,
void) (/usr/lib/libgcj.so.2)
at 0x40239118: ?? (??:0)
at 0x40239263: ffi_call_SYSV (/usr/lib/libgcj.so.2)
at 0x4023922b: ffi_raw_call (/usr/lib/libgcj.so.2)
at 0x4014c8db: _Jv_InterpMethod.continue1(_Jv_InterpMethodInvocation)
(/usr/lib/libgcj.so.2)
at 0x40150703: _Jv_InterpMethod.run(ffi_cif, void, ffi_raw,
_Jv_InterpMethodInvocation) (/usr/lib/libgcj.so.2)
at 0x4014c671: _Jv_InterpMethod.run_normal(ffi_cif, void, ffi_raw,
void) (/usr/lib/libgcj.so.2)
at 0x4015365f: gnu.gcj.runtime.FirstThread.run()
(/usr/lib/libgcj.so.2)
at 0x4015db63: java.lang.Thread.run_(java.lang.Object)
(/usr/lib/libgcj.so.2)
at 0x402386a8: ?? (??:0)
at 0x403def76: GC_start_routine (/usr/lib/libgcjgc.so.1)
at 0x403f7048: ?? (??:0)
at 0x4053d9b4: __clone (/lib/libc.so.6)
Reply to: