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
[Caml-list] cygwin port
[ Home ] [ Index: by date | by threads ]
[ Search: ]

[ Message by date: previous | next ] [ Message in thread: previous | next ] [ Thread: previous | next ]
Date: -- (:)
From: Charles Martin <charles@c...>
Subject: [Caml-list] cygwin port
Trying the Cygwin port to Windows, when I build from sources and try a simple example:

$ cat - >
let _ = print_endline "Hello"
$ ocamlc -o hello
$ ./hello

I get the popup dialog box, "A required DLL file, C:\TMP\HELLO.EXE, was not found."

Another experiment:

$ cat - >
let _ = Unix.write Unix.stdout "Hello\n" 0 6
$ ocamlc -o hello unix.cma
gcc: wsock32.lib: No such file or directory

This even though I have copied wsock32.lib into /usr/local/lib (on my LIBRARY_PATH).  If I copy wsock32.lib into the current directory, it makes it past this message, only to give many undefined references, for example:

/tmp/ccNjkLkh.o(.data+0x370):camlprim0.c: undefined reference to `win_waitpid'

I see that win_waitpid is defined in otherlibs/win32unix, but since I built this from sources under cygwin, this library shouldn't be needed?

Any guidance appreciated.

Here's the output I got from my ./configure, just for grins:

Configuring for a i586-unknown-cygwin1.1.8 ...
gcc found
The C compiler is ANSI-compliant.
Checking the sizes of integers and pointers...
OK, this is a regular 32 bit architecture.
64-bit "long long" integer type found (printf with ll).
This is a little-endian architecture.
Doubles can be word-aligned.
64-bit integers can be word-aligned.
ranlib found
#! appears to work in shell scripts
We won't use it, though, because of conflicts with .exe extension
under Cygwin
POSIX signal handling found.
strerror() found.
times() found.
termcap functions found (with libraries '-lcurses')
You have BSD sockets.
unistd.h found.
dirent.h found.
rewinddir() found.
getcwd() found.
getwd() found.
utime() found.
utimes() found.
dup2() found.
fchmod() found.
truncate() found.
sys/select.h found.
select() found.
symlink() found.
waitpid() found.
wait4() found.
getgroups() found.
POSIX termios found.
setitimer() found.
gethostname() found.
uname() found.
gettimeofday() found.
mktime() found.
putenv() found.
setlocale() and <locale.h> found.
mmap() found.
Replay debugger supported.
Threads library supported (using bytecode-level scheduling).
X11 not found, the "graph" library will not be supported.
NDBM not found, the "dbm" library will not be supported.
Configuring LablTk...
tcl.h version 8.0 found.
tk.h not found.
Configuration failed, LablTk will not be built.

** Configuration summary **

Directories where Objective Caml will be installed:
        binaries.................. /usr/local/bin
        standard library.......... /usr/local/lib/ocaml
        manual pages.............. /usr/local/man/man1 (with extension .1)
Configuration for the bytecode compiler:
        C compiler used........... gcc
        options for compiling..... -fno-defer-pop -Wall -Wno-unused -U_WIN32
        options for linking.......   -lm -lcurses
Configuration for the native-code compiler:
        hardware architecture..... i386
        OS variant................ cygwin
        C compiler used........... gcc
        options for compiling..... -Wall -Wno-unused -U_WIN32
        options for linking.......   -lm
        assembler ................ $(AS) 
        preprocessed assembler ... gcc -c -DSYS_$(SYSTEM)
        profiling with gprof ..... not supported
Source-level replay debugger: supported
Configuration for the external libraries:
        libraries supported ...... unix str num dynlink bigarray threads
The "num" library:
        target architecture ...... C
The "graph" library:
        options for compiling .... 
        options for linking ...... not found
The "labltk" library: configuration failed

To unsubscribe, mail  Archives: