[gambit-list] Compiled thread debugging?

David St-Hilaire sthilaid at iro.umontreal.ca
Wed Sep 5 11:52:13 EDT 2007


James Long wrote:
> Hello,
> 
> You could compile the FFI into a module which you can load in the
> interpreter.  Then you can debug other code.

Loading the program as a module in gsi would sure be of great help! I'm
currently trying to compile my program (a tetris game) in a shared
library so that it can get loaded by gsi (is this what you meant by
compile my FFI into a module?), but I get an error which I don't
understand... :(

Here is how it goes...

[dave at localhost tetris]$ make clean; make gsi-tetris.o1
rm -rf *.c *.o*
gsc -c board.scm
gsc -c blocks.scm
gsc -c block-list.scm
gsc -c matrix.scm
gsc -c lib.scm
gsc -c colors.scm
gsc -c ui.scm
gsc -c ui-sdl.scm
gsc -c tetris.scm
gsc -link -flat -o gsi-tetris.o1.c board.scm blocks.scm block-list.scm
matrix.scm lib.scm colors.scm ui.scm ui-sdl.scm tetris.scm
board.scm:
blocks.scm:
block-list.scm:
matrix.scm:
lib.scm:
colors.scm:
ui.scm:
ui-sdl.scm:
tetris.scm:
*** WARNING -- "##direct-structure-ref" is not defined,
***            referenced in: ("blocks.c")
*** WARNING -- "##direct-structure-set!" is not defined,
***            referenced in: ("blocks.c")
*** WARNING -- "##make-uninterned-symbol" is not defined,
***            referenced in: ("blocks.c")
*** WARNING -- "##quasi-cons" is not defined,
***            referenced in: ("board.c")
*** WARNING -- "##quasi-list" is not defined,
***            referenced in: ("board.c")
*** WARNING -- "##structure" is not defined,
***            referenced in: ("blocks.c")
*** WARNING -- "##type-type" is not defined,
***            referenced in: ("blocks.c")
*** WARNING -- "*" is not defined,
***            referenced in: ("tetris.c" "ui.c" "matrix.c")
*** WARNING -- "+" is not defined,
***            referenced in: ("tetris.c" "ui.c" "matrix.c" "blocks.c"
"board.c")
*** WARNING -- "-" is not defined,
***            referenced in: ("ui.c" "lib.c" "blocks.c" "board.c")
*** WARNING -- "/" is not defined,
***            referenced in: ("tetris.c" "ui-sdl.c")
*** WARNING -- "<" is not defined,
***            referenced in: ("matrix.c" "board.c")
*** WARNING -- "=" is not defined,
***            referenced in: ("tetris.c" "ui.c" "board.c")
*** WARNING -- ">=" is not defined,
***            referenced in: ("tetris.c" "board.c")
*** WARNING -- "apply" is not defined,
***            referenced in: ("ui-sdl.c" "lib.c")
*** WARNING -- "arithmetic-shift" is not defined,
***            referenced in: ("ui-sdl.c")
*** WARNING -- "assoc" is not defined,
***            referenced in: ("ui-sdl.c")
*** WARNING -- "bitwise-ior" is not defined,
***            referenced in: ("ui-sdl.c")
*** WARNING -- "car" is not defined,
***            referenced in: ("lib.c" "matrix.c" "blocks.c")
*** WARNING -- "cdr" is not defined,
***            referenced in: ("ui-sdl.c" "lib.c" "matrix.c")
*** WARNING -- "ceiling" is not defined,
***            referenced in: ("tetris.c")
*** WARNING -- "cons" is not defined,
***            referenced in: ("tetris.c" "lib.c" "block-list.c" "blocks.c")
*** WARNING -- "display" is not defined,
***            referenced in: ("board.c")
*** WARNING -- "end-game!" is not defined,
***            referenced in: ("ui-sdl.c")
*** WARNING -- "eq?" is not defined,
***            referenced in: ("ui.c" "board.c")
*** WARNING -- "equal?" is not defined,
***            referenced in: ("tetris.c")
*** WARNING -- "error" is not defined,
***            referenced in: ("ui-sdl.c" "ui.c")
*** WARNING -- "for-each" is not defined,
***            referenced in: ("board.c")
*** WARNING -- "inexact->exact" is not defined,
***            referenced in: ("tetris.c")
*** WARNING -- "integer->char" is not defined,
***            referenced in: ("board.c")
*** WARNING -- "length" is not defined,
***            referenced in: ("lib.c" "blocks.c")
*** WARNING -- "list" is not defined,
***            referenced in: ("block-list.c" "blocks.c" "board.c")
*** WARNING -- "list-ref" is not defined,
***            referenced in: ("lib.c" "blocks.c")
*** WARNING -- "make-mutex" is not defined,
***            referenced in: ("tetris.c")
*** WARNING -- "make-thread" is not defined,
***            referenced in: ("ui-sdl.c")
*** WARNING -- "make-vector" is not defined,
***            referenced in: ("ui.c" "matrix.c" "board.c")
*** WARNING -- "map" is not defined,
***            referenced in: ("tetris.c" "blocks.c" "board.c")
*** WARNING -- "modulo" is not defined,
***            referenced in: ("blocks.c" "board.c")
*** WARNING -- "mutex-lock!" is not defined,
***            referenced in: ("board.c")
*** WARNING -- "mutex-unlock!" is not defined,
***            referenced in: ("board.c")
*** WARNING -- "newline" is not defined,
***            referenced in: ("board.c")
*** WARNING -- "not" is not defined,
***            referenced in: ("tetris.c" "ui-sdl.c" "ui.c" "lib.c"
"board.c")
*** WARNING -- "null?" is not defined,
***            referenced in: ("lib.c")
*** WARNING -- "pair?" is not defined,
***            referenced in: ("lib.c")
*** WARNING -- "pp" is not defined,
***            referenced in: ("board.c")
*** WARNING -- "random-integer" is not defined,
***            referenced in: ("lib.c" "blocks.c")
*** WARNING -- "reverse" is not defined,
***            referenced in: ("board.c")
*** WARNING -- "string->symbol" is not defined,
***            referenced in: ("ui-sdl.c" "lib.c")
*** WARNING -- "string-append" is not defined,
***            referenced in: ("ui.c" "lib.c")
*** WARNING -- "string?" is not defined,
***            referenced in: ("ui-sdl.c")
*** WARNING -- "symbol->string" is not defined,
***            referenced in: ("lib.c")
*** WARNING -- "symbol?" is not defined,
***            referenced in: ("ui-sdl.c")
*** WARNING -- "thread-sleep!" is not defined,
***            referenced in: ("tetris.c" "ui-sdl.c")
*** WARNING -- "thread-start!" is not defined,
***            referenced in: ("ui-sdl.c")
*** WARNING -- "tk" is not defined,
***            referenced in: ("ui.c")
*** WARNING -- "tk-end" is not defined,
***            referenced in: ("ui.c")
*** WARNING -- "tk-event-loop" is not defined,
***            referenced in: ("ui.c")
*** WARNING -- "tk-start" is not defined,
***            referenced in: ("ui.c")
*** WARNING -- "tk/bind" is not defined,
***            referenced in: ("ui.c")
*** WARNING -- "tk/message-box" is not defined,
***            referenced in: ("ui.c")
*** WARNING -- "tk/pack" is not defined,
***            referenced in: ("ui.c")
*** WARNING -- "tk/wm" is not defined,
***            referenced in: ("ui.c")
*** WARNING -- "vector" is not defined,
***            referenced in: ("matrix.c")
*** WARNING -- "vector->list" is not defined,
***            referenced in: ("board.c")
*** WARNING -- "vector-length" is not defined,
***            referenced in: ("matrix.c" "board.c")
*** WARNING -- "vector-ref" is not defined,
***            referenced in: ("tetris.c" "ui.c" "matrix.c" "blocks.c"
"board.c")
*** WARNING -- "vector-set!" is not defined,
***            referenced in: ("ui.c" "matrix.c" "board.c")
g++ -shared -D___DYNAMIC -rdynamic -I/opt/g4/current/include
-I/usr/X11R6/include -D___SINGLE_HOST -O3 -ffast-math -o gsi-tetris.o1
board.c blocks.c block-list.c matrix.c lib.c colors.c ui.c ui-sdl.c
tetris.c gsi-tetris.o1.c -L/usr/X11R6/lib -L/opt/g4/current/lib/ -lgambc
-lGL -lGLU -lXxf86vm -lXext -lX11 -lutil -ldl -lSDL -lSDL_image -lSDL_gfx
ui-sdl.c:219:31: warning: extra tokens at end of #include directive
[dave at localhost tetris]$ gsi gsi-tetris.o1
*** ERROR IN ##main -- /home/dave/projet/mgdt/tetris/gsi-tetris.o1:
cannot restore segment prot after reloc: Permission denied
(load "gsi-tetris.o1")

Is there something wrong with the way I compiled my compiled module?

Thank you very much for your help! ^_^Y

David

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 252 bytes
Desc: OpenPGP digital signature
URL: <http://mailman.iro.umontreal.ca/pipermail/gambit-list/attachments/20070905/433f8208/attachment.sig>


More information about the Gambit-list mailing list