less than 1 minute read

Just taking notes.

Mac OS X 上、homebrewとOPAMを組み合わせて構築していた環境で、

$ uname -mprsv
Darwin 20.6.0 Darwin Kernel Version 20.6.0: Tue Feb 22 21:10:41 PST 2022; root:xnu-7195.141.26~1/RELEASE_X86_64 x86_64 i386

$ brew --version
Homebrew 3.4.11
Homebrew/homebrew-core (git revision 5e04cffec74; last commit 2022-05-29)

 opam --version
2.1.2

OPAM を利用して、 cohttp-lwt-unix を install しようとしたところ、依存している conf-libssl

のbuildが失敗して修正することに。

[ERROR] The compilation of conf-libssl.4 failed at "sh -ex ./homebrew.sh check".

#=== ERROR while compiling conf-libssl.4 ======================================#
# context     2.1.2 | macos/x86_64 | ocaml.4.14.0 | https://opam.ocaml.org#40f3586d
# path        ~/.opam/default/.opam-switch/build/conf-libssl.4
# command     ~/.opam/opam-init/hooks/sandbox.sh build sh -ex ./homebrew.sh check
# exit-code   1
# env-file    ~/.opam/log/conf-libssl-75408-e05b83.env
# output-file ~/.opam/log/conf-libssl-75408-e05b83.out
### output ###
# ++ brew --prefix openssl
# + brew_pkg_config=/usr/local/opt/openssl@3/lib/pkgconfig
# + case "$1" in
# + test 1 '!=' 1
# + export PKG_CONFIG_PATH=/usr/local/opt/openssl@3/lib/pkgconfig:/Users/sugarsun/.opam/default/lib/pkgconfig
# + PKG_CONFIG_PATH=/usr/local/opt/openssl@3/lib/pkgconfig:/Users/sugarsun/.opam/default/lib/pkgconfig
# + pkg-config --print-errors --exists openssl
# Package openssl was not found in the pkg-config search path.
# Perhaps you should add the directory containing `openssl.pc'
# to the PKG_CONFIG_PATH environment variable
# No package 'openssl' found

一部usernameが漏れていますが、まあお気になさらず。。。

結局$ brew reinstall openssl にて修正。

エラーをよく読むと、OPAMがopensslの依存先を探していて、それがbrewで openssl@3のalias?になっているが、自分の環境だと、 openssl@1.1 が入っていたが、 @3 がなかったので、エラーになっていたよう。。

Reference

Updated: