[
Home
]
[ Index:
by date
|
by threads
]
[ Message by date: previous | next ] [ Message in thread: previous | next ] [ Thread: previous | next ]
[ Message by date: previous | next ] [ Message in thread: previous | next ] [ Thread: previous | next ]
| Date: | -- (:) |
| From: | Warp <warplayer@f...> |
| Subject: | [Caml-list] Dynamic Linking Bug |
Hi all. Here's some bug It comes when trying to Dynlink a CMA build with flags : > -cclib -lmylib -dllib -lmylib (these allow static and dynamic linking) When I compile and run a program with > ocamlc mylib.cma myprog.ml it works. But when I use the following into myprog.ml ( and compile it without the CMA ) > Dynlink.loadfile "mylib.cma" it prints the Win32 error message "Dynamic library not found", which is quite annoying because the name of the DLL is missing. Seems like the dynlink_open_lib should fail with more informations (at least under Win32 : caml_dlerror does not include the name of the module ). So i did make it fail with the name of the library Dynlink is trying to load , and it is "-lwin32.dll" ( seems like Dynlink doesn't like -l notation ). Another problem with dynamic linking is that it can't be used with "-custom" mode. When you write a DLL, you need to use caml functions to register roots, allocations, etc... To enable access to theses functions, you need to link with ocamlrun.lib which contains links to ocamlrun exported functions. So when your runtime is not ocamlrun, the calls to caml functions crash. An issue would be to have a ocamlrun.lib which links to the loading runtime. I would be glad to know if the OCaml Team is working on that problem, or is it "case closed" ? Thanks Nicolas Cannasse ------------------- To unsubscribe, mail caml-list-request@inria.fr Archives: http://caml.inria.fr Bug reports: http://caml.inria.fr/bin/caml-bugs FAQ: http://caml.inria.fr/FAQ/ Beginner's list: http://groups.yahoo.com/group/ocaml_beginners