From alan.schmitt at polytechnique.org Tue Nov 1 05:36:12 2016 From: alan.schmitt at polytechnique.org (Alan Schmitt) Date: Tue, 01 Nov 2016 10:36:12 +0100 Subject: [Unison-hackers] XCode linking issues Message-ID: Hello, I no longer can compile Unison on OS X because of linking issues. The very last command run is: Ld build/Default/Unison.app/Contents/MacOS/Unison normal x86_64 cd /Users/schmitta/projets/unison/src/uimac14 export MACOSX_DEPLOYMENT_TARGET=10.6 /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang -arch x86_64 -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.12.sdk -L/Users/schmitta/projets/unison/src/uimac14/build/Default -F/Users/schmitta/projets/unison/src/uimac14/build/Default -F/Users/schmitta/projets/unison/src/uimac14 -filelist /Users/schmitta/projets/unison/src/uimac14/build/uimacnew.build/Default/uimac.build/Objects-normal/x86_64/Unison.LinkFileList -mmacosx-version-min=10.6 -Xlinker -object_path_lto -Xlinker /Users/schmitta/projets/unison/src/uimac14/build/uimacnew.build/Default/uimac.build/Objects-normal/x86_64/Unison_lto.o -fobjc-link-runtime -L/Users/schmitta/.opam/4.02.1/lib/ocaml -lunix -lthreadsnat -lcamlstr -lbigarray -lasmrun -framework Cocoa -framework Security -framework ExceptionHandling /Users/schmitta/projets/unison/src/unison-blob.o -Xlinker -dependency_info -Xlinker /Users/schmitta/projets/unison/src/uimac14/build/uimacnew.build/Default/uimac.build/Objects-normal/x86_64/Unison_dependency_info.dat -o /Users/schmitta/projets/unison/src/uimac14/build/Default/Unison.app/Contents/MacOS/Unison which fails with a bunch of undefined symbols Undefined symbols for architecture x86_64: "_caml_classify_float_unboxed", referenced from: _camlCamlinternalFormat__convert_float_62418 in unison-blob.o _camlPervasives__113 in unison-blob.o "_caml_ephe_blit_data", referenced from: _camlObj__fun_1396 in unison-blob.o _camlObj__23 in unison-blob.o ? The path of the OCaml library is correct and I see the libraries libasmrun.a, libunix.a, and so on. One strange thing is that I do not find the symbol _caml_classify_float_unboxed anywhere. I see it in another ocaml installation (in /usr/local/lib/ocaml/libasmrun.a), but neither ocamlc nor ocamlopt for that installation are in my path. Is there any reason they would be used instead of my opam installation? Thanks, Alan -- OpenPGP Key ID : 040D0A3B4ED2E5C7 Monthly Athmospheric CO?, Mauna Loa Obs. 2016-09: 401.03, 2015-09: 397.63 -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 454 bytes Desc: not available URL: From alan.schmitt at polytechnique.org Tue Nov 1 05:58:29 2016 From: alan.schmitt at polytechnique.org (Alan Schmitt) Date: Tue, 01 Nov 2016 10:58:29 +0100 Subject: [Unison-hackers] XCode linking issues In-Reply-To: (Alan Schmitt's message of "Tue, 01 Nov 2016 10:36:12 +0100") References: Message-ID: Hello, As a follow-up, if I make sure that my system and opam versions of ocaml match, then I can compile Unison. For some reason one is picked at some time, and the other at other times. I did change the generation of the ExternalConfig file to check for opam and use that, but it's not enough. Why would unison_blob.o be compiled with the system version of OCaml instead of the one in the path? Thanks, Alan -- OpenPGP Key ID : 040D0A3B4ED2E5C7 Monthly Athmospheric CO?, Mauna Loa Obs. 2016-09: 401.03, 2015-09: 397.63 -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 454 bytes Desc: not available URL: