Version française
Home     About     Download     Resources     Contact us    

This site is updated infrequently. For up-to-date information, please visit the new OCaml website at

Browse thread
[ Home ] [ Index: by date | by threads ]
[ Search: ]

[ Message by date: previous | next ] [ Message in thread: previous | next ] [ Thread: previous | next ]
Date: -- (:)
From: Bomshik Kim <bskim@r...>


I do programming with  both ocaml and camltk.
Compiling source code produces binary (with -custom option).

But the binary can't run on another machine which does not have
tcl, tk library.

The error message is like this

   Fatal error: uncaught exception Protocol.TkError
        ("Can't find a usable init.tcl
        in the following directories:
         /usr/local/lib/tcl7.6 ./lib/tcl7.6 ./tcl7.6/library ./library
        This probably means that Tcl wasn't installed properly.

Someone let me know that "-static" option may solve this problem.
but that also makes another error.

/usr/bin/ld: cannot open -lcurses: no such a file or directory
collect2: ld returned 1 exit status
Error while building custom runtime system
make: *** [system] Error 2

How can I make binary which runs well where tcl, tk are not installed?

I add linking command of Makefile.


system: rtp/rtp.cmo $(lpc) util.cmo $(phone_objects) $(gui_objects)
        $(CC) -custom -I $(camltklib) \
        -ccopt "-L/usr/X11R6/lib -L/usr/local/lib -L. -L$(camltklib)"\
        -cclib "-lcamltk41 -ltcl7.6 -ltk4.2 -ldl -lm -lSM -lICE -lX11
-lunix -static"\
        -o system tk41.cma unix.cma $(objects) liblpc10.a