1 ================================================================
2 Copyright (c) 1999-2001 Arnar M. Hrafnkelsson. All rights reserved.
3 This program is free software; you can redistribute it and/or
4 modify it under the same terms as Perl itself.
5 ================================================================
7 >> THIS SOFTWARE COMES WITH ABSOLUTELY NO WARRANTY WHATSOEVER <<
8 If you like or hate Imager, please let us know by sending mail
9 to imager@imager.perl.org
11 ================================================================
14 ========================
15 1. Patent infringements?
16 ========================
18 Imager as such contains no patented algorithms. The external
19 libraries (which are not written by me) may or may not contain
20 patented algorithms. YOU ARE SOLELY RESPONSIBLE FOR OBTAINING
21 LICENSE(S) TO USE SUCH LIBRARIES SHOULD YOU NEED ANY.
24 ========================
25 2. Compiling and testing
26 ========================
28 Some care has been taken to make the installation as smooth as
29 possible. This is rather hard due to the difference between operating
30 systems and site setups. To get started just type
34 It should blurb out a list of which libraries were found and which
35 not. If you add a library to the machine after installing Imager it
36 does not automatically become available in Imager. It only uses the
37 libraries that are found. If the list of found libraries is not what
38 you expected, then the Makefile.PL is either not searching in the
39 right directories or your box does not have the libraries you think it
40 does. For a list of where to get the libraries have a look at
41 3. External dependencies. To widen the search path for libraries and
42 include files set the IM_INCPATH and IM_LIBPATH variables. The
43 environment variables that matter when Makefile.PL is run are
45 IM_INCPATH colon separated list of paths to extra include files
46 IM_LIBPATH colon separated list of paths to extra library files
48 IM_VERBOSE turns on verbose mode for the library scanning and such
49 IM_MANUAL to manually select which libraries are used and which not
50 IM_NOLOG if true logging will not be compiled into the module
51 IM_DEBUG_MALLOC if true malloc debugging will be compiled into the module
52 do not use IM_DEBUG_MALLOC in production - this slows
55 IM_CFLAGS Extra flags to pass to the compiler
56 IM_LFLAGS Extra flags to pass to the linker
57 IM_DFLAGS Extra flags to pass to the preprocessor
61 When finding the libraries has been sorted out it's time for
65 and if that works then do
69 If either fails do take a peek at the file errep.perl. It's creates a
70 file report.txt. This is some information which will help me discover
71 where the problem is so I can try to fix it in future releases. If
72 you find running it ok (just remember - no warranty!) please send the
73 report.txt via email to addi@umich.edu .
77 A common problem is that libgif/libungif are sometimes linked to the X
78 libraries and then running the tests fails. In that case something
81 $ IM_LFLAGS="-L/usr/X11R6/lib -lX11" perl Makefile.PL
83 Which simply sets the environment variables for the extra libraries
84 to include the X libraries (which we do not use at all, but must
85 included since libgif has been linked with it).
87 Otherwise you could just build giflib without any X11 dependencies:
89 # must be a clean tree
91 ./configure --without-x ...
93 Also note that libgif has a few bugs: You can run something like
95 $ perl -Iblib/lib -Iblib/arch t/t105gif.t
97 This way you can see what comments the test script prints out.
98 t/t105gif.t checks for an bug in libgif and prints out a patch
99 if that bug is present, note that this bug only affects the more
100 "advanced" features of libgif.
102 If for some reason you have libungif-devel package installed but
103 not libungif on RedHat then you will probably get lots of errors
104 like undefined symbol: FreeSavedImages when running make test.
105 Install libungif package to fix it.
108 Imager needs to have a libtiff version of at least 3.5.5. In the
109 future we might consider supporting older libtiff versions. For
110 now you can either configure Imager manually (by
111 setting the IM_MANUAL environment variable to 1, in sh:
113 $ IM_MANUAL=1 perl Makefile.PL
115 and simply say no to tiff support when asked if you want it, the same thing
116 can be used to circumvent problems in gifs to get Imager going.
119 If it worked just continue with the installation as normally
122 ========================
123 3. External dependencies
124 ========================
126 Some hints about getting the Imager module to find the libraries it
127 needs for specific features. The libraries it uses are:
129 jpeg: http://www.ijg.org/files/
130 ftp://ftp.uu.net/graphics/jpeg/jpegsrc.v6b.tar.gz
132 ftp.uu.net is still linked from many places, including the Independent
133 JPEG Groups's home page, but it is non-functional.
135 png: http://www.libpng.org/pub/png/libpng.html
137 you also need zlib to use png: http://www.gzip.org/zlib/
138 We have encountered problems with libpng 1.0.1, which were fixed in 1.0.5
139 Note: you should probably be using zlib 1.1.4, since 1.1.3 has a
140 potential security problem.
142 gif: http://sourceforge.net/projects/libungif
144 giflib/libungif has come a long way since the buggy versions around
145 when Imager's gif support code was written. Preferably you should get
146 at least version 4.1.2. If you have a recent Linux distribution you
147 should be safe with whatever giflib it provides, but if you're
148 building from source, please try to use the latest version.
150 At the time of writing you will need to manually select to install the
151 4.1.2-1 of cygwin's libungif package.
153 tiff: http://www.libtiff.org/
155 t1: http://www.ibiblio.org/pub/Linux/libs/graphics/
157 tt: http://www.freetype.org/
159 Precompiled versions of some of the libraries might be found at:
162 http://www.bullfreeware.com/
166 ========================
167 4. Logging and debugging
168 ========================
170 Logging is compiled in by default - if you should want to get of it
171 from the binaries you can do so by setting the env IMAGER_NOLOG
172 to something. If you want to enable malloc debugging to check for leaks
173 then set IMAGER_DEBUG_MALLOC to something. Needless to say it is
174 pretty pointless to have malloc debug enabled with no logging since you
175 can never see the malloc information that way.
178 ========================
179 5. Truetype information
180 ========================
182 If you enable the truetype part and want it to be TESTED you MUST set
183 the environment variable TTFONTTEST to a complete path to a truetype
191 Imager can be installed on Win32 systems. This was ported and tested
192 with Microsoft Visual C++ 6.0 with build 623 of ActivePerl. You can
193 use all of the features of Imager. You can also use Win32 GDI fonts
194 directly by supplying the 'face' parameter to Imager::Font->new(...).
196 I've tested with both MSVC++ 6.0 and cygwin (perl 5.6.1).
198 If you see an error under cygwin during testing along the lines of:
200 C:\cygwin\bin\perl.exe: *** unable to remap C:\cygwin\...some dll to the
201 same address as parent (0x...) != 0x....
203 you will need to install the cygwin rebase package and run:
207 Under cygwin you will need at least libungif 4.1.2 installed to
208 prevent lockups in the gif test scripts. At the time of writing you
209 need to select libungif-4.1.2-1 manually in the setup.exe installation
212 If you have any problems with the Win32 support, please email
213 tony@develop-help.com (don't forget to use nmake instead of make).
215 =======================
216 7. General information
217 =======================
219 The Imager module homepage is currently at:
221 http://imager.perl.org/
223 The current docs are rather bad as I've been busy adding features
224 but hopefully they will be updated soon. Until then you'll just
225 have to use the source. The test scripts might also be a good idea.
226 By activating the the #init_log lines in the test script you can get
227 rather verbose debugging output from the C code.
230 ========================
232 ========================
236 Claes Jacobson ( Claes )
237 Philip Gwyn ( Leolo )
238 Michael Slade ( Micksa )
240 Brad Murray ( HalfJack )
241 Nicholas Dronen ( Veblen )
242 Michael G Schwern ( Schwern )
243 Rocco Caputo ( Dngor )
244 Graham barr ( Gbarr )
245 Mark-Jason Dominus ( Mjd )
247 Jason Alexander ( Jalex )
248 Randal R. Schwartz ( Merlyn )
250 Artur Bergman ( Sky )
251 Luc St-Louis ( Lucs )
253 Roderick Schertler ( Roderick )
254 Nathan Torkington ( gnat )
256 (and just to play it safe) all those I forgot to mention.