仕事でx265のEncodeが必要となりました。
Windows版はバイナリを拾ってきたのですが、諸事情によりLinux版が必要となりました。
$ hg clone https://bitbucket.org/multicoreware/x265
$ cd x265/build/linux
$ ./make-Makefiles.bash
10bit対応版にする必要があるのでHIGH_BIT_DEPTHの項目ににカーソルを合わせてEnterを押してONにする。
#設定を反映
$ c
#quit
$ q
$ make clean
$ make
$ make install
以下のエラーがでた。
[ 64%] Built target common
[ 89%] Built target encoder
[ 89%] Built target x265-shared
[100%] Built target cli
[100%] Built target x265-static
Install the project…
– Install configuration: “Release”
– Installing: /usr/local/lib/libx265.a
CMake Error at cmake_install.cmake:36 (FILE):
file INSTALL cannot copy file “/home/abe/x265/build/linux/libx265.a” to
“/usr/local/lib/libx265.a”.
make: * [install] エラー 1
$ sudo make install
で解決。
バージョンチェックしたがあれ?なにかエラーがでてる。
sudo make installがダメだった?
$ x265 --version
x265: error while loading shared libraries: libx265.so.40: cannot open shared object file: No such file or directory
とりあえずx265自身があるパスで
$ ./x265 --version
以下のように意図どおりだったので、上記の問題はまた今度ということで。
x265 [info]: HEVC encoder version 1.4+273-4659aa3e33bf
x265 [info]: build info [Linux][GCC 4.8.2][64 bit] 16bpp
x265 [info]: using cpu capabilities: MMX2 SSE2Fast SSSE3 SSE4.2 AVX AVX2 FMA3 LZCNT BMI2
追記
x265: error while loading shared libraries: libx265.so.40: cannot open shared object file: No such file or directoryに関してどんな動的ライブラリ・共有ライブラリとしてリンクしているのかを確認した。
$ ldd x265
linux-vdso.so.1 => (0x00007fff5f6ea000)
libx265.so.40 => /home/user/x265/build/linux/libx265.so.40 (0x00007f27f30ba000)
libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007f27f2e83000)
libstdc++.so.6 => /usr/lib/x86_64-linux-gnu/libstdc++.so.6 (0x00007f27f2b73000)
libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f27f27ae000)
libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007f27f24a8000)
/lib64/ld-linux-x86-64.so.2 (0x00007f27f3538000)
libgcc_s.so.1 => /lib/x86_64-linux-gnu/libgcc_s.so.1 (0x00007f27f2290000)
$ whereis libx265.so.40
インストールされている側でlddを確認したところ以下のようになってました。
/usr/local/bin $ ldd x265
linux-vdso.so.1 => (0x00007fff487d3000)
libx265.so.40 => not found
結論
以下のコマンドでこの問題は改善しました。
Shared libraryがインストールされる場合はこのコマンドが必要ということですね。
$ sudo ldconfig
調べてみると以下でも改善とのことでした。
1. vi ~/.bashrc
2. bashrcに以下を記載
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib
0 件のコメント :
コメントを投稿