Version française
Home     About     Download     Resources     Contact us    
Browse thread
[Caml-list] ocamlc -linkall: problems with external functions?
[ Home ] [ Index: by date | by threads ]
[ Search: ]

[ Message by date: previous | next ] [ Message in thread: previous | next ] [ Thread: previous | next ]
Date: -- (:)
From: Ranjan Bagchi <ranjan@f...>
Subject: [Caml-list] ocamlc -linkall: problems with external functions?
Hi --

I'm experimenting with mod_caml 1.0.6 (which is very cool, thanks Rich), 
and I've found something interesting (this may be an ocaml thing, a 
mod_caml thing, or an apache thing since it intersects):

The following line in the Makefile:

mod_caml_executable: $(ALL_CMOS) apache_c.o wrappers.o dummy.o
        $(OCAMLC) -custom $(OCAMLCFLAGS) $(ALL_CMAS) $^ -o $@

if changed to

mod_caml_executable: $(ALL_CMOS) apache_c.o wrappers.o dummy.o
        $(OCAMLC) -linkall -custom $(OCAMLCFLAGS) $(ALL_CMAS) $^ -o $@

results in the very strange startup error (when doing 
/usr/sbin/apachectl start):
Fatal error: unknown C primitive `pcre_get_match_limit_wrapper'

However, in both mod_caml_executables, nm | grep 
pcre_get_match_limit_wrapper results in
    080571a0 T pcre_get_match_limit_wrapper

Is this a bug?  What's happening?  Is there a workaround?

Thanks,

Ranjan

(PS -- why I'm doing this.  I'm trying to load into the executable the 
rpc library.  The reason why is that Dynlink seems to really dislike 
loading -- at run time -- the rpc.cma and equeue.cma libraries.  
However, I've found that building an executable with --linkall produces 
a system that Dynlink can use to load in code building **using** rpc:  
stub modules, etc)

-------------------
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