
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