root / ImageMagick / branches / ImageMagick-6.3.8 / Platforms.txt

Revision 7647, 6.4 kB (checked in by cristy, 13 months ago)
Line 
1This file provides platform specific portability notes which don't
2belong in README.txt. Usually ImageMagick compiles fine according to the
3procedures described in README.txt, but sometimes a platform related
4oddity causes a failure.
5
6Cygwin
7======
8                                                                               
9  Problem
10                                                                               
11    PerlMagick fails to link.
12                                                                               
13  Indications
14                                                                               
15    libperl.a is not found.
16                                                                               
17  Solution
18                                                                               
19    Configure like
20                                                                               
21      ./configure --enable-shared
22                                                                               
23    or
24                                                                               
25      ./configure --enable-shared --with-modules
26                                                                               
27  Cygwin doesn't normally come with a libperl.a but it does come with the
28  equivalent DLL.  Using a shared build gets PerlMagick over the hurdle.
29
30
31SGI Irix
32=========
33
34  Problem
35
36    How to successfully configure ImageMagick using SGI's commercial
37    compiler (e.g. IRIX C/C++ v7.3.1.X)?
38
39  Indications
40
41    Compiling C++ code fails with the error:
42    #error directive:  This header file requires the -LANG:std option
43
44  Solution
45
46    Configure like
47
48      CC=cc CFLAGS="-O2 -OPT:Olimit=0" CXX=CC \
49      CXXFLAGS="-LANG:std -Wl,-woff,84 -O2" CXXCPP="CC -LANG:std -E" \
50      ./configure --with-modules --with-threads ...
51
52    with the following in /etc/compiler.defaults
53
54      -DEFAULT:abi=n32:isa=mips3
55
56
57Linux 6.1
58=========
59
60  Problem
61
62    When '-rpath /somedir' is added to LDFLAGS in order to tell the
63    linker to apply a run-time linker path, configure fails.
64
65  Indications
66
67    The configure script prints the error message
68
69      checking for executable suffix...
70                                  configure: error: cannot compute EXEEXT:
71
72    and the error message
73
74      gcc: unrecognized option `-rpath'
75
76    is written to config.log
77
78  Solution
79
80    Use 'LDFLAGS=-Wl,-rpath,/somedir' instead to pass the options through
81    to the linker.
82
83
84FreeBSD 3.X and 4.X
85===================
86
87  Problem
88 
89    ImageMagick does not run after it is installed. The system does not
90    see an installed shared library until the 'ldconfig' command has
91    been executed (as root) using the correct options.
92
93  Indications
94 
95    System fails to find shared library needed by ImageMagick.
96
97  Solution
98 
99    Either reboot the system (which automatically runs ldconfig) or
100    execute
101
102      /sbin/ldconfig -m ${PREFIX}/lib
103
104    where ${PREFIX} is the prefix used when configuring ImageMagick
105    (default /usr/local).
106
107
108Digital Unix and OSF/1
109======================
110
111  Problem
112 
113    Digital Unix provides an outdated JPEG shared library as part of the
114    system.
115   
116  Indications
117
118    ImageMagick fails to link.
119
120  Solution
121 
122    Ensure that the JPEG library you installed is used. Be sure to
123    install the JPEG library as a shared library.
124
125
126Solaris 2.X
127============
128
129  Problem
130 
131    An outdated delegate library is used rather than the one just
132    installed.
133   
134  Indications
135 
136    o Failure to link due to unresolved symbols
137    o Failure to run properly
138    o The command 'ldd `which convert`' lists the wrong library.
139 
140  Solution
141
142    If the problem library is a shared library (.so extension) then
143    install your own library as a shared library. Then add the required
144    -L and -R options to find your shared library at both link and run
145    time. For example, if your library is is installed in /usr/local/lib:
146     
147      configure LDFLAGS='-L/usr/local/lib -R/usr/local/lib'
148
149  Problem
150
151    An outdated libtiff.so (libtiff.so.3) is installed in
152    /usr/openwin/lib. This library may be used by accident rather than
153    the intended libtiff.so, or libtiff.a. In particular, the linker
154    generally considers linking against a shared library before it
155    considers static libraries, so the system libtiff.so may be used
156    even though there is an installed libtiff.a earlier in the linker
157    search path.
158
159  Indications
160 
161    ImageMagick fails to link or load TIFF files.
162
163  Solution
164
165    o Install libtiff as a shared library, and make sure that LDFLAGS
166      contains the required -L and -R options to find your shared
167      library at both link and run time. For example, if libtiff.so is
168      installed in /usr/local/lib:
169     
170      configure LDFLAGS='-L/usr/local/lib -R/usr/local/lib'
171
172    or
173     
174    o Remove /usr/openwin/lib/libtiff.so.3. Note that if you take this
175      step, some tools like 'imagetool' and 'pageview' will stop working.
176
177  Problem
178 
179    When using gcc 3.0.X, configure decides that the compiler is insufficient
180    to compile Magick++.
181   
182  Indications
183 
184    Fails ISO C++ test.
185 
186  Solution
187
188    The problem is due to gcc provided headers undefining
189    Solaris-provided defines for 64-bit versions of stdio functions. The
190    solution is to either configure with --disable-largefile or edit the
191    installed g++-v3/bits/std_cstdio.h to bracket the offending undefs
192    (for fgetpos, fopen, freopen, fsetpos, & tmpfile) like:
193
194    #if _FILE_OFFSET_BITS != 64
195    #undef fopen
196    #endif
197
198       or
199
200    Install gcc 3.1 (or later) instead.
201
202  Problem
203
204    A static library was used in a shared library build.
205
206  Indications
207
208    Linker prints a warning similar to:
209
210    "ld: fatal: relocations remain against allocatable but non-writable
211     sections"
212
213  Solution
214
215    All libraries used in a shared library build *must* also be shared
216    libraries. Check all libraries referenced in the libtool link
217    command line and verify that all of the referenced libraries are
218    indeed shared libraries. All system libraries are available as
219    shared libraries so it is likely that any static library is locally
220    installed.
221   
222AIX 5.X
223============
224
225  Problem
226 
227    The builkd dependacy files are not created.
228   
229  Indications
230 
231    The build fails with missing .deps/source.PLO errors.
232 
233  Solution
234
235    Add --disable-dependency-tracking to your configure command line.
236     
Note: See TracBrowser for help on using the browser.