我的配置如下:
OCaml 由 Homebrew 根据其默认配方安装。它存在于/usr/local/Cellar/objective-caml/3.12.0/[bin,lib,share]
其中,其内容被符号链接到/usr/local/[bin,lib,share]
.
第 3 方库 (LLVM) 将符号链接安装到/usr/local/lib/ocaml/*
. 至关重要的是,/usr/local/lib/ocaml
它本身不是Homebrew Cellar 的符号链接,而是包含指向 OCaml Cellar 路径下各个文件的链接的文件夹,因此这些 3rd 方库文件位于/usr/local/lib/ocaml/
路径中,但不是原始路径
标准 OCaml 编译器/解释器/构建工具始终无法找到这些 3rd 方库,除非它们被明确指出(例如使用ocamlbuild -cflags -I,/usr/local/lib/ocaml
)。
ld.conf
列表:
/usr/local/lib/ocaml/stublibs
/usr/local/lib/ocaml
/usr/local/lib/ocaml/site-lib/pcre
这似乎表明编译器搜索路径设置正确,但我不熟悉工具链的内部工作原理。
- 这是一个已知问题吗?
- 有没有办法打印标准工具实际使用的 OCaml 搜索路径?
- 假设这是 Homebrew
configure
和安装过程的结果(即假设问题是 OCaml,按照配置,假设它的实际库路径是/usr/local/Cellar/objective-caml/3.12.0/lib/ocaml
而不是/usr/local/lib/ocaml
),是否可以--prefix
在配置期间强制显式添加额外的搜索路径? - 安装后是否可以扩展整个环境的搜索路径(通过编辑配置文件,而不是不得不求助于潜在的重新安装)?