我目前正在使用 CentOS 6.5 服务器。我正在尝试使用openjp2作为 ImageMagick 中的代表之一。
由于 CentOS 的 openjpeg 已经过时(1.3),我使用 RPM 包安装了一个新的。
$ find /usr | grep openj
/usr/lib64/libopenjp2.so
/usr/lib64/libopenjp2.so.2.0.0
/usr/lib64/openjpeg-2.0
/usr/lib64/openjpeg-2.0/OpenJPEGConfig.cmake
/usr/lib64/openjpeg-2.0/OpenJPEGTargets.cmake
/usr/lib64/openjpeg-2.0/OpenJPEGTargets-release.cmake
find: `/usr/lib64/audit': Permission denied
/usr/lib64/libopenjp2.so.6
/usr/share/doc/openjpeg2
/usr/share/doc/openjpeg2/CHANGES
/usr/share/doc/openjpeg2/LICENSE
/usr/share/doc/openjpeg-2.0
/usr/share/doc/openjpeg-2.0/CHANGES
/usr/share/doc/openjpeg-2.0/LICENSE
/usr/share/man/man3/libopenjp2.3.gz
/usr/share/man/man3/libopenjp2.3
/usr/lib/libopenjp2.so
/usr/lib/libopenjp2.so.2.0.0
/usr/lib/openjpeg-2.0
/usr/lib/openjpeg-2.0/OpenJPEGConfig.cmake
/usr/lib/openjpeg-2.0/OpenJPEGTargets-noconfig.cmake
/usr/lib/openjpeg-2.0/OpenJPEGTargets.cmake
/usr/lib/libopenjp2.so.6
/usr/include/openjpeg-2.0
/usr/include/openjpeg-2.0/openjpeg.h
/usr/include/openjpeg-2.0/opj_config.h
/usr/include/openjpeg-2.0/opj_stdint.h
接下来,我尝试使用以下配置设置构建 IM 版本 6.8.8-2。
./configure --prefix=/usr --with-modules --with-openjp2 --with-jpeg --with-png --with-tiff --enable-shared --disable-static
然而,在检查(日志)过程中,我发现了这一点。
-------------------------------------------------------------
checking for LIBOPENJP2... no
最终结果如下:
bzlib djvu mpeg fontconfig freetype gslib jng jpeg lcms openexr png ps rsvg tiff x xml zlib
跑步时./configure --help
,我看到了一些你可以传递的旗帜。
LIBOPENJP2_CFLAGS
C compiler flags for LIBOPENJP2, overriding pkg-config
LIBOPENJP2_LIBS
linker flags for LIBOPENJP2, overriding pkg-config
在 期间我需要指定什么吗./configure
? IM 似乎无法看到已安装的 openjpeg。
谢谢!
答案1
您没有提到您安装了什么包,但是您的错误表明您没有安装其相关-devel
包,而该包是编译软件所必需的。
答案2
我刚刚遇到这个问题(在 CentOS 7 上),发现问题是因为我没有安装该openjpeg-devel
软件包。
yum install openjpeg2-devel
在寻找解决方案时,发现 ImageMagick 目前仅支持 OpenJPEG 2.1。
答案3
编译这个有点痛苦,我应该学会阅读日志 :( ...事实上,你需要使用 jp2 的源代码这里 然后在INSTALL.md中按要求进行编译:
cmake .
make && make install
默认情况下安装在/usr/local
转到 ImageMagick 源目录,然后设置:
export LIBOPENJP2_CFLAGS=/usr/local/include/openjpeg-2.1
export LIBOPENJP2_LIBS=/usr/local/lib
export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig
然后你就可以编译了!(我已经用 perl、tiff、jpeg 和 jpeg2000 进行了编译)。
./configure --enable-delegate-build --with-perl --enable-shared=yes --with-jpeg=yes --with-tiff=yes --with-openjp2=yes && make && make install
完毕 !
$> convert -list
Version: ImageMagick 7.0.5-0 Q16 x86_64 2017-03-02 http://www.imagemagick.org
Copyright: © 1999-2017 ImageMagick Studio LLC
License: http://www.imagemagick.org/script/license.php
Features: Cipher DPC HDRI OpenMP
Delegates (built-in): fontconfig freetype jng jp2 jpeg png tiff x zlib
Usage: convert [options ...] file [ [options ...] file ...] [options ...] file