В настоящее время я работаю на сервере CentOS 6.5. Я пытаюсь использовать openjp2 как один из делегатов в ImageMagick.
Поскольку openjpeg для CentOS устарел (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.
Спасибо!
Вы не указали, какой именно пакет вы установили, но ваша ошибка указывает на то, что вы не установили связанный с ним -devel
пакет, необходимый для компиляции программного обеспечения против него.
Компиляция была немного болезненной, я должен научиться читать логи :( ... Действительно, вам нужно использовать исходный код для 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
Я столкнулся с этой проблемой (в CentOS 7) и обнаружил, что проблема в том, что я не установил openjpeg-devel
пакет.
yum install openjpeg2-devel
При поиске решений выяснилось, что ImageMagick в настоящее время поддерживает только OpenJPEG 2.1.