Problems with building GCJNI 1.2

.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 --
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 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

On Tue, 15 Feb 2005 22:33:30 +0100, Dmitri Pissarenko
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".
.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 --
<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 libdir=/cygdrive/c/ Programme/GreenCard/lib/greencard-3.01/ GCJNI.gc Warning: unable to find StdDIS along the import
Did you import Foreign.GreenCard? -- Friendly, Lemmih

Hello! Thanks for your answer!
Did you import Foreign.GreenCard?
No. I just followed the building manual of GCJNI. Best regards Dmitri Pissarenko -- Dmitri Pissarenko Software Engineer http://dapissarenko.com

Did you import Foreign.GreenCard?
Now, I replaced "import StdDIS" by "import Foreign.GreenCard". The warning concerning missing import file does not occur any more, but the "marshall" errors are still there. Here is make's output: <make-output> make -C src make[1]: Entering directory `/cygdrive/c/dapWork/temp/downloads/gcjni/gcjni-1.2/ src' /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 user error ("GCJNI.gc", proc. spec "gcJniJObjectToString", line 140: marshall: Don't know how to marshall (declare { jniObjRef_t * } oref in (J Object (foreign oref {jniFreeObjRef}))) "GCJNI.gc", proc. spec "jniGetJVMState", line 157: Don't know how to unmarshall ((JVM (addr vmp)),(JEnv (addr envp))) "GCJNI.gc", proc. spec "jniGetEnv", line 161: Don't know how to unmarshall (JEnv (addr envp)) "GCJNI.gc", proc. spec "jniFreeVM", line 168: marshall: Don't know how to marshall (JVM (addr vm)) "GCJNI.gc", proc. spec "jniAddClassPath", line 182: marshall: Don't know how to marshall (string s) "GCJNI.gc", proc. spec "jniAddJVMOpt", line 189: marshall: Don't know how to marshall (string s) "GCJNI.gc", proc. spec "jniFindClass", line 193: marshall: Don't know how to marshall (JEnv (addr env)) "GCJNI.gc", proc. spec "jniIsInstanceOf", line 201: marshall: Don't know how to marshall (JEnv (addr env)) "GCJNI.gc", proc. spec "gcJniExceptionOccurred", line 207: marshall: Don't know how to marshall (JEnv (addr env)) "GCJNI.gc", proc. spec "jniExceptionDescribe", line 212: marshall: Don't know how to marshall (JEnv (addr env)) "GCJNI.gc", proc. spec "jniExceptionClear", line 216: marshall: Don't know how to marshall (JEnv (addr env)) "GCJNI.gc", proc. spec "gcJniDeleteLocalRef", line 225: marshall: Don't know how to marshall (declare { jniObjRef_t * } oref in (J Object (foreign oref {jniFreeObjRef}))) "GCJNI.gc", proc. spec "jniNewLocalRef", line 231: marshall: Don't know how to marshall (declare { jniObjRef_t * } lsrc in (J Object (foreign lsrc {jniFreeObjRef}))) "GCJNI.gc", proc. spec "jniNewGlobalRef", line 240: marshall: Don't know how to marshall (declare { jniObjRef_t * } loref in ( JObject (foreign loref {jniFreeObjRef}))) "GCJNI.gc", proc. spec "jniGetStaticMethodID", line 249: marshall: Don't know how to marshall (declare { jniObjRef_t * } cls in (JO bject (foreign cls {jniFreeObjRef}))) "GCJNI.gc", proc. spec "jniGetMethodID", line 256: marshall: Don't know how to marshall (declare { jniObjRef_t * } cls in (JO bject (foreign cls {jniFreeObjRef}))) "GCJNI.gc", proc. spec "jniGetStaticFieldID", line 264: marshall: Don't know how to marshall (declare { jniObjRef_t * } cls in (JO bject (foreign cls {jniFreeObjRef}))) "GCJNI.gc", proc. spec "jniGetFieldID", line 271: marshall: Don't know how to marshall (declare { jniObjRef_t * } cls in (JO bject (foreign cls {jniFreeObjRef}))) "GCJNI.gc", proc. spec "jniNewStringUTF", line 278: marshall: Don't know how to marshall (JEnv (addr env)) "GCJNI.gc", proc. spec "jniNewObjectArray", line 286: marshall: Don't know how to marshall (JEnv (addr env)) "GCJNI.gc", proc. spec "gcJniObjToJValue", line 296: marshall: Don't know how to marshall (declare { jniObjRef_t * } oref in (J Object (foreign oref {jniFreeObjRef}))) "GCJNI.gc", proc. spec "gcJniObjFromJValue", line 305: marshall: Don't know how to marshall (addr jvalp) "GCJNI.gc", proc. spec "jniPushLocalFrame", line 312: marshall: Don't know how to marshall (int count) "GCJNI.gc", proc. spec "gcJniIntToJValue", line 326: marshall: Don't know how to marshall (int val) "GCJNI.gc", proc. spec "gcJniIntFromJValue", line 331: marshall: Don't know how to marshall (addr jvalp) "GCJNI.gc", proc. spec "gcJniFloatToJValue", line 336: marshall: Don't know how to marshall (float val) "GCJNI.gc", proc. spec "gcJniFloatFromJValue", line 341: marshall: Don't know how to marshall (addr jvalp) "GCJNI.gc", proc. spec "gcJniDoubleToJValue", line 346: marshall: Don't know how to marshall (double val) "GCJNI.gc", proc. spec "gcJniDoubleFromJValue", line 351: marshall: Don't know how to marshall (addr jvalp) "GCJNI.gc", proc. spec "gcJniBoolToJValue", line 356: marshall: Don't know how to marshall (bool val) "GCJNI.gc", proc. spec "gcJniBoolFromJValue", line 361: marshall: Don't know how to marshall (addr jvalp) "GCJNI.gc", proc. spec "gcJniCharToJValue", line 366: marshall: Don't know how to marshall (char val) "GCJNI.gc", proc. spec "gcJniCharFromJValue", line 371: marshall: Don't know how to marshall (addr jvalp) "GCJNI.gc", proc. spec "gcJniAllocJValue", line 378: marshall: Don't know how to marshall (int nv) "GCJNI.gc", proc. spec "gcJniFree", line 387: marshall: Don't know how to marshall (addr a) "GCJNI.gc", proc. spec "gcJniCallStaticVoidMethod", line 392: marshall: Don't know how to marshall (JEnv (addr env)) "GCJNI.gc", proc. spec "gcJniCallVoidMethod", line 397: marshall: Don't know how to marshall (JEnv (addr env)) "GCJNI.gc", proc. spec "gcJniCallNonvirtualVoidMethod", line 402: marshall: Don't know how to marshall (JEnv (addr env)) "GCJNI.gc", proc. spec "gcJniGetStaticObjectField", line 407: marshall: Don't know how to marshall (JEnv (addr env)) "GCJNI.gc", proc. spec "gcJniGetObjectField", line 415: marshall: Don't know how to marshall (JEnv (addr env)) "GCJNI.gc", proc. spec "gcJniCallStaticObjectMethod", line 423: marshall: Don't know how to marshall (JEnv (addr env)) "GCJNI.gc", proc. spec "gcJniCallObjectMethod", line 431: marshall: Don't know how to marshall (JEnv (addr env)) "GCJNI.gc", proc. spec "gcJniCallNonvirtualObjectMethod", line 440: marshall: Don't know how to marshall (JEnv (addr env)) "GCJNI.gc", proc. spec "gcJniGetStaticIntField", line 452: marshall: Don't know how to marshall (JEnv (addr env)) "GCJNI.gc", proc. spec "gcJniGetIntField", line 458: marshall: Don't know how to marshall (JEnv (addr env)) "GCJNI.gc", proc. spec "gcJniCallStaticIntMethod", line 464: marshall: Don't know how to marshall (JEnv (addr env)) "GCJNI.gc", proc. spec "gcJniCallIntMethod", line 470: marshall: Don't know how to marshall (JEnv (addr env)) "GCJNI.gc", proc. spec "gcJniCallNonvirtualIntMethod", line 475: marshall: Don't know how to marshall (JEnv (addr env)) "GCJNI.gc", proc. spec "gcJniGetStaticCharField", line 482: marshall: Don't know how to marshall (JEnv (addr env)) "GCJNI.gc", proc. spec "gcJniGetCharField", line 488: marshall: Don't know how to marshall (JEnv (addr env)) "GCJNI.gc", proc. spec "gcJniCallStaticCharMethod", line 494: marshall: Don't know how to marshall (JEnv (addr env)) "GCJNI.gc", proc. spec "gcJniCallCharMethod", line 500: marshall: Don't know how to marshall (JEnv (addr env)) "GCJNI.gc", proc. spec "gcJniCallNonvirtualCharMethod", line 505: marshall: Don't know how to marshall (JEnv (addr env)) "GCJNI.gc", proc. spec "gcJniGetStaticByteField", line 512: marshall: Don't know how to marshall (JEnv (addr env)) "GCJNI.gc", proc. spec "gcJniGetByteField", line 518: marshall: Don't know how to marshall (JEnv (addr env)) "GCJNI.gc", proc. spec "gcJniCallStaticByteMethod", line 524: marshall: Don't know how to marshall (JEnv (addr env)) "GCJNI.gc", proc. spec "gcJniCallByteMethod", line 530: marshall: Don't know how to marshall (JEnv (addr env)) "GCJNI.gc", proc. spec "gcJniCallNonvirtualByteMethod", line 535: marshall: Don't know how to marshall (JEnv (addr env)) "GCJNI.gc", proc. spec "gcJniGetStaticFloatField", line 542: marshall: Don't know how to marshall (JEnv (addr env)) "GCJNI.gc", proc. spec "gcJniGetFloatField", line 548: marshall: Don't know how to marshall (JEnv (addr env)) "GCJNI.gc", proc. spec "gcJniCallStaticFloatMethod", line 554: marshall: Don't know how to marshall (JEnv (addr env)) "GCJNI.gc", proc. spec "gcJniCallFloatMethod", line 560: marshall: Don't know how to marshall (JEnv (addr env)) "GCJNI.gc", proc. spec "gcJniCallNonvirtualFloatMethod", line 565: marshall: Don't know how to marshall (JEnv (addr env)) "GCJNI.gc", proc. spec "gcJniGetStaticDoubleField", line 572: marshall: Don't know how to marshall (JEnv (addr env)) "GCJNI.gc", proc. spec "gcJniGetDoubleField", line 578: marshall: Don't know how to marshall (JEnv (addr env)) "GCJNI.gc", proc. spec "gcJniCallStaticDoubleMethod", line 584: marshall: Don't know how to marshall (JEnv (addr env)) "GCJNI.gc", proc. spec "gcJniCallDoubleMethod", line 590: marshall: Don't know how to marshall (JEnv (addr env)) "GCJNI.gc", proc. spec "gcJniCallNonvirtualDoubleMethod", line 595: marshall: Don't know how to marshall (JEnv (addr env)) "GCJNI.gc", proc. spec "gcJniGetStaticBooleanField", line 602: marshall: Don't know how to marshall (JEnv (addr env)) "GCJNI.gc", proc. spec "gcJniGetBooleanField", line 608: marshall: Don't know how to marshall (JEnv (addr env)) "GCJNI.gc", proc. spec "gcJniCallStaticBooleanMethod", line 614: marshall: Don't know how to marshall (JEnv (addr env)) "GCJNI.gc", proc. spec "gcJniCallBooleanMethod", line 620: marshall: Don't know how to marshall (JEnv (addr env)) "GCJNI.gc", proc. spec "gcJniCallNonvirtualBooleanMethod", line 625: marshall: Don't know how to marshall (JEnv (addr env)) "GCJNI.gc", proc. spec "gcJniNewObject", line 636: marshall: Don't know how to marshall (JEnv (addr env)) "GCJNI.gc", proc. spec "gcJniIsSameObject", line 650: marshall: Don't know how to marshall (JEnv (addr env)) "GCJNI.gc", proc. spec "gcJniGetObjectClass", line 659: marshall: Don't know how to marshall (JEnv (addr env)) "GCJNI.gc", proc. spec "gcJniAllocArgLocals", line 678: marshall: Don't know how to marshall (int capacity) "GCJNI.gc", proc. spec "gcJniFreeArgLocals", line 683: 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 </make-output> What else should I do in order to fix these errors? TIA Dmitri Pissarenko -- Dmitri Pissarenko Software Engineer http://dapissarenko.com

On Fri, 18 Feb 2005 20:37:35 +0100, Dmitri Pissarenko
Did you import Foreign.GreenCard?
Now, I replaced "import StdDIS" by "import Foreign.GreenCard".
The library apparently wasn't designed for newer versions of GreenCard and it may be too old to fix easily. -- Friendly, Lemmih

Hi,
Sorry for not jumping in on this discussion sooner.
I am the author of GCJNI. GCJNI was developed back when Hugs was the
dominant Haskell implementation and GreenCard was the easiest/best way
to do foreign language bindings for Haskell because the FFI proposal
was still in the formative stages.
These days, the Haskell FFI addendum is stable and widely implemented,
ghc has become much more widely available and easy to install and use,
and (without wishing to sound harsh), GreenCard's FFI code generator
was broken and useless the last time I tried to use it (a few years
ago).
I actually ported GCJNI to the Haskell FFI a few years ago, getting
rid of ALL use of GreenCard. I used ghc's 'hsc2hs' tool to help with
the marshalling, and made no attempt to port to hugs. I called this
newer system 'hsjni', but never released it due simply to lack of time
while finishing my thesis.
I invested a little effort in trying to test hsjni with the latest JDK
and get a release together in December, but it got snagged on a silly
little bug in hsc2hs's handling of paths which have embedded spaces.
Simon Marlow has since fixed this bug in CVS head; I'm just waiting
for the next release of ghc with this fix available before I try
again.
If you think you'd be interested in having a shot at building 'hsjni'
(or you are interested in maintaining it), let me know, and I'll make
the sources available for you. Caveat is that I haven't tested it
since JDK 1.3, because of this hsc2hs issue. One can easily work
around the hsc2hs path handling issue by installing the latest JDK in
a location without a space in the filename; but since the default
install location under Windows is under "C:\Program Files", I wasn't
interested in shipping a release that wouldn't work with the most
common default case.
Please accept my sincere appology for not mentioning any of the above
on the GCJNI web page. Hopefully it will just all be replaced with
hsjni in the near future.
Kind Regards,
-Antony
On Fri, 18 Feb 2005 20:45:14 +0100, Lemmih
On Fri, 18 Feb 2005 20:37:35 +0100, Dmitri Pissarenko
wrote: Did you import Foreign.GreenCard?
Now, I replaced "import StdDIS" by "import Foreign.GreenCard".
The library apparently wasn't designed for newer versions of GreenCard and it may be too old to fix easily.
-- Friendly, Lemmih _______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
participants (3)
-
Antony Courtney
-
Dmitri Pissarenko
-
Lemmih