【问题标题】:not able to install anything using opam无法使用 opam 安装任何东西
【发布时间】:2015-01-12 18:04:32
【问题描述】:

我在 Mac OS X 10.10 上使用自制软件安装了 opam。但我无法使用 opam 安装任何东西。这是我尝试安装 ocamlfind 时得到的示例错误输出:

# opam-version 1.2.0
# os           darwin
# command      ./configure -bindir /Users/roger/.opam/system/bin -sitelib /Users/roger/.opam/system/lib -mandir /Users/roger/.opam/system/man -config /Users/roger/.opam/system/lib/findlib.conf -no-topfind
# path         /Users/roger/.opam/system/build/ocamlfind.1.5.5
# compiler     system (4.02.1)
# exit-code    1
# env-file     /Users/roger/.opam/system/build/ocamlfind.1.5.5/ocamlfind-91360-c61e7b.env
# stdout-file  /Users/roger/.opam/system/build/ocamlfind.1.5.5/ocamlfind-91360-c61e7b.out
# stderr-file  /Users/roger/.opam/system/build/ocamlfind.1.5.5/ocamlfind-91360-c61e7b.err
### stdout ###
# ...[truncated]
# Configuration for str written to site-lib-src/str/META
# Configuration for threads written to site-lib-src/threads/META
# Configuration for unix written to site-lib-src/unix/META
# Configuration for stdlib written to site-lib-src/stdlib/META
# Configuration for bigarray written to site-lib-src/bigarray/META
# Configuration for camlp4 written to site-lib-src/camlp4/META
# Configuration for ocamlbuild written to site-lib-src/ocamlbuild/META
# Configuration for compiler-libs written to site-lib-src/compiler-libs/META
# Configuration for bytes written to site-lib-src/bytes/META
# Detecting compiler arguments: FAILED (see the file ocargs.log for details)
### stderr ###
# ./configure: line 547: cd: src: No such file or directory

【问题讨论】:

  • 您是否尝试过使用以前版本的 opam?
  • 它只是“opam 中的任何东西”,因为大多数东西都依赖于 ocamlfind。
  • 也许你在调用opam 命令时不小心使用了sudo?无论如何,只需尝试删除 ~/.opam 文件夹并重新初始化它。 brew install opam; opam init 应该够了。
  • 而且,不确定它是否相关,但您的文件系统是否区分大小写?
  • 我删除了 .opam 文件夹并重新安装了 opam。没有成功。我的文件系统不区分大小写。

标签: ocaml opam


【解决方案1】:
brew install opam
opam init --comp=4.02.1
eval `opam config env`
ocaml

更新:

有时 brewed opam 可能会因Illegal Instruction 而失败,在这种情况下,您需要从源重新安装 opam:

brew reinstall --build-from-source opam

此外,您还需要一个有效的工具链,即编译器、自动工具和其他开发工具。您可以尝试使用brew 安装它,例如brew install autotools 等。或者您可以尝试安装xcode 工具链,包括苹果命令行开发工具。

【讨论】:

  • opam init --comp=4.02.1 给出:[错误!]无法猜测主机类型。您必须使用 -host 选项指定一个。 ### stderr ### # ./configure: line 190: cd: config/auto-aux: No such file or directory # ./configure: line 222: ../gnu/config.guess: No such file or directory
  • 顺便说一句:sudo brew install opam 不推荐,如果我启动 opam,仅使用安装 opam 会给出 [1]7481 非法硬件指令。从源代码安装有效,但随后我又回到了原来的问题。
  • 这比您最初提供的信息要多得多!因此,您的安装缺少opam 所需的一些工具。您需要手动安装工具链,这在opam 之外。另外,我必须承认,我从未使用过brew,而是更喜欢macports
  • xcode 工具链已安装。 brew reinstall --build-from-source opam 确实有效。也许我试试 macport。
  • 刚刚卸载了 opam 和 ocaml。 brew reinstall --build-from-source opam 和 ocaml 工作后,但如果我尝试使用 opam 安装某些东西,我仍然会收到相同的错误。
【解决方案2】:

我在尝试安装 mirage 时遇到了同样的问题,问题是因为当前目录在 macOS X 上默认不在 CDPATH 中。posix /bin/sh 不会“cd src”虽然可以“cd ./src” ”。快速修复是在运行 opam 之前执行以下操作(或将其放入您的 .bash_profile 中。

export CDPATH=. opam install WHATEVER

【讨论】:

    猜你喜欢
    • 2021-05-02
    • 2014-06-08
    • 1970-01-01
    • 1970-01-01
    • 2013-06-29
    • 1970-01-01
    • 2018-09-20
    • 2017-03-30
    • 2019-07-19
    相关资源
    最近更新 更多