Fedoraのソースからttydをインストールする方法は?

Fedoraのソースからttydをインストールする方法は?

コンパイルしようとしています。ttydこれが必要ですlibwebsocketsFedoraで。マイシステムのバージョンが古く、ttyd実行するには最新バージョンが必要です。ビデオテープツール

どちらのプロジェクトもCMakeを使用しているので、コンパイルしてインストールできました。

ttydビルドディレクトリで実行すると正常に動作します。しかし、他の場所で実行すると、次のエラーが発生します。

ttyd: error while loading shared libraries: libwebsockets.so.19: cannot open shared object file: No such file or directory

私の変数にビルドディレクトリを追加するとそれをPATH使うことができますが、うまくいくには正しくインストールしたいと思います。私は何が間違っていましたか?ttydvhsttyd

インストールしてttydからlibwebsockets削除しました。

おそらく共有ライブラリへのシンボリックリンクに興味があるかもしれませんが、これは問題に対する実際の解決策ではありません。ソースからこれら2つのライブラリをインストールした場合、共有ライブラリが見つからないのはなぜですか?

編集する:

両方のパッケージを同じ方法でインストールしました。

mkdir build
cd build
cmake ..
make
sudo make install

共有ライブラリは次の場所にインストールされます。/usr/local/lib/

答え1

ここでの問題は、デフォルトの共有/usr/local/libライブラリ検索パスに含まれていないことです。この問題を解決する方法は3つあります。

  1. LD_LIBRARY_PATH実行前の設定ttyd:

    $ LD_LIBRARY_PATH=/usr/local/lib ttyd
    
  2. 基本ライブラリ検索パスの更新:

    # echo /usr/local/lib > /etc/ld.so.conf.d/local.conf
    # ldconfig
    
  3. ビルド時にライブラリパスをバイナリにコンパイルします。

    $ cmake -DCMAKE_INSTALL_RPATH=/usr/local/lib ..
    

上記の3つのオプションのいずれかを使用すると、共有ライブラリを見つけるttydことができます。libwebsockets

関連情報