[Biojava-l] strange error under linux

Thomas Down td2@sanger.ac.uk
Mon, 23 Sep 2002 15:14:18 +0100

On Mon, Sep 23, 2002 at 03:56:47PM +0200, Stein Aerts wrote:
> Exception in thread "main" java.lang.NoSuchMethodError:
> sista.sequence.HumanGene.makeMySubSeq(IILjava/lang/String;)Lorg/biojava/bio/
> seq/impl/SimpleSequence;
>         at Syntenous.getSeq(Syntenous.java:66)
>         at Syntenous.main(Syntenous.java:23)

Are you compiling BioJava from source, or using a binary release?
If a release, then which one?  If from source, what did you use
to compile it, and are what JVM version are you running on?  Sun
do sometimes manage to break binary compatibility between releases.
Compiling on 1.4 but running on earlier platforms seems to be
the most problematic case.

> Does anyone have an idea where such an error may come from? Under windows I
> don't get this error, the method surely exists, but under Linux it fails.
> The IILjava/ and Lorg/ notes in the stacktrace are strange.

Not really.  That's the format in which method signatures
are encoded in Java .class files.  Primative types are encoded
as single letters (I presume 'I' is int, although I don't know
for sure off the top of my head) and object references
are encoding as Lsome/package/MyClass;.

It would be more friendly of the exception handling code to
convert this back to a more human-readable form, but you can't
have everything...