« Ubuntu18.04 にアップグレードしたら Minecraft が動かなくなってハマる。 | トップページ | またまた Ubuntu18.04 で Minecraft が動かなくなってハマる。 »

2018/05/20

Ubuntu18.04 にアップグレードしたら ePSXe が動かなくなってハマる。

Ubuntu を 17.10→18.04 にアップグレードしたら ePSXe が起動しなくなったので、その解決方法を書きます。

マイクラでハマった Ubuntu 18.04 ですが、今度は ePSXe でハマりました。

ePSXe を起動しようとしても起動しない。
コマンドから起動すると、
libcurl.so.4: version `CURL_OPENSSL_3' not found
とエラーが出ました。
なんだ。共有ライブラリ不足か。と、最初は軽く考えていました。
ネットで検索するとハマっている人がけっこういて、Arch Linux では libcurl-compat を入れるといいよ、みたいな回答がありました。
Ubuntuでは パッケージ libcurl3 に CURL_OPENSSL_3 が あるそうなんで、これを入れれば解決しそうです。

ってなわけで、Synapticからインストールしようとしたのですが、競合してるんでいろんなパッケージを削除していいですか?ってな展開になりました。ダメだろう!削除しては!

なんか問題は思っていたより深刻みたいでした。
Ubuntu の launchpad でも問題になっていました。
libcurl3 をインストールしたら、virtualbox とか Opera とか勝手に削除されたんですけどー!
Ubuntu公式パッケージじゃないから知らねーよ。開発者に相談してくれよ。はい終了。
おいおい、これバグだろ。せめてリリースノートに書くとかしろよ。多くのパッケージはまだlibcurl3を使ってるよ。
・・・みたいな展開になっているんだと思います。

問題の根本は、libcurl3 と libcurl4 で libcurl.so.4 が競合しているにもかかわらず、2つのライブラリの仕様が異なっているためのようです。
うーん、どうしたものか。

共有ライブラリをアプリ固有で指定できないのか調べた所、環境変数 LD_PRELOAD に ライブラリを指定すれば、強制的にそれを読み込んでくれるそうです。
libcurl3_7.58.0-2ubuntu2_amd64.deb をダウンロードしてきて、そこに入っている libcurl.so.4.5.0 を libcurl.so.4 に名前を変えて ePSXe のディレクトリに置いて、同じディレクトリに以下のようなシェルスクリプトを作成する。

# /bin/bash
export LD_PRELOAD=./libcurl.so.4
echo $LD_PRELOAD
./epsxe_x64

で、このシェルスクリプトを起動すると、無事 ePSXe が起動しました。
うーん、Ubuntu18.04 って本当に LTS なのか?

|

« Ubuntu18.04 にアップグレードしたら Minecraft が動かなくなってハマる。 | トップページ | またまた Ubuntu18.04 で Minecraft が動かなくなってハマる。 »

コメント

コメントを書く



(ウェブ上には掲載しません)


コメントは記事投稿者が公開するまで表示されません。



トラックバック

この記事のトラックバックURL:
http://app.cocolog-nifty.com/t/trackback/54336/66741126

この記事へのトラックバック一覧です: Ubuntu18.04 にアップグレードしたら ePSXe が動かなくなってハマる。:

« Ubuntu18.04 にアップグレードしたら Minecraft が動かなくなってハマる。 | トップページ | またまた Ubuntu18.04 で Minecraft が動かなくなってハマる。 »