追記:治ったので最後に記載。
Debian 10 Buster
Libcurl4を使っていたと思しきFehやSteamが一緒に消えるのはまあ分かるとして、なぜかテキストブラウザLynxが代わりに入ってくる。
Steamはまぁ……いや本当は何でもゲームしたいとこだけどGPU破損問題でロクにプレイできるタイトルがないためとりあえず消えてもいいことにした。(今後GOGで買うかもしんないし)
うちのDebianはBusterだけどStretchのパッケージも依存がなければ普通に入れてOK(セキュリティ的にどうかは分かんないけど)だと思うので、sudo apt install libcurl3 でインストール。
デスクトップにi3を使っていると壁紙の設定でfehが必要になる。
これはBuster以降のバージョンだとlibcurl4に依存しているので、3に依存するStretch版を https://packages.debian.org/stretch/feh からdebパッケージをもらってきてdpkgでインストール。これもすんなり入ったし普通に使える。
Steamは死んだけどやりたいタイトルがWin専ばっかりでWineからSteam起動するので別にいいかなってなった。
ゲーム本体のフォルダとして $HOME/Games/devil daggers があり、ここにライブラリファイルを置き、
発端はこれ
[fahrenheit:~]% devildaggers./libcurl.so.4Running Devil DaggersERROR: ld.so: object './libcurl.so.4' from LD_PRELOAD cannot be preloaded (cannot open shared object file): ignored.ERROR: ld.so: object './libcurl.so.4' from LD_PRELOAD cannot be preloaded (cannot open shared object file): ignored../devildaggers: /usr/lib/x86_64-linux-gnu/libcurl.so.4: version `CURL_OPENSSL_3' not found (required by ./devildaggers)
パス通ったところにdevildaggersという実行ファイルを置いている。GOGからダウンロードしたゲームデータstart.shを叩くだけのもので、どこかで見た解決法では(すみません見つけ次第リンク貼ります…)、Libcurl3のライブラリを側に置いてLD_PRELOAD変数で持ってこさせるみたいだったけど、なんか上手くいってない。
Libcurl4を消す
% sudo apt remove libcurl4Reading package lists... DoneBuilding dependency treeReading state information... DoneThe following packages were automatically installed and are no longer required:libayatana-appindicator3-1 libayatana-ido3-0.4-0 libayatana-indicator3-7 libminiupnpc17 libnatpmp1 transmission-common yudit-commonUse 'sudo apt autoremove' to remove them.The following additional packages will be installed:lynx lynx-commonThe following packages will be REMOVED:curl feh libcurl4 steam:i386 steam-launcher transmission transmission-gtk ttytterThe following NEW packages will be installed:lynx lynx-common0 upgraded, 2 newly installed, 8 to remove and 0 not upgraded.Need to get 1,824 kB of archives.After this operation, 2,889 kB disk space will be freed.Do you want to continue? [Y/n]Get:1 http://debian-mirror.sakura.ne.jp/debian buster/main amd64 lynx-common all 2.8.9rel.1-3 [1,183 kB]Get:2 http://debian-mirror.sakura.ne.jp/debian buster/main amd64 lynx amd64 2.8.9rel.1-3 [642 kB]Fetched 1,824 kB in 1s (2,692 kB/s)(Reading database ... 347789 files and directories currently installed.)Removing ttytter (2.1.0+1-1) ...Removing steam:i386 (1:1.0.0.64) ...Removing steam-launcher (1:1.0.0.64) ...Removing curl (7.64.0-4+deb10u1) ...Removing feh (3.1.3-1) ...Removing transmission (2.94-2+deb10u1) ...Removing transmission-gtk (2.94-2+deb10u1) ...Removing libcurl4:amd64 (7.64.0-4+deb10u1) ...Selecting previously unselected package lynx-common.(Reading database ... 347603 files and directories currently installed.)Preparing to unpack .../lynx-common_2.8.9rel.1-3_all.deb ...Unpacking lynx-common (2.8.9rel.1-3) ...Selecting previously unselected package lynx.Preparing to unpack .../lynx_2.8.9rel.1-3_amd64.deb ...Unpacking lynx (2.8.9rel.1-3) ...Setting up lynx-common (2.8.9rel.1-3) ...Setting up lynx (2.8.9rel.1-3) ...update-alternatives: using /usr/bin/lynx to provide /usr/bin/www-browser (www-browser) in auto modeProcessing triggers for desktop-file-utils (0.23-4) ...Processing triggers for mime-support (3.62) ...Processing triggers for hicolor-icon-theme (0.17-2) ...Processing triggers for libc-bin (2.28-10) ...Processing triggers for man-db (2.8.5-2) ...Processing triggers for menu (2.1.47+b1) ...
Libcurl3の入手
Fehを取り返す
おわり
追記
DebianのStretch版のLibcurlのtar.gzアーカイブを取得、解凍してlibcurl.so.4(libcurl.so.4.4.0?)のライブラリだけを取り出す。
ゲーム本体のフォルダとして $HOME/Games/devil daggers があり、ここにライブラリファイルを置き、
start.sh の先頭に
LD_PRELOAD=/home/username/Games/devlidaggers/libcurl.so.4.4.0
と記載。
LD_PRELOADに指定するライブラリを書く時に、フォルダ名などにスペースが入っているとエスケープしようがクォートで囲もうが途切れて見つからない扱いにされるので、パスにスペースが入らないようリネームしておく。
あとカレントディレクトリの指定として「./」とか、パス省略で$HOMEとか「~」(半チルダ)とかも展開されないので、使わないようにする。
これでDDは隣に置いてあるlibcurl3を参照するようになるので、aptでインストールするのは現行のlibcurl4でよくなる。
0 件のコメント:
コメントを投稿