Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/macos/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Macos OCamlfind生成失败_Macos_Ocaml_Ocamlfind - Fatal编程技术网

Macos OCamlfind生成失败

Macos OCamlfind生成失败,macos,ocaml,ocamlfind,Macos,Ocaml,Ocamlfind,当我尝试使用opam install ocamlfind安装ocamlfind时,编译失败,并显示以下消息: #=== ERROR while installing ocamlfind.1.5.5 ===================================# # opam-version 1.2.0 # os darwin # command make all # path /Users/MTGAP/.opam/system/build/

当我尝试使用
opam install ocamlfind
安装
ocamlfind
时,编译失败,并显示以下消息:

#=== ERROR while installing ocamlfind.1.5.5 ===================================#
# opam-version 1.2.0
# os           darwin
# command      make all
# path         /Users/MTGAP/.opam/system/build/ocamlfind.1.5.5
# compiler     system (4.02.1)
# exit-code    2
# env-file     /Users/MTGAP/.opam/system/build/ocamlfind.1.5.5/ocamlfind-21707-c61e7b.env
# stdout-file  /Users/MTGAP/.opam/system/build/ocamlfind.1.5.5/ocamlfind-21707-c61e7b.out
# stderr-file  /Users/MTGAP/.opam/system/build/ocamlfind.1.5.5/ocamlfind-21707-c61e7b.err
### stdout ###
# ...[truncated]
# ocamlc -I +compiler-libs -c fl_package_base.mli
# ocamlc -I +compiler-libs -g -c fl_package_base.ml
# ocamlc -I +compiler-libs -c findlib.mli
# ocamlc -I +compiler-libs -g -c findlib.ml
# ocamlc -I +compiler-libs -g -c fl_args.ml
# ocamlc -I +compiler-libs -a -o findlib.cma findlib_config.cmo fl_split.cmo fl_metatoken.cmo fl_meta.cmo fl_metascanner.cmo fl_topo.cmo fl_package_base.cmo findlib.cmo fl_args.cmo
# ocamlc -I +compiler-libs -g -c ocaml_args.ml
# ocamlc -I +compiler-libs -g -c frontend.ml
# ocamlc -I +compiler-libs -custom -o ocamlfind -g findlib.cma unix.cma \
#              ocaml_args.cmo frontend.cmo
### stderr ###
# ...[truncated]
# Undefined symbols for architecture x86_64:
#   "start", referenced from:
#      implicit entry/start for main executable
#      (maybe you meant: _caml_heap_start, _caml_young_start , _caml_start_code , _caml_startup_code )
# ld: symbol(s) not found for architecture x86_64
# clang: error: linker command failed with exit code 1 (use -v to see invocation)
# File "_none_", line 1:
# Error: Error while building custom runtime system
# make[1]: *** [ocamlfind] Error 2
     make: *** [all] Error 2

根据过去的堆栈溢出回答,如果没有安装m4,此安装有时会失败,但我已经安装了m4,并且在我的路径中,因此这不是问题。

看起来您的系统或软件包管理器中存在问题。首先,我建议不要使用系统编译器,而是从头开始安装新的编译器:

opam switch install 4.02.1
eval `opam config env`

如果这不起作用,请尝试查看您的编译器工具包,并确保链接器与编译器来自同一个工具包(最多,所有工具都应链接到默认的OS X工具包)

您是否通过brew安装了ocaml/opam?Edgararroutiounian:在这两方面都是。我尝试运行了
opam switch install 4.02.1
。它失败了,并说
确保正确安装了C编译器gcc-O。
gcc安装在我的机器上。我在网上找到了一些关于此错误消息的信息,但它看起来不相关。它是使用
macports
安装的吗?我建议您使用X代码开发工具(实际上安装llvm)进行安装,因为它是最健壮的解决方案。而且,当您调用opam时,您确定已安装的gcc在路径中可见吗?