Home | History | Annotate | Download | only in ImageMagick
      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.
      5 
      6 Cygwin
      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 
     31 SGI 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 
     57 Linux 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 
     84 FreeBSD 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 
    108 Digital 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 
    126 Solaris 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 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     
    222 AIX 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       
    237