0

我正在尝试使用 安装图形opam install graphics,但收到以下错误消息:

$ opam install graphics
The following actions will be performed:
  ∗ install   graphics     5.1.1
  ↻ recompile ocamlfind    1.9.1 [uses graphics]
  ↻ recompile base-bytes   base  [uses ocamlfind]
  ↻ recompile ounit2       2.2.4 [uses base-bytes]
  ↻ recompile ANSITerminal 0.8.2 [uses base-bytes]
===== ∗ 1   ↻ 4 =====
Do you want to continue? [Y/n] y

<><> Gathering sources ><><><><><><><><><><><><><><><><><><><><><><><><><><>   
[ANSITerminal.0.8.2] found in cache
[graphics.5.1.1] found in cache
[ocamlfind.1.9.1] found in cache
[ounit2.2.2.4] found in cache

<><> Processing actions <><><><><><><><><><><><><><><><><><><><><><><><><><>   
[ERROR] The compilation of graphics failed at "/Users/traviszhang/.opam/opam-init/hooks/sandbox.sh build dune
        build -p graphics -j 3 @install".

#=== ERROR while compiling graphics.5.1.1 =====================================#
# context     2.0.8 | macos/x86_64 | ocaml-base-compiler.4.11.1 | https://opam.ocaml.org#7e6a6dcc
# path        ~/.opam/cs3110-2021sp/.opam-switch/build/graphics.5.1.1
# command     ~/.opam/opam-init/hooks/sandbox.sh build dune build -p graphics -j 3 @install
# exit-code   1
# env-file    ~/.opam/log/graphics-9364-8b8a2d.env
# output-file ~/.opam/log/graphics-9364-8b8a2d.out
### output ###
# [...]
# In file included from src/unix/subwindow.c:16:
# src/unix/libgraph.h:17:10: fatal error: 'X11/Xlib.h' file not found
# #include <X11/Xlib.h>
#          ^~~~~~~~~~~~
# 1 error generated.
#           cc src/text.o (exit 1)
# (cd _build/default/src && /usr/bin/cc -O2 -fno-strict-aliasing -fwrapv -D_FILE_OFFSET_BITS=64 -D_REENTRANT -g -I /Users/traviszhang/.opam/cs3110-2021sp/lib/ocaml -o text.o -c text.c)
# In file included from src/unix/text.c:16:
# src/unix/libgraph.h:17:10: fatal error: 'X11/Xlib.h' file not found
# #include <X11/Xlib.h>
#          ^~~~~~~~~~~~
# 1 error generated.



<><> Error report <><><><><><><><><><><><><><><><><><><><><><><><><><><><><>   
┌─ The following actions failed
│ λ build graphics 5.1.1
└─ 
╶─ No changes have been performed

我尝试了以下解决方案,但它们似乎都不起作用:

  1. https://github.com/ocaml/graphics/issues/16(运行中export LIBRARY_PATH=/opt/X11/lib
  2. 还添加export PKG_CONFIG_PATH="$PKG_CONFIG_PATH:/usr/local/lib/pkgconfig:/opt/X11/lib/pkgconfig"到我的 .zshrc 文件中(这在与 1 相同的线程中提到。

当我运行pkg-config --list-all | grep x11x11 库时会弹出,但由于某种原因,在尝试安装图形时似乎找不到垃圾邮件。任何的意见都将会有帮助!

这是我当前的计算机配置:

  • macOS BigSur 版本 11.2.1
  • Ocaml 编译器 4.11.1

更新:

此问题已在以下线程 ( https://github.com/ocaml/graphics/pull/36#issuecomment-846827032 ) 中提出,并将在新的图形版本中更新。

4

1 回答 1

0

让图形包在 macOS 上运行的最简单方法是安装并正确设置homebrew,之后你就可以

opam depext --install graphics

它应该通过 homebrew (xquartzxorgproto) 安装系统依赖项并安装 OCaml 库。

于 2021-05-24T14:46:49.547 回答