« 2018年3月 | トップページ | 2018年8月 »

2018年5月

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 なのか?

| | コメント (0) | トラックバック (0)

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

Ubuntu18.04 がリリースされたので、アップグレードしたらマイクラが動かなくなったので解決方法を書きます。

我が家では子供用のPCに UbuntuMATE をいれて、そこにマイクラをインストールして遊ばせています。
16.10の時にはUbuntuのパッケージにマインクラフトのインストーラが有り、そこからオフィシャルのパッケージをインストールしていました。

UbuntuMATE を 17.10→18.04 にアップグレードした所、マイクラが動かなくなりました。Minecraftランチャーは起動するのですが、プロファイルを選択して実行すると
Unrecognized VM option 'CMSIncrementalMode'
Error: Could not create the Java Virtual Machine.
とエラーが出て起動しなくなります。
今回のアップグレードでOpenJDKが11になっているので、なんとなくそれがらみだということは判りましたが、プロファイルの設定でJREを8にしても解決せず。

ネットで検索しても解決方法がなかなか見つからなかったのですが、Minecraft WIKI に解決方法が載っていました。
Note: Minecraft will not run with Java 9 or greater unless you remove -XX:+CMSIncrementalMode from your JVM Arguments.
なんと! パラメータ -XX:+CMSIncrementalMode を消せと!

プロファイルの設定画面でJavaの起動パラメータを使用するようにチェックし、パラメータに記載されている -XX:+CMSIncrementalMode を削除した所、無事動きました。

これ、日本の Minecraft WIKI には載っていないんですよ。
英語圏の人はここに情報があるからハマる人は少なくてあんまり情報が無いのかな。
誰か翻訳してー。。。。
Javaをアップグレードすると、古いプロファイルで影響が出るので、これからハマる人が出てくるのではないかな。

でも、こうなることを予測してJavaの起動パラメータを簡単に変更できるような仕様にしている MOJANG は偉い!
eclipseも見習え!(笑)

| | コメント (0) | トラックバック (0)

« 2018年3月 | トップページ | 2018年8月 »