Browse thread
[Caml-list] Error during partial linking
-
Yang Shouxun
-
Xavier Leroy
- Sven Luther
- Yang Shouxun
-
Xavier Leroy
[
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: | Yang Shouxun <yangsx@f...> |
| Subject: | Re: [Caml-list] Error during partial linking |
On Tuesday 22 October 2002 16:42, you wrote: > If you want help, you should provide more context for the error, > i.e. the command that fails and all error messages it prints. > Adding the "-verbose" option to ocamlopt will give even more useful There's no other error message. Yes, I should have add the "-verbose" option. > context. At any rate: > > $(CAMLOPT) -pack -o $(RESULT:.cmo=.cmx) $(SOURCES:.ml=.cmx) > > $(SOURCES:.ml=.o) > The -o $(RESULT:.cmo=.cmx) might be wrong, since $(RESULT) is > (apparently) "baire", not "baire.cmo". I've set $(RESULT) to "baire.cmo" -- seemingly unconventional. > The $(SOURCES:.ml=.o) is wrong too, you should just pass the .cmx > files to ocamlopt, it will deal with the underlying .o files all by > itself. My fault. At first I follow other examples (that is, without $(SOURCES:.ml=.o). When I cannot find out what's the cause of the error, I add it in desperation. And this does not make a change at all. Now I remove that redundant part and add the verbose option, I get the following spit out: ---8<--- ocamlopt -pack -verbose -o baire.cmx bairePervasives.cmx [...] weightBalancedMap.cmx + as -o '/tmp/camlpackagef06eb8.o' '/tmp/camlpackage2ad2ef.s' + ld -r -o 'baire.o' '/tmp/camlpackagef06eb8.o' 'bairePervasives.o' [...] 'weightBalancedMap.o' + /usr/bin/nm 'baire.o' > '/tmp/camlsymbolse063ad' + /usr/bin/objcopy --redefine-sym 'WeightBalancedSet__zero_227=Baire__WeightBalancedSet__zero_227' [...] --redefine-sym 'AmortizedQueue=Baire__AmortizedQueue' 'baire.o' Error during partial linking make[1]: *** [nativepack] Error 2 ---8<--- To make the list short, I use [...] to elide what come between. The problem is it's ok to "-pack" the byte-compiled .cmo files, but not to "-pack" the native-compiled .cmx files. I can now use the packed baire library in the toplevel and bytecode modes, but not the native-code mode. Besides the "-pack" problem, baire provides modules that have name clash with the stdlibs modules. I'm wondering whether it's possible to use the those of baire instead of the stdlibs. I don't know how so far. When compile and link in the native-code mode, it complains there is such a name clash and aborts. Thanks! shouxun ------------------- 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