[Haskell-cafe] Problems with building GCJNI 1.2
Dmitri Pissarenko
mailing-lists at dapissarenko.com
Tue Feb 15 16:33:30 EST 2005
Hello!
I am trying to build GCJNI 1.2 under Windows (cygwin) with GHC 6.2.1 and Green
Card 3.01.
I am getting following error messages when entering "make".
<error-messages>
$ make
make -C src
make[1]: Entering directory `/cygdrive/c/dapWork/temp/downloads/gcjni/gcjni-
1.2/
src'
gcc -MM -I/cygdrive/c/Programme/Java/jdk1.5.0/include -I./win32
> .c_dependences
jniInit.c util.c || (rm -f .c_dependences ; exit 1)
m4 JNI.m4 > JNI.hs
m4 GCJNI.m4 > GCJNI.gc
/cygdrive/c/Programme/GreenCard/lib/greencard-3.01/greencard-bin --target ghc -
i
/cygdrive/c/Programme/GreenCard/lib/greencard-3.01/imports --
libdir=/cygdrive/c/
Programme/GreenCard/lib/greencard-3.01/ GCJNI.gc
Warning: unable to find StdDIS along the import
path: /cygdrive/c/Programme/Gree
nCard/lib/greencard-3.01/, /cygdrive/c/Programme/GreenCard/lib/greencard-
3.01/im
ports,
user error ("GCJNI.gc", proc. spec "gcJniJObjectToString", line 139:
marshall: Don't know how to marshall (declare { jniObjRef_t * } oref in
(J
Object (foreign oref {jniFreeObjRef})))
"GCJNI.gc", proc. spec "jniGetJVMState", line 156:
Don't know how to unmarshall ((JVM (addr vmp)),(JEnv (addr envp)))
"GCJNI.gc", proc. spec "jniGetEnv", line 160:
Don't know how to unmarshall (JEnv (addr envp))
"GCJNI.gc", proc. spec "jniFreeVM", line 167:
marshall: Don't know how to marshall (JVM (addr vm))
"GCJNI.gc", proc. spec "jniAddClassPath", line 181:
marshall: Don't know how to marshall (string s)
"GCJNI.gc", proc. spec "jniAddJVMOpt", line 188:
marshall: Don't know how to marshall (string s)
"GCJNI.gc", proc. spec "jniFindClass", line 192:
marshall: Don't know how to marshall (JEnv (addr env))
"GCJNI.gc", proc. spec "jniIsInstanceOf", line 200:
marshall: Don't know how to marshall (JEnv (addr env))
"GCJNI.gc", proc. spec "gcJniExceptionOccurred", line 206:
marshall: Don't know how to marshall (JEnv (addr env))
"GCJNI.gc", proc. spec "jniExceptionDescribe", line 211:
marshall: Don't know how to marshall (JEnv (addr env))
"GCJNI.gc", proc. spec "jniExceptionClear", line 215:
marshall: Don't know how to marshall (JEnv (addr env))
"GCJNI.gc", proc. spec "gcJniDeleteLocalRef", line 224:
marshall: Don't know how to marshall (declare { jniObjRef_t * } oref in
(J
Object (foreign oref {jniFreeObjRef})))
"GCJNI.gc", proc. spec "jniNewLocalRef", line 230:
marshall: Don't know how to marshall (declare { jniObjRef_t * } lsrc in
(J
Object (foreign lsrc {jniFreeObjRef})))
"GCJNI.gc", proc. spec "jniNewGlobalRef", line 239:
marshall: Don't know how to marshall (declare { jniObjRef_t * } loref in
(
JObject (foreign loref {jniFreeObjRef})))
"GCJNI.gc", proc. spec "jniGetStaticMethodID", line 248:
marshall: Don't know how to marshall (declare { jniObjRef_t * } cls in
(JO
bject (foreign cls {jniFreeObjRef})))
"GCJNI.gc", proc. spec "jniGetMethodID", line 255:
marshall: Don't know how to marshall (declare { jniObjRef_t * } cls in
(JO
bject (foreign cls {jniFreeObjRef})))
"GCJNI.gc", proc. spec "jniGetStaticFieldID", line 263:
marshall: Don't know how to marshall (declare { jniObjRef_t * } cls in
(JO
bject (foreign cls {jniFreeObjRef})))
"GCJNI.gc", proc. spec "jniGetFieldID", line 270:
marshall: Don't know how to marshall (declare { jniObjRef_t * } cls in
(JO
bject (foreign cls {jniFreeObjRef})))
"GCJNI.gc", proc. spec "jniNewStringUTF", line 277:
marshall: Don't know how to marshall (JEnv (addr env))
"GCJNI.gc", proc. spec "jniNewObjectArray", line 285:
marshall: Don't know how to marshall (JEnv (addr env))
"GCJNI.gc", proc. spec "gcJniObjToJValue", line 295:
marshall: Don't know how to marshall (declare { jniObjRef_t * } oref in
(J
Object (foreign oref {jniFreeObjRef})))
"GCJNI.gc", proc. spec "gcJniObjFromJValue", line 304:
marshall: Don't know how to marshall (addr jvalp)
"GCJNI.gc", proc. spec "jniPushLocalFrame", line 311:
marshall: Don't know how to marshall (int count)
"GCJNI.gc", proc. spec "gcJniIntToJValue", line 325:
marshall: Don't know how to marshall (int val)
"GCJNI.gc", proc. spec "gcJniIntFromJValue", line 330:
marshall: Don't know how to marshall (addr jvalp)
"GCJNI.gc", proc. spec "gcJniFloatToJValue", line 335:
marshall: Don't know how to marshall (float val)
"GCJNI.gc", proc. spec "gcJniFloatFromJValue", line 340:
marshall: Don't know how to marshall (addr jvalp)
"GCJNI.gc", proc. spec "gcJniDoubleToJValue", line 345:
marshall: Don't know how to marshall (double val)
"GCJNI.gc", proc. spec "gcJniDoubleFromJValue", line 350:
marshall: Don't know how to marshall (addr jvalp)
"GCJNI.gc", proc. spec "gcJniBoolToJValue", line 355:
marshall: Don't know how to marshall (bool val)
"GCJNI.gc", proc. spec "gcJniBoolFromJValue", line 360:
marshall: Don't know how to marshall (addr jvalp)
"GCJNI.gc", proc. spec "gcJniCharToJValue", line 365:
marshall: Don't know how to marshall (char val)
"GCJNI.gc", proc. spec "gcJniCharFromJValue", line 370:
marshall: Don't know how to marshall (addr jvalp)
"GCJNI.gc", proc. spec "gcJniAllocJValue", line 377:
marshall: Don't know how to marshall (int nv)
"GCJNI.gc", proc. spec "gcJniFree", line 386:
marshall: Don't know how to marshall (addr a)
"GCJNI.gc", proc. spec "gcJniCallStaticVoidMethod", line 391:
marshall: Don't know how to marshall (JEnv (addr env))
"GCJNI.gc", proc. spec "gcJniCallVoidMethod", line 396:
marshall: Don't know how to marshall (JEnv (addr env))
"GCJNI.gc", proc. spec "gcJniCallNonvirtualVoidMethod", line 401:
marshall: Don't know how to marshall (JEnv (addr env))
"GCJNI.gc", proc. spec "gcJniGetStaticObjectField", line 406:
marshall: Don't know how to marshall (JEnv (addr env))
"GCJNI.gc", proc. spec "gcJniGetObjectField", line 414:
marshall: Don't know how to marshall (JEnv (addr env))
"GCJNI.gc", proc. spec "gcJniCallStaticObjectMethod", line 422:
marshall: Don't know how to marshall (JEnv (addr env))
"GCJNI.gc", proc. spec "gcJniCallObjectMethod", line 430:
marshall: Don't know how to marshall (JEnv (addr env))
"GCJNI.gc", proc. spec "gcJniCallNonvirtualObjectMethod", line 439:
marshall: Don't know how to marshall (JEnv (addr env))
"GCJNI.gc", proc. spec "gcJniGetStaticIntField", line 451:
marshall: Don't know how to marshall (JEnv (addr env))
"GCJNI.gc", proc. spec "gcJniGetIntField", line 457:
marshall: Don't know how to marshall (JEnv (addr env))
"GCJNI.gc", proc. spec "gcJniCallStaticIntMethod", line 463:
marshall: Don't know how to marshall (JEnv (addr env))
"GCJNI.gc", proc. spec "gcJniCallIntMethod", line 469:
marshall: Don't know how to marshall (JEnv (addr env))
"GCJNI.gc", proc. spec "gcJniCallNonvirtualIntMethod", line 474:
marshall: Don't know how to marshall (JEnv (addr env))
"GCJNI.gc", proc. spec "gcJniGetStaticCharField", line 481:
marshall: Don't know how to marshall (JEnv (addr env))
"GCJNI.gc", proc. spec "gcJniGetCharField", line 487:
marshall: Don't know how to marshall (JEnv (addr env))
"GCJNI.gc", proc. spec "gcJniCallStaticCharMethod", line 493:
marshall: Don't know how to marshall (JEnv (addr env))
"GCJNI.gc", proc. spec "gcJniCallCharMethod", line 499:
marshall: Don't know how to marshall (JEnv (addr env))
"GCJNI.gc", proc. spec "gcJniCallNonvirtualCharMethod", line 504:
marshall: Don't know how to marshall (JEnv (addr env))
"GCJNI.gc", proc. spec "gcJniGetStaticByteField", line 511:
marshall: Don't know how to marshall (JEnv (addr env))
"GCJNI.gc", proc. spec "gcJniGetByteField", line 517:
marshall: Don't know how to marshall (JEnv (addr env))
"GCJNI.gc", proc. spec "gcJniCallStaticByteMethod", line 523:
marshall: Don't know how to marshall (JEnv (addr env))
"GCJNI.gc", proc. spec "gcJniCallByteMethod", line 529:
marshall: Don't know how to marshall (JEnv (addr env))
"GCJNI.gc", proc. spec "gcJniCallNonvirtualByteMethod", line 534:
marshall: Don't know how to marshall (JEnv (addr env))
"GCJNI.gc", proc. spec "gcJniGetStaticFloatField", line 541:
marshall: Don't know how to marshall (JEnv (addr env))
"GCJNI.gc", proc. spec "gcJniGetFloatField", line 547:
marshall: Don't know how to marshall (JEnv (addr env))
"GCJNI.gc", proc. spec "gcJniCallStaticFloatMethod", line 553:
marshall: Don't know how to marshall (JEnv (addr env))
"GCJNI.gc", proc. spec "gcJniCallFloatMethod", line 559:
marshall: Don't know how to marshall (JEnv (addr env))
"GCJNI.gc", proc. spec "gcJniCallNonvirtualFloatMethod", line 564:
marshall: Don't know how to marshall (JEnv (addr env))
"GCJNI.gc", proc. spec "gcJniGetStaticDoubleField", line 571:
marshall: Don't know how to marshall (JEnv (addr env))
"GCJNI.gc", proc. spec "gcJniGetDoubleField", line 577:
marshall: Don't know how to marshall (JEnv (addr env))
"GCJNI.gc", proc. spec "gcJniCallStaticDoubleMethod", line 583:
marshall: Don't know how to marshall (JEnv (addr env))
"GCJNI.gc", proc. spec "gcJniCallDoubleMethod", line 589:
marshall: Don't know how to marshall (JEnv (addr env))
"GCJNI.gc", proc. spec "gcJniCallNonvirtualDoubleMethod", line 594:
marshall: Don't know how to marshall (JEnv (addr env))
"GCJNI.gc", proc. spec "gcJniGetStaticBooleanField", line 601:
marshall: Don't know how to marshall (JEnv (addr env))
"GCJNI.gc", proc. spec "gcJniGetBooleanField", line 607:
marshall: Don't know how to marshall (JEnv (addr env))
"GCJNI.gc", proc. spec "gcJniCallStaticBooleanMethod", line 613:
marshall: Don't know how to marshall (JEnv (addr env))
"GCJNI.gc", proc. spec "gcJniCallBooleanMethod", line 619:
marshall: Don't know how to marshall (JEnv (addr env))
"GCJNI.gc", proc. spec "gcJniCallNonvirtualBooleanMethod", line 624:
marshall: Don't know how to marshall (JEnv (addr env))
"GCJNI.gc", proc. spec "gcJniNewObject", line 635:
marshall: Don't know how to marshall (JEnv (addr env))
"GCJNI.gc", proc. spec "gcJniIsSameObject", line 649:
marshall: Don't know how to marshall (JEnv (addr env))
"GCJNI.gc", proc. spec "gcJniGetObjectClass", line 658:
marshall: Don't know how to marshall (JEnv (addr env))
"GCJNI.gc", proc. spec "gcJniAllocArgLocals", line 677:
marshall: Don't know how to marshall (int capacity)
"GCJNI.gc", proc. spec "gcJniFreeArgLocals", line 682:
marshall: Don't know how to marshall (addr als)
)
make[1]: *** [GCJNI.hs] Error 1
make[1]: Leaving directory `/cygdrive/c/dapWork/temp/downloads/gcjni/gcjni-
1.2/s
rc'
make: *** [src] Error 2
</error-messages>
I think that the error is caused by missing StdDIS file in the GreenCard
directory.
The files in this directory are (ls -lAR):
<filelist>
.:
total 0
drwxr-xr-x+ 2 eleonora Kein 0 Feb 15 21:55 bin
drwxr-xr-x+ 3 eleonora Kein 0 Feb 15 21:47 lib
./bin:
total 1
-rwxr-xr-x 1 eleonora Kein 164 Feb 15 21:55 greencard
./lib:
total 0
drwxr-xr-x+ 4 eleonora Kein 0 Feb 15 21:55 greencard-3.01
./lib/greencard-3.01:
total 1867
drwxr-xr-x+ 2 eleonora Kein 0 Feb 15 21:55 Foreign
-rwxr-xr-x 1 eleonora Kein 1895082 Feb 15 21:55 greencard-bin.exe
drwxr-xr-x+ 3 eleonora Kein 0 Feb 15 21:55 imports
-rwxr-xr-x 1 eleonora Kein 6612 Feb 15 21:55 libHSgreencard.a
-rwxr-xr-x 1 eleonora Kein 8670 Feb 15 21:55 libHSgreencard.p_a
./lib/greencard-3.01/Foreign:
total 4
-rwxr-xr-x 1 eleonora Kein 3309 Feb 15 21:55 GreenCard.gc
./lib/greencard-3.01/imports:
total 0
drwxr-xr-x+ 2 eleonora Kein 0 Feb 15 21:55 Foreign
./lib/greencard-3.01/imports/Foreign:
total 16
-rwxr-xr-x 1 eleonora Kein 7392 Feb 15 21:55 GreenCard.hi
-rwxr-xr-x 1 eleonora Kein 7397 Feb 15 21:55 GreenCard.p_hi
</filelist>
As you see, there is no StdDIS file among them.
AFAIK, the installation of GreenCard 3.01 was successful.
I would like to receive a hint about how this problem can be solved.
TIA
Dmitri Pissarenko
--
Dmitri Pissarenko
Software Engineer
http://dapissarenko.com
More information about the Haskell-Cafe
mailing list