首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >找不到-lMagick++-6.Q16

找不到-lMagick++-6.Q16
EN

Stack Overflow用户
提问于 2018-08-19 19:14:40
回答 2查看 889关注 0票数 0

我试图安装magick R软件包,但是我得到了错误:

代码语言:javascript
复制
g++ -std=gnu++11 -shared -L/path/apps/R/3.5.1-20180807-test/x86_64-linux-2.6-rhel6/lib64/R/lib -L/path/apps/R/static-zlib-gcc6.3/x86_64-linux-2.6-rhel6/lib -Wl,--exclude-libs,libz.a -Wl,--exclude-libs,libbz2.a -Wl,--exclude-libs,libcurl.a -Wl,--exclude-libs,libpcre.a -Wl,--as-needed -o magick.so RcppExports.o animation.o attributes.o base.o color.o composite.o config.o convolve.o device.o edit.o fonts.o options.o properties.o resize.o transformations.o -L/path/apps/R/static-zlib-gcc6.3/x86_64-linux-2.6-rhel6/lib/ /path/apps/R/static-zlib-gcc6.3/x86_64-linux-2.6-rhel6/lib/libcurl.a /path/apps/R/static-zlib-gcc6.3/x86_64-linux-2.6-rhel6/lib/libz.a -Wl,--exclude-libs,libz.a -Wl,--exclude-libs,libcurl.a -lidn -lssl -lcrypto -lldap -lrt -lcairo -L/path/apps/mysql/5.7.11/x86_64-linux-2.6-rhel6/lib -lmysqlclient -lpthread -lm -lrt -ldl -L/path/apps/R/static-zlib-gcc6.3/x86_64-linux-2.6-rhel6/lib -lxml2 -lz -lm -ldl -L/path/apps/V8/3.14/x86_64-linux-2.6-rhel6/lib64 -L/path/apps/openmpi/1.8.1/x86_64-linux-2.6-rhel6/gnu/lsf/lib -L/path/apps/imagemagick/7.0.7-8/x86_64-linux-2.6-rhel6/lib/pkgconfig -lMagick++-6.Q16 -L/path/apps/R/3.5.1-20180807-test/x86_64-linux-2.6-rhel6/lib64/R/lib -lR
/usr/bin/ld: cannot find -lMagick++-6.Q16
collect2: error: ld returned 1 exit status
make: *** [magick.so] Error 1
ERROR: compilation failed for package ‘magick’

我的LIB_DIRINCLUDE_DIR看起来是这样的:

代码语言:javascript
复制
export LIB_DIR="$STATIC_LIB/lib/ $STATIC_LIB/lib/libcurl.a \
$STATIC_LIB/lib/libz.a -Wl,--exclude-libs,libz.a \
-Wl,--exclude-libs,libcurl.a -lidn -lssl -lcrypto -lldap -lrt \
-lcairo $MYSQL_LIBS $XML2_LIBS -L$V8_LIBS \
-L$MPI_HOME/lib \
-L/path/apps/imagemagick/7.0.7-8/x86_64-linux-2.6-rhel6/lib/pkgconfig"

export INCLUDE_DIR="$STATIC_LIB/include -I/usr/include/cairo \
-I/usr/include/pixman-1 -I/usr/include/freetype2 \
-I/usr/include/libpng12 \
-I$MPI_HOME/include \
-I/path/apps/imagemagick/7.0.7-8/x86_64-linux-2.6-rhel6/include/ImageMagick-7"

include包含:

代码语言:javascript
复制
ls /path/apps/imagemagick/7.0.7-8/x86_64-linux-2.6-rhel6/include/ImageMagick-7
Magick++  MagickCore  Magick++.h  MagickWand

我找到了这个问题,但是我的lib目录包含类似的一组文件:

代码语言:javascript
复制
ls /path/apps/imagemagick/7.0.7-8/x86_64-linux-2.6-rhel6/lib/
ImageMagick-7.0.7               libMagickCore-7.Q16HDRI.so.4
libMagick++-7.Q16HDRI.a         libMagickCore-7.Q16HDRI.so.4.0.0
libMagick++-7.Q16HDRI.la        libMagickWand-7.Q16HDRI.a
libMagick++-7.Q16HDRI.so        libMagickWand-7.Q16HDRI.la
libMagick++-7.Q16HDRI.so.3      libMagickWand-7.Q16HDRI.so
libMagick++-7.Q16HDRI.so.3.0.0  libMagickWand-7.Q16HDRI.so.4
libMagickCore-7.Q16HDRI.a       libMagickWand-7.Q16HDRI.so.4.0.0
libMagickCore-7.Q16HDRI.la      pkgconfig
libMagickCore-7.Q16HDRI.so

我使用的是imagemagick 7,所以为什么它仍然需要一些6版本的标志/arg -lMagick++-6.Q16

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2018-08-27 14:14:37

我终于成功地安装了magick。我从ImageMagick v6编译了来源,并安装了带有以下env变量集的R包:

代码语言:javascript
复制
STATIC_LIB="/path/static-zlib-gcc6.3"
IMAGEMAGICK_V6_HOME="/path/ImageMagick-6.9.10-10"

export LIB_DIR="$STATIC_LIB/lib/ \
-L$IMAGEMAGICK_V6_HOME/lib"

export INCLUDE_DIR="$STATIC_LIB/include \
-DMAGICKCORE_HDRI_ENABLE=1 -DMAGICKCORE_QUANTUM_DEPTH=16 \
-I$IMAGEMAGICK_V6_HOME/include/ImageMagick-6"

export PKG_CONFIG_PATH="$IMAGEMAGICK_V6_HOME/lib/pkgconfig/:$PKG_CONFIG_PATH"
export LD_LIBRARY_PATH="$IMAGEMAGICK_V6_HOME/lib:$LD_LIBRARY_PATH"
票数 1
EN

Stack Overflow用户

发布于 2018-08-20 10:55:40

如果pkg-configMagick++-config不可用,则magick默认为ImageMagick v6

代码语言:javascript
复制
PKG_LIBS="-lMagick++-6.Q16"

因此,您必须安装version 6。此外,在没有安装报告问题的情况下,您还可以请求支持version 7。

或者,您可以尝试让pkg-config/Magick++-config在您的机器上工作。如果可以使用pkg-config/Magick++-config,则直接使用从那里提供的标志。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51921015

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档