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
Dynlink native library for ocaml-mingw32
[ Home ] [ Index: by date | by threads ]
[ Search: ]

[ Message by date: previous | next ] [ Message in thread: previous | next ] [ Thread: previous | next ]
Date: 2010-08-25 (02:57)
From: Paul Steckler <steck@s...>
Subject: Dynlink native library for ocaml-mingw32
I have a Fedora 11 instance where I've installed
mingw32-ocaml-3.11.0-0.16.beta1.fc11.noarch to create Windows
executables.  I've mentioned issues with the native-code threading
libraries in that distribution before on this list.

Recently, I added calls into the dynlink library in my code (see my
recent posts about dynlink-induced/revealed segfaults -- I'll discuss
progress in resolving these in a future post).  When compiling with
ocaml-mingw32, I first had to change the dynlink/META file to look for
dynlink.cmxa to link against native code.  The link failed, though,
because options -Wl and -E were being passed to FlexDLL.  I have
mingw32-flexdll-0.11-9.fc11.i386 installed.

The file Makefile.config, found in the ocaml-mingw32 library
directory, contains the line:


which options seem to get baked into dynlink.cmxa.  I hacked the
library file to change those options to spaces, and the link proceeds
normally.  That works, but my sleep patterns have become disturbed.

Is this issue particular to my installation, or should dynlink.cmxa
have been built not to invoke these flags?  Why does FlexDLL get
invoked as the linker, rather than i686-pc-mingw32-ld (which would
have accepted those flags)?

-- Paul