On Oct 15, 2008, at 12:03 PM, Xavier Leroy wrote:

Native dynlink used to work on Mac OS X < 10.5 (x86 only). The new
linker in 10.5 does not support linking shared libraries with non- PIC
code. It is still possible to use the old linker, called ld_classic,
but some libraries (like X11) does not work, so this has been disabled
in the configure script.

The clean solution to make natdynlink work on recent Mac OS X systems
(beside convincing Apple to support the old behavior of their linker
in their new implementation) is to change OCaml's x86 backend so that
it produces only PIC code (this has been done for the AMD64 port). I
don't think there is currently any plan to work on that.

Ouch, this makes it almost a dead end for us. I can offer some time to
help in this effort, working in the port, or providing feedback. The
native dynlink and toplevel are, at least to me, the killer features in
3.11, but adding another hole for Mac OS X intel (in addition to not
supporting x86_64) does not seem like the best choice for an
increasingly popular architecture.

Well, we'd very much like to support native dynlink on OS X 10.5,
but Apple is not helping in the least by crippling their linker
compared with the one in 10.4.  If anyone from Apple is on this list,
feel free to contact us at [EMAIL PROTECTED] for more
information on this regression.

I'm glad to report that I just tried with XCode 3.1.1 and the linker did not complain (as it did with XCode 3.0). I wrote a little test and the native Dynlink worked with that version of XCode (using 10.5.5, Intel -- I had to drop an -I flag in the linker call from the OCaml compiler when I was trying it).

Andres



- Xavier Leroy


_______________________________________________
Caml-list mailing list. Subscription management:
http://yquem.inria.fr/cgi-bin/mailman/listinfo/caml-list
Archives: http://caml.inria.fr
Beginner's list: http://groups.yahoo.com/group/ocaml_beginners
Bug reports: http://caml.inria.fr/bin/caml-bugs

Reply via email to