This is a bit of a lingering problem for me. I changed the parameter list in a subroutine, from 2 to 4 Strings, and it seems that my code is not recompiling with this change. I checked for an obvious error in the number of arguments, but still get an error of:

Wrong number of arguments at /usr/lib/perl5/site_perl/5.8.0/Inline/Java/Object.pm line 101
at mycode.pl line 71

The DIRECTORY parameter is set to be var/tmp, and the mycode.jdat that is listed in var/tmp/lib/auto, not suprisingly has the old signature, with two Strings. How do I force this to update? I removed every *.jdat and ran it again but still it doesn't update the parameter list. It added a new method to mycode.jdat just fine, but won't update an old parameter list. I even tried to edit it by hand to add the two new Strings, but that had no affect. The jdat file has no version line in it. I pasted the mycode.inl below, whcih shows version 0.44.

What could be the issue here?

md5 : [omitted]
name : mycode_pl_02d3
version : ""
language : Java
language_id : Java
installed : 0
date_compiled : Tue Mar 28 18:59:31 2006
inline_version : 0.44
ILSM : %
   module : Inline::Java
   suffix : jdat
   type : interpreted
Config : %
   apiversion : 5.8.0
   archname : i386-linux-thread-multi
   cc : gcc
ccflags : -D_REENTRANT -D_GNU_SOURCE -DTHREADS_HAVE_PIDS -DDEBUGGING -fno-strict-aliasing\ -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -I/usr/include/gdbm
   ld : gcc
   osname : linux
   osvers : 2.4.21-25.elsmp
   so : so
   version : 5.8.0

Candace

On 1/25/06, Candace Holman <candace_holman[at]harvard.edu> wrote:
> Thanks Patrick.
>
> I think I was recompiling as the system administrator was changing things=
, or
> that we were already at 0.49 but I still had an old config with 0.44 in i=
t.  We
> downgraded to 1.4.2_10 and that seemed to straighten things out.
>
> Could you please post a reference on the directories and files that are c=
reated
> when one compiles?  I think I have some old, unused files lying around, a=
nd an
> extra _Inline directory.  I didn't locate a .jdat file, but will look aga=
in.

Just to be clear it's really a *.jdat file. It should be somewhere
under lib/auto/

Patrick

>
> Candace
>
> Quoting Patrick LeBoutillier <patrick.leboutillier[at]gmail.com>:
>
> > Candace,
> >
> > On 1/24/06, Candace Holman <cholman[at]claven.harvard.edu> wrote:
> > > Hi,
> > >
> > > I've been happily using Inline::Java since 2002, but we've run far
> > > behind in our version.  We recently upgraded to java  runtime
> > > environment 1.5.0_06 and it's causing run time problems with the 0.44
> > > Inline::Java, namely:
> > >
> > > Report version mismatch (class RequestDirectoryListing java.lang.Obje=
ct
> > > !=3D V2). Delete your '_Inline' and try again. at LDAPQuery.pl line 0
> > > INIT failed--call queue aborted.
> >
> > If you look somewhere under the proper _Inline directory, you should
> > find one or more .jdat files. At some point in the past, I introduced
> > a version number on the first line of the file to allow the format to
> > change and preserve compatibility, i.e.:
> >
> > V2
> > class t15 org.perl.inline.java.InlineJavaPerlCaller
> > constructor ()
> > method instance t15 add(int, int)
> > ..
> >
> > It seems that in your case an old .jdat file still exists somewhere
> > that doesn't have a version line, thereby confusing the validating
> > system. Basically what you need to do is locate this file and delete
> > it. The next build will recreate the .jdat file and all should be
> > good.
> >
> > Note: This problem would have been caused by an upgrade of
> > Inline::Java, not by and upgrade of Java. The check for the version in
> > the .jdat file appeared in Inline::Java 0.49. It did not exist in
> > 0.44. Looks like your a trying to read a 0.44 jdat file using version
> > 0.49 or above...
> >
> > >
> > > Deleting the _Inline didn't make this error go away.  Actually I rena=
med
> > > it so there are still copies of old, working builds in there.  Assumi=
ng
> > > I can't get this to work today, is there any way to revert to the old
> > > build or is it gone forever?  The problem only cropped up when I made=
 a
> > > change, which I later reverted, so it would work okay to revert to an
> > > old build....
> >
> > That's very strange. Make sure you are not using 2 different versions
> > of Inline::Java (one when you build and a different one when you run
> > maybe?).
> >
> > Patrick
> > >
> > > with thanks,
> > > Candace
> > >
> > >
> > >
> >
> >
> > --
> > =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
> > Patrick LeBoutillier
> > Laval, Qu=E9bec, Canada
> >

Reply via email to