Fedora 33でコンパイルしようとしています。イメージマジック子供から。
libx265
そして、libheif
パッケージと共にFedora Fusionリポジトリからインストールしてください-devel
。
実行すると、./configure --prefix=$HOME --program-prefix=p_
次のレポートが表示されます。
HEIC --with-heic=yes yes
...
LIBS = -ljbig -ltiff -lfreetype -lraqm -lfreetype -ljpeg -llqr-1 -lglib-2.0 -lpng16 -lz -lfftw3 -lfontconfig -lfreetype -lheif -lwebpmux -lwebpdemux -lwebp -lwebp -lXext -lXt -lSM -lICE -lX11 -llzma -lbz2 -lIlmImf -lImath -lHalf -lIex -lIexMath -lIlmThread -pthread -lopenjp2 -lpangocairo-1.0 -lpango-1.0 -lgobject-2.0 -lglib-2.0 -lharfbuzz -lcairo -lxml2 -lz -lz -lm -lpthread
...
DELEGATES = bzlib fftw fontconfig freetype heic jbig jng jpeg lqr lzma openexr openjp2 pango png ps raqm tiff video webp x xml ziplib zlib zstd
ただし、コンパイル後のバイナリは無効なバイナリにリンクされますlibx265.so
。
% ./p_magick --version
./p_magick: error while loading shared libraries: libx265.so.169: cannot open shared object file: No such file or directory
ldd
バイナリファイル(p_magic
私の場合)は次を示しています:
libx265.so.169 => not found
(コンパイルプロセスは標準./configure
、、make
)make install
以下をインストールすると混乱しますlibx265.so
。
% ll /usr/lib64/libx265*
lrwxrwxrwx 1 root root 14 08-19 03:29 /usr/lib64/libx265.so -> libx265.so.192*
-rwxr-xr-x 1 root root 4.6M 08-19 03:29 /usr/lib64/libx265.so.192*
-rwxr-xr-x 1 root root 5.6M 08-19 03:29 /usr/lib64/libx265_main10.so.192*
-rwxr-xr-x 1 root root 5.5M 08-19 03:29 /usr/lib64/libx265_main12.so.192*
何らかの理由で私のシステムにp_magick
接続されていますが、インストールされていますが、どのように間違ったライブラリに接続するのかよくわかりません。また、コードベースのどこでもImageMagickへの言及を見つけるのに苦労しています。など。 )。libx265.so.169
libx265.so.192
libx265
grep
だから私はエラーがImageMagickではなく、システム構成によって引き起こされたと確信していますが、どこから始めるべきかわかりません。
付録
/etc/ld.so.cache
を使用してキャッシュを削除して再作成しましたldconfig
。
ldconfig -p
示す:
# ldconfig -p | grep libx265
libx265_main12.so.192 (libc6,x86-64) => /lib64/libx265_main12.so.192
libx265_main10.so.192 (libc6,x86-64) => /lib64/libx265_main10.so.192
libx265.so.192 (libc6,x86-64) => /lib64/libx265.so.192
libx265.so (libc6,x86-64) => /lib64/libx265.so
内部リンク/lib64
も正しいようです。
# ll /lib64/libx265.so
lrwxrwxrwx 1 root root 14 Aug 19 03:29 /lib64/libx265.so -> libx265.so.192
しかし、エラーはまだ存在します。