Version française
Home     About     Download     Resources     Contact us    
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: -- (:)
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:

  NATDYNLINKOPTS=-Wl,-E

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