You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
2022-07-29 - Crystal 使ってて error while loading shared libraries とか cannot open shared object file: No such file or directory が出た時には PKG_CONFIG_PATH 環境変数で指定してやる
#188
Closed
kachick opened this issue
Jul 29, 2022
· 0 comments
❯ PKG_CONFIG_PATH="$PKG_CONFIG_PATH:$(brew --prefix [email protected])/lib/pkgconfig" crystal run bin/ameba.cr -- --version/home/kachick/.cache/crystal/crystal-run-ameba.tmp: error while loading shared libraries: libssl.so.1.1: cannot open shared object file: No such file or directory
❯ PKG_CONFIG_PATH="$PKG_CONFIG_PATH:$(brew --prefix openssl@3)/lib/pkgconfig" crystal run bin/ameba.cr -- --version1.0.0
#4 (comment) の libpcre 不足問題は crystal-lang/crystal#9285 => crystal-lang/distribution-scripts#102 で用意された bundled 版のリリースパッケージを使えば回避できた。 (asdf-crystal を fork して対応させてたけど、
--strip-components
の値を増やさないと駄目だった。 tar 何もわからない・・・)とはいえ bundled版でも ameba 起動すると libssl が不足と出るのは変わらなかった。
Ubuntu22.04だから、また #180 みたいに OpenSSL 1.1 と 3 のずれ問題なのかなーと思ったけど、その割には全くといっていいほど情報が出てこない。
そもそも依存性入れてても不足と出るのが???だったので調べてみたら、
$PKG_CONFIG_PATH
という環境変数に依存しているらしい。現状なんも入ってなかったのだけど、追加したら動いた。ただ、1.1 系じゃなくむしろ 3 系で動く感じだった。多分 brew 使ってない綺麗な Ubuntu 環境ならこれも問題にならないのかな・・・brew で入れてた crystal だと流石にこの辺の PATH の扱いは綺麗にやってくれるのか問題なかったんだけど、asdf で管理したかったのでとりあえずホッとした。
と、改めて関連っぽい issue 探してたら1年前に自分が commit log に書いてたから当時 MacOSX 使ってたときに同じ問題にはまってたっぽい・・・ crystal-jp/introducing-crystal@2232e91 やっぱすぐメモに残さないと忘れるな・・・ => crystal-lang/crystal#6875 (comment)
コンパイル後の ameba は欠けたままなようなので、環境変数を入れた状態で
shards install
し直す必要があった。The text was updated successfully, but these errors were encountered: