前回の続きです。まだ頑張っています。
前回に引き続き、vmware-viewのインストールをします。
困っていたのはエラーメッセージでした。
~$ vmware-view
/usr/lib/vmware/view/bin/vmware-view: error while loading shared libraries: libpng12.so.0: cannot open shared object file: No such file or directory
共有オブジェクトファイルがないというメッセージですが、たぶん何かのファイルがないのか関連付けが取れていないのか、ということは推測できますが、対応方法がわかりません。
こちらのサイトを参考にしてやってみました。
発声練習:動的ライブラリ・共有ライブラリへのリンクミスへの対応
調べてみると、lddというコマンドでライブラリのリンク状態がわかるとのことでした。
アプリケーションで必要としているライブラリはアプリケーションのフォルダにそのまま持っていくのではなく、リンクという形で使っているんですね。これも最新のものを使うという知恵でしょうか。
~$ ldd vmware-view
ldd: ./vmware-view: そのようなファイルやディレクトリはありません
(´・ω・`)
whichコマンドで探します。
~$ which vmware-view
/usr/bin/vmware-view
なるほど。パスが通っていませんでした。
~$ ldd /usr/bin/vmware-view
動的実行ファイルではありません
(´;ω;`)
~$ type /usr/bin/vmware-view
/usr/bin/vmware-view は /usr/bin/vmware-view です
(#^ω^)
~$ cat /usr/bin/vmware-view
#!/bin/bash
#
# Copyright 2017 VMware, Inc. All rights reserved.
#
# This script manages the VMware Horizon Client
#libpath="/usr/lib/vmware"
binPath="/usr/lib/vmware/view"
(省略)
どうやら(私にほとんど知識のない)スクリプトファイルのようです。
このあとvmware-installerというスクリプトを見つけたので、
/usr/bin$ sudo vmware-installer
とやってみましたが、
Magic number of 0x6******* does not match
(*´Д`)
~$ sudo apt-get install libpng12
パッケージリストを読み込んでいます... 完了
依存関係ツリーを作成しています
状態情報を読み取っています... 完了
E: パッケージ libpng12 が見つかりません
もういちど原点回帰します。
~$ vmware-view
/usr/lib/vmware/view/bin/vmware-view: error while loading shared libraries: libpng12.so.0: cannot open shared object file: No such file or directory
先ほどとファイルのパスが変わって深いところからメッセージが出ています。
~$ ldd /usr/lib/vmware/view/bin/vmware-view
とやってみたら、をを、リンクを示す結果が出てきたではありませんか。
(あまりにたくさんあるので、not foundだけひっぱりました)
libpng12.so.0 => not found
libudev.so.0 => not found
libssl.so.1.0.2 => not found
libcrypto.so.1.0.2 => not found
ないものはまずインストールしますがlocateで探してみます。
locate libpng
libpng16がありました。しかし12はありません。
RStudioのインストールに倣って、Debianのサイトから古いパッケージを落としてきます。
http://ftp.ca.debian.org/debian/pool/main/libp/libpng/
http://ftp.ca.debian.org/debian/pool/main/libp/libpng/libpng12-0_1.2.50-2+deb8u3_amd64.deb
こうやって古いバージョンも丁寧に残されているので助かりますね。サポートの有無ではなく個人に対応できる環境を整備するということはとても大切です。
ダウロードしたら程なくUbuntu Softwareが起動してあっという間にインストール完了。便利だがセキュリティには注意せねば。
もう一度、vmwareの起動コマンドを叩きますと、今度は、libudevがないというメッセージ。
再度、Debianのサイトを探しますが、どうもlibudevはありません。Ubuntuのサイトも初めて探してみましたが、やはりないのです。万事休すか!
そこでリンクコマンドを思い出しました。この際、libudevを諦めて、libudev1を使うことにします。
~$ ln -sf libudev.so.0 /lib/x86_64-linux-gnu/libudev.so.1
ln: '/lib/x86_64-linux-gnu/libudev.so.1' を削除できません: 許可がありません
おっと。削除という危険な言葉が。しかしsudoを忘れて権限がなかったため救われました。
~$ ln -sf /lib/x86_64-linux-gnu/libudev.so.1 libudev.so.0
として、望みを託し
~$ vmware-view
でついにvmwareのクライアントが開きました。
※以下が残っていますが、特に困ったメッセージが出ないのでとりあえず放置。
libssl
libcrypto