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
[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: 2004-02-24 (06:38)
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?



(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 Archives:
Bug reports: FAQ:
Beginner's list: