[
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: | Mathieu Avila <mavila@i...> |
| Subject: | Re: [Caml-list] ocaml_startup et Solaris/x86 |
Jacques Garrigue a écrit :
>From: Mathieu Avila <mavila@irisa.fr>
>
>
>
>>I'd like to know whether there are known problems when mixing C and
>>OCaml on the Solaris/x86 platform.
>>The doc deals with particular flags to add for compiling on NT and
>>Digital Unix on the Alpha, but there's nothing written for x86. I have a
>>user of one of our tool written in Ocaml, who uses this platform and who
>>informs us that the software crashes when it comes to call
>>ocaml_startup, although everything goes right on solaris/sparc. Has this
>>configuration been tested before ?
>>Thanks in advance !
>>
>>
>
>I'm using ocaml on Solaris8/x86, and many C libraries, with no
>problem.
>
Are you able to call the ocaml code from the C ? I think this is rather
different from calling C libs from a standalone OCaml code.
In my case, i mix the 2 langages in this way :
cmain.ml:
--------------------------------------------------------
let cmain_ocaml n = try
...
;;
let _ = Callback.register "cmain_ocaml" cmain_ocaml
--------------------------------------------------------
in a cmain_cpp.cpp , where there is the "real" main() function:
--------------------------------------------------------
static value * cmain_closure = NULL;
if (cmain_closure==NULL)
cmain_closure = caml_named_value("cmain_ocaml");
result = Int_val(callback(*cmain_closure,Val_int(n)));
--------------------------------------------------------
It crashses when calling : callback(*cmain_closure...)
All is compiled into native solaris object code.
The same thing works perfectly on solaris/sparc.
--
Mathieu
-------------------
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