多年来,我已经学会了编写自己的源代码,但总是把一些过程留给“神秘”。我遇到了一个让ImageMagick及其无数依赖项在PowerPC Mac上正确工作的麻烦。
在为./compile设置标志时,人们通常会在哪里发现可以设置的各种选项(标志)以及每个选项的描述?!?
例如,在libwmf的例子中,我使用:
./configure --without-expat --with-xml --with-png=/usr/X11...but并不真正知道每个标志是干什么的。现在我遇到了一个png兼容性问题,并且想知道为什么在安装脚本中指定了--with-png=/usr/X11标志--I‘s following...but找不到任何文档等等。
即使是对UNIX如何处理这个问题的一般反应也是有帮助的。
发布于 2011-05-19 05:47:53
./configure --help将为您提供configure脚本支持的选项列表。要了解每个选项的详细信息或在特定情况下必须提供的参数,您必须阅读特定包的安装文档(如果有)。随着时间的推移,有些约定你会学到,但它们只是约定。如果您构建了一个相当复杂的包(比如ImageMagick ),它需要数十个库依赖项,并且使用一个不太常见的平台(如Mac ),并附带手工编译的内容,那么在某些情况下,您可能需要深入挖掘。
发布于 2011-05-18 22:53:35
在我的Mac上,/usr/X11/lib包含了很多库,特别是libpng.dylib和libpng.3.44.0.dylib。你有那些图书馆吗?如果没有,您需要将X11安装到您的Mac上,并且事情可能会进行得更顺利。
英特尔MacOS X
我下载了ImageMagick 6.6.9-9,并对它进行了配置、构建和检查(但没有安装),问题很少。我的机器上有XCode 4,我在./configure中使用的唯一特殊选项是:
CC=/usr/bin/gcc ./configure为了确保它获得了系统--提供GCC (4.2.1),而不是我的私人版本GCC 4.6.0。(由于库问题,sizeof(off_t)的配置测试失败。使用system编译器可以避免这个问题。)打印出的ImageMagick配置:
ImageMagick is configured as follows. Please verify that this configuration
matches your expectations.
Host system type: x86_64-apple-darwin10.7.0
Build system type: x86_64-apple-darwin10.7.0
Option Value
-------------------------------------------------------------------------------
Shared libraries --enable-shared=yes yes
Static libraries --enable-static=yes yes
Module support --with-modules=no no
GNU ld --with-gnu-ld=no no
Quantum depth --with-quantum-depth=16 16
High Dynamic Range Imagery
--enable-hdri=no no
Delegate Configuration:
BZLIB --with-bzlib=yes yes
Autotrace --with-autotrace=no no
Dejavu fonts --with-dejavu-font-dir=default none
DJVU --with-djvu=yes no
DPS --with-dps=yes no
FFTW --with-fftw=yes no
FlashPIX --with-fpx=yes no
FontConfig --with-fontconfig=yes no
FreeType --with-freetype=yes yes
GhostPCL None pcl6 (unknown)
GhostXPS None gxps (unknown)
Ghostscript None gs (unknown)
Ghostscript fonts --with-gs-font-dir=default none
Ghostscript lib --with-gslib=no no
Graphviz --with-gvc=yes no
JBIG --with-jbig=yes no
JPEG v1 --with-jpeg=yes no (failed tests)
JPEG-2000 --with-jp2=yes no
LCMS v1 --with-lcms=yes no
LCMS v2 --with-lcms2=yes no
LQR --with-lqr=yes no
LZMA --with-lzma=yes no
Magick++ --with-magick-plus-plus=yes yes
OpenEXR --with-openexr=yes no
PERL --with-perl=no no
PNG --with-png=yes yes
RSVG --with-rsvg=yes no
TIFF --with-tiff=yes no
WEBP --with-webp=yes no
Windows fonts --with-windows-font-dir= none
WMF --with-wmf=yes no
X11 --with-x= yes
XML --with-xml=yes yes
ZLIB --with-zlib=yes yes
X11 Configuration:
X_CFLAGS =
X_PRE_LIBS = -lSM -lICE
X_LIBS = -L/usr/X11/lib -R/usr/X11/lib
X_EXTRA_LIBS =
Options used to compile and link:
PREFIX = /usr/local
EXEC-PREFIX = /usr/local
VERSION = 6.6.9
CC = /usr/bin/gcc -std=gnu99 -std=gnu99
CFLAGS = -D_THREAD_SAFE -D_THREAD_SAFE -pthread -fopenmp -g -O2 -Wall -D_THREAD_SAFE -pthread
CPPFLAGS = -I/usr/local/include/ImageMagick
PCFLAGS = -fopenmp
DEFS = -DHAVE_CONFIG_H
LDFLAGS = -L/usr/X11/lib -R/usr/X11/lib
MAGICK_LDFLAGS = -L/usr/local/lib -L/usr/X11/lib -R/usr/X11/lib
LIBS = -lMagickCore -lfreetype -lpng -lXext -lXt -lSM -lICE -lX11 -lbz2 -lxml2 -lz -lm -lgomp -lclparser -Wl,-framework,OpenCL -L/System/Library/Frameworks/OpenCL.framework/Versions/A/Libraries -lm -lpthread
CXX = g++
CXXFLAGS = -g -O2 -D_THREAD_SAFE -pthread
FEATURES = OpenMP 有些测试失败了--我想这是因为当时我并没有在机器上实际运行X11服务器。我不打算马上调查--你在早期就遇到了问题。
MacOS X用于PowerPC
如您所见,这是针对英特尔x86/64上的雪豹(10.6.7)。如果您在PowerPC上使用Leopard (10.5.x)运行,您可能有一个较旧的XCode和库等等,但是如果您在机器上安装了XCode并安装了X11,那么配置过程将无法工作,这将是令人惊讶的。
https://stackoverflow.com/questions/6049975
复制相似问题