プロセスのコンパイルとインストール
インストールパスの計画
ソースコードをコンパイルして取得したプログラムリソースをユーザーディレクトリ/ home / muke / myuserにインストールします。
./configure --prefix=/home/muke/myuser
インストール後、/ home / muke / myuserディレクトリにbin、include、lib、shareなどのディレクトリが追加され
ます。環境変数を設定します。/etc/profileを
編集して、次の行を追加します。
export PATH=/home/muke/myuser/bin:$PATH
export LIBRARY_PATH=/home/muke/myuser/lib:/home/muke/myuser/lib64:$LIBRARY_PATH
export PKG_CONFIG_PATH=/home/muke/myuser/lib/pkgconfig:$PKG_CONFIG_PATH
export C_INCLUDE_PATH=/home/muke/myuser/include:$C_INCLUDE_PATH
上記の環境変数は、プログラムのコンパイル時に使用する必要のあるライブラリファイル、ヘッダーファイルパス、および実行可能プログラムパスです。
コマンドラインで次のコマンドを実行して、新しく設定した環境変数をすぐに有効にします。
source /etc/profile
ダイナミックライブラリパスを構成します
/etc/ld.so.confを編集し、次の2行を追加します。
/home/muke/myuser/lib
/home/muke/myuser/lib64
ld.so.confのコンテンツは、プログラムの実行時に検索する必要があるダイナミックライブラリパスです。
コマンドラインで次のコマンドを実行して、新しく設定したダイナミックライブラリパスをすぐに有効にします。
ldconfig
上記のFFMPEGをコンパイルした後、次のbinディレクトリで生成された実行可能ファイルを実行できます。
~/tmp/ffmpeg/ffmpeg/host/bin$ ./ffmpeg
./ffmpeg: error while loading shared libraries: libavdevice.so.57: cannot open shared object file: No such file or directory
ダイナミックライブラリが見つからないというプロンプトが表示されることがわかりました。次を使用できます。
ldd ffmpeg
私のようにFFMPEGのコンパイル後にシステム環境を変えたくないという人は多いはずですが、現時点ではこの問題を解決する簡単な方法があります。現在の端末で環境変数をエクスポートすることです。
~/tmp/ffmpeg/ffmpeg/host$ export LD_LIBRARY_PATH=lib/
または
sudo vim /etc/profile
export PATH=$PATH:/opt/gcc-arm-8.3-2019.03-x86_64-aarch64-linux-gnu/bin
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib
``