]> git.imager.perl.org - imager.git/blob - README
Updated README with 2001 copyright and email address to bug us with.
[imager.git] / README
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 ================================================================
6
7 >> THIS SOFTWARE COMES WITH ABSOLUTELY NO WARRANTY WHATSOEVER <<
8 If you like or hate Imager, please let us know at imager@perl.org!
9
10 ================================================================
11
12
13 ========================
14 1. Patent infringements?
15 ========================
16
17 Imager as such contains no patented algorithms.  The external
18 libraries (which are not written by me) may or may not contain
19 patented algorithms.  YOU ARE SOLELY RESPONSIBLE FOR OBTAINING
20 LICENSE(S) TO USE SUCH LIBRARIES SHOULD YOU NEED ANY.
21
22
23 ========================
24 2. Compiling and testing
25 ========================
26
27 Some care has been taken to make the installation as smooth as
28 possible.  This is rather hard due to the difference between operating
29 systems and site setups.  To get started just type
30
31 $ perl Makefile.PL
32
33 It should blurb out a list of which libraries were found and which
34 not.  If you add a library to the machine after installing Imager it
35 does not automatically become available in Imager.  It only uses the
36 libraries that are found.  If the list of found libraries is not what
37 you expected, then the Makefile.PL is either not searching in the
38 right directories or your box does not have the libraries you think it
39 does.  For a list of where to get the libraries have a look at
40 3. External dependencies.  To widen the search path for libraries and
41 include files set the IM_INCPATH and IM_LIBPATH variables.  The
42 environment variables that matter when Makefile.PL is run are
43
44 IM_INCPATH      colon separated list of paths to extra include files
45 IM_LIBPATH      colon separated list of paths to extra library files
46
47 IM_VERBOSE      turns on verbose mode for the library scanning and such
48 IM_MANUAL       to manually select which libraries are used and which not
49 IM_NOLOG        if true logging will not be compiled into the module
50 IM_DEBUG_MALLOC if true malloc debugging will be compiled into the module
51                 do not use IM_DEBUG_MALLOC in production - this slows
52                 everything down
53
54 IM_CFLAGS       Extra flags to pass to the compiler
55 IM_LFLAGS       Extra flags to pass to the linker
56 IM_DFLAGS       Extra flags to pass to the preprocessor
57
58
59
60 When finding the libraries has been sorted out it's time for
61
62 $ make 
63
64 and if that works then do
65
66 $ make test
67
68 If either fails do take a peek at the file errep.perl.  It's creates a
69 file report.txt.  This is some information which will help me discover
70 where the problem is so I can try to fix it in future releases.  If
71 you find running it ok (just remember - no warranty!) please send the
72 report.txt via email to addi@umich.edu .
73
74 Troubleshooting tips:
75
76 A common problem is that libgif/libungif are sometimes linked to the X
77 libraries and then running the tests fails.  In that case something
78 like:
79
80 $ IM_LFLAGS="-L/usr/X11R6/lib -lX11" perl Makefile.PL
81
82 Which simply sets the environment variables for the extra libraries 
83 to include the X libraries (which we do not use at all, but must
84 included since libgif has been linked with it).
85
86 Also note that libgif has a few bugs: You can run something like
87
88 $ perl -Iblib/lib -Iblib/arch t/t105gif.t
89
90 This way you can see what comments the test script prints out.
91 t/t105gif.t checks for an bug in libgif and prints out a patch
92 if that bug is present, note that this bug only affects the more
93 "advanced" features of libgif.
94
95 If for some reason you have libungif-devel package installed but
96 not libungif on RedHat then you will probably get lots of errors
97 like undefined symbol: FreeSavedImages when running make test.
98 Install libungif package to fix it.
99
100
101 Imager needs to have a fairly recent libtiff installed (we know it
102 it runs fine with 3.5.5).  In the future we might consider supporting older
103 libtiff versions.  For now you can either configure Imager manually (by
104 setting the IM_MANUAL environment variable to 1, in sh:
105
106 $ IM_MANUAL=1 perl Makefile.PL
107
108 and simply say no to tiff support when asked if you want it, the same thing
109 can be used to circumvent problems in gifs to get Imager going.
110
111
112 If it worked just continue with the installation as normally 
113 (with make install).
114
115 ========================
116 3. External dependencies
117 ========================
118
119 Some hints about getting the Imager module to find the libraries it
120 needs for specific features.  The libraries it uses are:
121
122  jpeg: ftp://ftp.uu.net/graphics/jpeg/jpegsrc.v6b.tar.gz
123
124   png: ftp://ftp.uu.net/graphics/png  
125   you also need zlib to use png:  ftp://ftp.uu.net/pub/archiving/zip/zlib
126   We have encountered problems with libpng 1.0.1, which were fixed in 1.0.5
127
128   gif: http://www.arrakeen.demon.co.uk/giflib/  
129 or at: http://prtr-13.ucsc.edu/~badger/software/libungif/index.shtml
130
131  tiff: http://www.libtiff.org/
132
133    t1: ftp://ftp.neuroinformatik.ruhr-uni-bochum.de/pub/software/t1lib/
134 or at: ftp://sunsite.unc.edu/pub/Linux/libs/graphics/
135
136    tt: http://www.freetype.org/
137
138
139 Precompiled versions of some of the libraries might be found at:
140
141 AIX:
142    http://www.bull.de/
143    ftp://ftp.rge.com/pub/systems/aix/bull/
144
145
146
147 ========================
148 4. Logging and debugging
149 ========================
150
151 Logging is compiled in by default - if you should want to get of it
152 from the binaries you can do so by setting the env IMAGER_NOLOG 
153 to something. If you want to enable malloc debugging to check for leaks
154 then set IMAGER_DEBUG_MALLOC to something.  Needless to say it is
155 pretty pointless to have malloc debug enabled with no logging since you 
156 can never see the malloc information that way.
157
158
159 ========================
160 5. Truetype information
161 ========================
162
163 If you enable the truetype part and want it to be TESTED you MUST set
164 the environment variable TTFONTTEST to a complete path to a truetype
165 font.
166
167
168 =================
169 6. Win32 Support
170 =================
171
172 Imager can be installed on Win32 systems.  This was ported and tested
173 with Microsoft Visual C++ 6.0 with build 623 of ActivePerl.  You can
174 use all of the features of Imager.  You can also use Win32 GDI fonts
175 directly by supplying the 'face' parameter to Imager::Font->new(...).
176
177 I've tested with both MSVC++ 6.0 and cygwin (perl 5.6.1).
178
179 If you have any problems with the Win32 support, please email
180 tony@develop-help.com (don't forget to use nmake instead of make).
181
182 =======================
183 7. General information
184 =======================
185
186 The Imager module homepage is currently at:
187
188  http://www.eecs.umich.edu/~addi/perl/Imager/
189
190 The current docs are rather bad as I've been busy adding features
191 but hopefully they will be updated soon.  Until then you'll just
192 have to use the source. The test scripts might also be a good idea.
193 By activating the the #init_log lines in the test script you can get
194 rather verbose debugging output from the C code.
195
196
197 ========================
198 8. Thanks
199 ========================
200
201 Thanks go to:
202   Tony Cook           ( TonyC )
203   Claes Jacobson      ( Claes )
204   Philip Gwyn         ( Leolo )
205   Michael Slade       ( Micksa )
206   Brad Murray         ( HalfJack )
207   Nicholas Dronen     ( Veblen )
208   Michael G Schwern   ( Schwern )
209   Rocco Caputo        ( Dngor )
210   Graham barr         ( Gbarr )
211   Mark-Jason Dominus  ( Mjd )
212   Jerome
213   Jason Alexander     ( Jalex )
214   Randal R. Schwartz  ( Merlyn )
215   Tkil                ( )
216   Artur Bergman       ( Sky )
217   Luc St-Louis        ( Lucs )
218   PerlJam             ( )
219   Roderick Schertler  ( Roderick )
220   Nathan Torkington   ( gnat )
221
222 (and just to play it safe) all those I forgot to mention.