Closed kachick closed 2 years ago
https://github.com/kachick/times_kachick/issues/4#issuecomment-1166558836 の libpcre 不足問題は https://github.com/crystal-lang/crystal/issues/9285 => https://github.com/crystal-lang/distribution-scripts/pull/102 で用意された bundled 版のリリースパッケージを使えば回避できた。 (asdf-crystal を fork して対応させてたけど、--strip-components の値を増やさないと駄目だった。 tar 何もわからない・・・) とはいえ bundled版でも ameba 起動すると libssl が不足と出るのは変わらなかった。
--strip-components
❯ bin/ameba --version bin/ameba: error while loading shared libraries: libssl.so.1.1: cannot open shared object file: No such file or directory
Ubuntu22.04だから、また https://github.com/kachick/times_kachick/issues/180 みたいに OpenSSL 1.1 と 3 のずれ問題なのかなーと思ったけど、その割には全くといっていいほど情報が出てこない。 そもそも依存性入れてても不足と出るのが???だったので調べてみたら、 $PKG_CONFIG_PATH という環境変数に依存しているらしい。現状なんも入ってなかったのだけど、追加したら動いた。ただ、1.1 系じゃなくむしろ 3 系で動く感じだった。多分 brew 使ってない綺麗な Ubuntu 環境ならこれも問題にならないのかな・・・
$PKG_CONFIG_PATH
❯ PKG_CONFIG_PATH="$PKG_CONFIG_PATH:$(brew --prefix openssl@1.1)/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 -- --version 1.0.0
brew で入れてた crystal だと流石にこの辺の PATH の扱いは綺麗にやってくれるのか問題なかったんだけど、asdf で管理したかったのでとりあえずホッとした。
と、改めて関連っぽい issue 探してたら1年前に自分が commit log に書いてたから当時 MacOSX 使ってたときに同じ問題にはまってたっぽい・・・ https://github.com/crystal-jp/introducing-crystal/commit/2232e9131e712bee9b007815e52dc47476820f73 やっぱすぐメモに残さないと忘れるな・・・ => https://github.com/crystal-lang/crystal/issues/6875#issuecomment-424959060
コンパイル後の ameba は欠けたままなようなので、環境変数を入れた状態で shards install し直す必要があった。
shards install
https://github.com/kachick/times_kachick/issues/4#issuecomment-1166558836 の libpcre 不足問題は https://github.com/crystal-lang/crystal/issues/9285 => https://github.com/crystal-lang/distribution-scripts/pull/102 で用意された bundled 版のリリースパッケージを使えば回避できた。 (asdf-crystal を fork して対応させてたけど、
--strip-components
の値を増やさないと駄目だった。 tar 何もわからない・・・) とはいえ bundled版でも ameba 起動すると libssl が不足と出るのは変わらなかった。Ubuntu22.04だから、また https://github.com/kachick/times_kachick/issues/180 みたいに OpenSSL 1.1 と 3 のずれ問題なのかなーと思ったけど、その割には全くといっていいほど情報が出てこない。 そもそも依存性入れてても不足と出るのが???だったので調べてみたら、
$PKG_CONFIG_PATH
という環境変数に依存しているらしい。現状なんも入ってなかったのだけど、追加したら動いた。ただ、1.1 系じゃなくむしろ 3 系で動く感じだった。多分 brew 使ってない綺麗な Ubuntu 環境ならこれも問題にならないのかな・・・brew で入れてた crystal だと流石にこの辺の PATH の扱いは綺麗にやってくれるのか問題なかったんだけど、asdf で管理したかったのでとりあえずホッとした。
と、改めて関連っぽい issue 探してたら1年前に自分が commit log に書いてたから当時 MacOSX 使ってたときに同じ問題にはまってたっぽい・・・ https://github.com/crystal-jp/introducing-crystal/commit/2232e9131e712bee9b007815e52dc47476820f73 やっぱすぐメモに残さないと忘れるな・・・ => https://github.com/crystal-lang/crystal/issues/6875#issuecomment-424959060
コンパイル後の ameba は欠けたままなようなので、環境変数を入れた状態で
shards install
し直す必要があった。