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