1 This file provides platform specific portability notes which don't
2 belong in README.txt. Usually ImageMagick compiles fine according to the
3 procedures described in README.txt, but sometimes a platform related
4 oddity causes a failure.
11 PerlMagick fails to link.
15 libperl.a is not found.
21 ./configure --enable-shared
25 ./configure --enable-shared --with-modules
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.
36 How to successfully configure ImageMagick using SGI's commercial
37 compiler (e.g. IRIX C/C++ v7.3.1.X)?
41 Compiling C++ code fails with the error:
42 #error directive: This header file requires the -LANG:std option
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 ...
52 with the following in /etc/compiler.defaults
54 -DEFAULT:abi=n32:isa=mips3
62 When '-rpath /somedir' is added to LDFLAGS in order to tell the
63 linker to apply a run-time linker path, configure fails.
67 The configure script prints the error message
69 checking for executable suffix...
70 configure: error: cannot compute EXEEXT:
74 gcc: unrecognized option `-rpath'
76 is written to config.log
80 Use 'LDFLAGS=-Wl,-rpath,/somedir' instead to pass the options through
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.
95 System fails to find shared library needed by ImageMagick.
99 Either reboot the system (which automatically runs ldconfig) or
102 /sbin/ldconfig -m ${PREFIX}/lib
104 where ${PREFIX} is the prefix used when configuring ImageMagick
105 (default /usr/local).
108 Digital Unix and OSF/1
109 ======================
113 Digital Unix provides an outdated JPEG shared library as part of the
118 ImageMagick fails to link.
122 Ensure that the JPEG library you installed is used. Be sure to
123 install the JPEG library as a shared library.
131 An outdated delegate library is used rather than the one just
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.
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 installed in /usr/local/lib:
147 configure LDFLAGS='-L/usr/local/lib -R/usr/local/lib'
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
161 ImageMagick fails to link or load TIFF files.
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:
170 configure LDFLAGS='-L/usr/local/lib -R/usr/local/lib'
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.
179 When using gcc 3.0.X, configure decides that the compiler is insufficient
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:
194 #if _FILE_OFFSET_BITS != 64
200 Install gcc 3.1 (or later) instead.
204 A static library was used in a shared library build.
208 Linker prints a warning similar to:
210 "ld: fatal: relocations remain against allocatable but non-writable
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
227 The builkd dependacy files are not created.
231 The build fails with missing .deps/source.PLO errors.
235 Add --disable-dependency-tracking to your configure command line.