如何配置/制作/安装针对较旧版本的库?(How do I configure/make/instal

2019-09-20 23:19发布

我试图安装一个软件( moddims )依赖于“ImageMagick的6.3.9+” -我想安装最新版本的ImageMagick的(6.5.4-5),但有以下错误,当我试图“使“moddims:

mod_dims_ops.c: In function ‘dims_smart_crop_operation’:
mod_dims_ops.c:34: error: too few arguments to function ‘ParseGravityGeometry’

想必函数签名ImageMagick的6.3.9和当前版本之间的某处发生变化。

我想尝试对旧版本的ImageMagick的安装moddims - 但我想安装ImageMagick的6.3.9不与已安装的版本6.5.4-5干扰。

我可以使用什么咒语的./configure的)以这样的方式安装的ImageMagick的旧版本,它不会随写或以其他方式与我的现代版干涉和b)编译moddims使用该旧版本?

我在OSX,但我预计有,当我以后需要一个Linux生产服务器上安装moddims同样的问题。

Answer 1:

很显然,你必须获得,编译和安装的ImageMagick的旧版本。

面对这个问题 - 尤其是因为它处于试验阶段(你肯定知道你要保持这个版本的ImageMagick的周围做) - 我想:

  • 创建一个新的目录来安装ImageMagick的:

     /opt/ImageMagick 
  • 配置ImageMagick的6.3.9在那里安装 - 大概是:

     ./configure --prefix=/opt/ImageMagick 
  • 构建,测试和安装。

  • 配置moddims之前规范的地方ImageMagick的位置看:

     export LDFLAGS=-L/opt/ImageMagick/lib export CPPFLAGS=-I/opt/ImageMagick/include ./configure .... 
  • 检查生产moddims代码使用您的首选库:

     otool -L ...moddims-progam-or-library... # MacOS X ldd ...moddims-program-or-library... # Linux, etc. 

第一检查将是“并配置成当moddims编译”; 如果没有,你可能使用moddims头文件的“标准”版本,尽管这种尝试避免这样做。

也可能有configure选项来指定的ImageMagick库应该从拉-与“检查./configure --help ”(和/或“ grep -i image configure ”)。



Answer 2:

由于ImageMagick的使用pkg配置。 所有你需要做的是调整PKG_CONFIG_PATH引用旧版本。 (这里假设你的包调用PKG_CHECK_MODULES配置本身ImageMagick的。如果你的包不这样做,你应该让它进行修改。)

基本上,你想抓住旧ImageMagick的某处安装(如的./configure --prefix = $ HOME /过时&& make install的),然后去你的包,并配置参数PKG_CONFIG_PATH = $ HOME /过时/ lib目录/ pkgconfig。 不幸的是,ImageMagick的将安装文件在您指定的地址前缀的外部(例如在/ Library / perl的),所以这不能保证不会修改当前库。 (IMO,这是一个ImageMagick的包装错误。)

详情请查看pkg配置文件。



文章来源: How do I configure/make/install against an older version of a library?