From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Original-To: caml-list@sympa.inria.fr Delivered-To: caml-list@sympa.inria.fr Received: from mail1-relais-roc.national.inria.fr (mail1-relais-roc.national.inria.fr [192.134.164.82]) by sympa.inria.fr (Postfix) with ESMTPS id 175FC7ED34 for ; Mon, 16 Jul 2012 17:06:01 +0200 (CEST) Received-SPF: None (mail1-smtp-roc.national.inria.fr: no sender authenticity information available from domain of ml@pulsschlag.net) identity=pra; client-ip=194.95.184.44; receiver=mail1-smtp-roc.national.inria.fr; envelope-from="ml@pulsschlag.net"; x-sender="ml@pulsschlag.net"; x-conformance=sidf_compatible Received-SPF: None (mail1-smtp-roc.national.inria.fr: no sender authenticity information available from domain of ml@pulsschlag.net) identity=mailfrom; client-ip=194.95.184.44; receiver=mail1-smtp-roc.national.inria.fr; envelope-from="ml@pulsschlag.net"; x-sender="ml@pulsschlag.net"; x-conformance=sidf_compatible Received-SPF: None (mail1-smtp-roc.national.inria.fr: no sender authenticity information available from domain of postmaster@mailhost.mis.mpg.de) identity=helo; client-ip=194.95.184.44; receiver=mail1-smtp-roc.national.inria.fr; envelope-from="ml@pulsschlag.net"; x-sender="postmaster@mailhost.mis.mpg.de"; x-conformance=sidf_compatible X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: AvwEACctBFDCX7gs/2dsb2JhbABFuTeBB4IgAQEEO0QofYguCpsNoQeLRYMmgjxgA41njSqKMIJh X-IronPort-AV: E=Sophos;i="4.77,594,1336341600"; d="scan'208";a="167038861" Received: from mailhost.mis.mpg.de ([194.95.184.44]) by mail1-smtp-roc.national.inria.fr with ESMTP/TLS/DHE-RSA-AES256-SHA; 16 Jul 2012 17:06:00 +0200 Received: from twww.mis.mpg.de (twww.mis.mpg.de [194.95.185.34]) by mailhost.mis.mpg.de (8.13.8/8.13.8) with ESMTP id q6GF5vdq004320; Mon, 16 Jul 2012 17:05:57 +0200 (MEST) Received: from [172.19.89.136] (pcserv1n12.mis.mpg.de [141.5.26.82]) (authenticated bits=0) by twww.mis.mpg.de (8.14.4/8.14.4) with ESMTP id q6GF5xST026777 (version=TLSv1/SSLv3 cipher=RC4-SHA bits=128 verify=NO); Mon, 16 Jul 2012 17:05:59 +0200 (MEST) From: Keyan Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: quoted-printable Date: Mon, 16 Jul 2012 17:05:53 +0200 To: caml-list@inria.fr Message-Id: <6616C34B-0FEC-4031-ABA8-8181D7654533@pulsschlag.net> Mime-Version: 1.0 (Apple Message framework v1278) X-Mailer: Apple Mail (2.1278) X-MIS-Check-Sender: OK, relay allowed from this IP.OK, user zahedi() has authenticated himself with PLAIN. Subject: [Caml-list] libasmrun.a not compatible with dynamic linking on mac os x Hi, i try to compile a dynamic library on mac os x, from ocaml-code using the f= ollowing lines in my makefile; camlopt -output-obj -o ocaml_controller.o -I /usr/local/lib/ocaml/site-lib/= batteries ocaml_controller.ml=20 ocamlc -o ocaml_interface.o -c ocaml_interface.c -I /usr/local/lib/ocaml/= =20 libtool -static -a -o mylib.a /usr/local/lib/ocaml/libasmrun.a ocaml_contro= ller.o ocaml_interface.o g++ -o Controller.o -c Controller.cpp=20 g++ -v -dynamiclib -o libController.dylib Controller.o mylib.a The problem occurs at the last line, i.e. during linking of the dynamic lib. Undefined symbols for architecture x86_64: "_caml_code_area_start", referenced from: _segv_handler in output.a(signals_asm.o) _caml_code_checksum in output.a(intern.o) _intern_rec in output.a(intern.o) _extern_rec in output.a(extern.o) "_caml_code_area_end", referenced from: _segv_handler in output.a(signals_asm.o) _caml_code_checksum in output.a(intern.o) _intern_rec in output.a(intern.o) _extern_rec in output.a(extern.o) "_caml_atom_table", referenced from: _caml_alloc in output.a(alloc.o) _caml_alloc_dummy_float in output.a(alloc.o) _caml_alloc_dummy in output.a(alloc.o) _caml_alloc_array in output.a(alloc.o) _caml_copy_string_array in output.a(alloc.o) _intern_alloc in output.a(intern.o) _intern_rec in output.a(intern.o) ... ld: symbol(s) not found for architecture x86_64 libasmrun contains the symbols: > nm /usr/local/lib/ocaml/libasmrun.a | grep _caml_code_area_start 0000000000000008 C _caml_code_area_start U _caml_code_area_start U _caml_code_area_start U _caml_code_area_start The problem only occurs while linking a dymamiclib, _not_ during a static l= ib, or an executable, with a c++ main. It seems that the libasmrun.a is not= compatible with dynamic linking on mac os x. Any help is very welcome! Cheers, Keyan