ImageMagicをコンパイルするときにFedora 33(libx265)の無効な.soファイル

ImageMagicをコンパイルするときにFedora 33(libx265)の無効な.soファイル

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、、makemake 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.169libx265.so.192libx265grep

だから私はエラーが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

しかし、エラーはまだ存在します。

関連情報