Added reset of pointer after memory free to avoid double-free crash
[wmaker-crm.git] / INSTALL-WMAKER
blob3dbf77796f48bd960c0ed86ecc27c8ebe7610315
2                 Installation Instructions for Window Maker
4 The latest version of Window Maker (-crm) can be found in the
5 git repository at
7 http://repo.or.cz/w/wmaker-crm.git
10 SUPPORTED PLATFORMS
11 ===================
13 - Intel GNU/Linux Systems in general
15 Patches to make it work on other platforms are welcome.
18 REQUIREMENTS:
19 =============
21 The following software is required to use Window Maker:
23 - X11R6.x
24         Window Maker can be compiled in older versions of X, like X11R5
25         (Solaris) or X11R4 (OpenWindows) but it will not work 100% correctly.
26         In such servers there will not be application icons and you'll have
27         trouble using the dock. Upgrading the client libraries (Xlib, Xt etc)
28         will help if you can't upgrade the server.
30 The following is required to build Window Maker:
32 - Basic obvious stuff
33         gcc (or some other ANSI C compiler)
34         glibc development files (usually glibc-devel in Linux distributions)
35         X development files (XFree86-devel or something similar)
37 - autoconf, automake and libtool
38         autoconf 2.54
39         automake 1.4
40         libtool 1.4.2
42 - Xft2
43         and its dependencies (such as freetype2 and fontconfig)
44         You will also need the development files for it (xft2-devel)
47 OPTIONAL:
48 =========
50 These libraries are not required to make Window Maker work, but they
51 are supported in case you want to use them. Version numbers are those
52 that I have (and therefore, guraranteed to work), but other versions
53 might work too.
56 - libXPM 4.7 or newer
57         Older versions may not work!!!
58         Available at ftp://sunsite.unc.edu/pub/Linux/libs/X/
60         There is builtin support for XPM files, but it will not
61         load images in some uncommon encodings.
63 - libpng 0.96 or newer and zlib
64         For PNG image support.
65         http://www.cdrom.com/pub/png/
67 - libtiff 3.4 or newer
68         For TIFF image support.
69         You can get it at ftp://ftp.sgi.com/graphics/tiff
71 - libjpeg 6.0.1 or newer
72         For JPEG image support
73         http://www.ijg.org/
75 - libgif 2.2 or libungif
76         For GIF image support
77         ftp://prtr-13.ucsc.edu/pub/libungif/
79 - GNU xgettext
80         If you want to use translated messages, you will need GNU gettext.
81         Other versions of gettext are not compatible and will not work.
82         Get the GNU version from ftp://ftp.gnu.org
86 CONFIGURE OPTIONS:
87 ==================
89 If you downloaded the cvs or git versions, type
91 ./autogen.sh
93 to generate the config files.
95 These options can be passed to the configure script to enable/disable
96 some Window Maker features. Example:
98 ./configure --enable-modelock --disable-gif
100 will configure Window Maker with modelock supported and disable gif support.
101 Normally, you won't need any of them.
103 To get a list of other options, run ./configure --help
105 --with-libs-from
106         specify additional paths for libraries to be searched.
107         The -L flag must precede each path, like:
108         --with-libs-from="-L/opt/libs -L/usr/local/lib"
110 --with-incs-from
111         specify additional paths for header files to be searched.
112         The -I flag must precede each paths, like:
113         --with-incs-from="-I/opt/headers -I/usr/local/include"
115 --disable-shm
116         disable use of the MIT shared memory extension. This will slow down
117         texture generation a little bit, but in some cases it seems to be
118         necessary due to a bug that manifests as messed icons and textures.
120 --disable-motif
121         disable support for mwm window manager hints
123 --enable-modelock
124         XKB language status lock support. If you don't know what it is you
125         probably don't need it.
127 --disable-xpm
128         disables use of the XPM library even if it is available on your
129         system.
131 --disable-png
132         disables use of PNG library
134 --disable-tiff
135         disable use of TIFF library
137 --disable-gif
138         disable use of GIF library
140 --disable-jpeg
141         disable use of JPEG library
143 --disable-shape
144         disables shaped windows (for oclock, xeyes etc.)
147 PLATFORM SPECIFIC NOTES:
148 ========================
150 - GNU/Linux in general
151         Make sure you have /usr/local/lib in /etc/ld.so.conf and that you
152         run ldconfig after installing.
153         Uninstall any packaged version of Window Maker before installing a new
154         version.
156 - RedHat GNU/Linux
157         RedHat systems have several annoying problems. If you use it,
158         be sure to follow the steps below or Window Maker will not work:
160         * if you installed the Window Maker that comes with RedHat, uninstall
161         it before upgrading;
163         * make sure you don't have the LANG and LINGUAS environment variables
164         set to en_RN;
166         * make sure you have /usr/local/bin in your PATH environment
167         variable;
169         * make sure you have /usr/local/lib in /etc/ld.so.conf before running
170         ldconfig;
172 - PowerPC MkLinux
173         You will need to have the latest version of Xpmac. Older versions
174         seem to have bugs that cause the system to hang.
176 - Debian GNU/Linux
177         If you want JPEG and TIFF support, make sure you have libtiff-dev
178         and libjpeg-dev installed.
180 - SuSE GNU/Linux
181         If you installed the Window Maker package from SuSE,
182         uninstall it before trying to compile wmaker or you
183         might have problems.
185 - MetroX (unknown version)
186         MetroX has a bug that corrupts pixmaps that are set as window
187         backgrounds. If you use MetroX and has weird problems with
188         textures, do not use textures in titlebars. Or use a different
189         X server.
191 INSTALLATION:
192 =============
194 Build Window Maker
195 ------------------
196         For a quick start, type the following in your shell prompt:
198         ./configure
199         make
201 then, login as root and type:
203         make install
204         ldconfig
206 or if you want to strip the debugging symbols from the binaries and make them
207 smaller, you can instead type:
209         make install-strip
210         ldconfig
212 This will build and install Window Maker with default parameters.
214 If you want to customize some compile-time options, you can do the
215 following.
217         1. (optional) Look at the CONFIGURE OPTIONS section above for the
218         options available. Also run:
220         ./configure --help
222         to get a complete listing of other options that are available.
224         2. Run configure with the options you want. For example, if you
225         want to use the --enable-modelock option, type:
227         ./configure --enable-modelock
229         3. (optional) Edit src/wconfig.h with your favorite text editor
230         and browse through it for some options you might want to change.
232         4. Compile. Just type:
234         make
236         5. Login as root (if you can't do that, read the "I don't have the
237         root password :-(" section) and install Window Maker in your system:
238                 su root
239                 make install
242 User specific configuration
243 ---------------------------
245 These instructions do not need to be followed when upgrading Window Maker
246 from an older version, unless stated differently in the NEWS file.
248 Every user on your system that wishes to run Window Maker must do the
249 following:
251         1. Install Window Maker configuration files in your home directory.
252 Type:
253         wmaker.inst
255         wmaker.inst will install Window Maker configuration files and will
256 setup X to automatically launch Window Maker at startup.
258         That's it!
260         You can type "man wmaker" to get some general help for configuration
261 and other stuff.
263 Read the User Guide for a more in-depth explanation of Window Maker.
265 You might want to take a look at the FAQ too.
269 Installing the extras package
270 -----------------------------
272 Unpack WindowMaker-extra-<version-number>.tar.gz in /usr/local/share
274 You can get the file at http://windowmaker.org/pub/source/release/. This file
275 is optional and only have a few icons, and themes. Look for the latest
276 <version-number> available.  Also there is a WindowMaker-extra.readme to
277 instruct you where that package should go.
281 I don't have the root password :(
282 ---------------------------------
284 If you can't get superuser privileges (can't be root) you can install
285 wmaker in your own home directory. For that, supply the --prefix option
286 when running configure in step 2 of building Window Maker. You will
287 also need to supply the --with-gnustepdir option, to specify the path for
288 WPrefs.app Example:
290 ./configure --prefix=/home/jshmoe --with-gnustepdir=/home/jshmoe/GNUstep/Applications
293 Then make /home/jshmoe/bin be included in your search PATH, add
294 /home/jshmoe/lib to your LD_LIBRARY_PATH environment variable and run
295 bin/wmaker.inst
297 Of course, /home/jshmoe is supposed to be replaced with your actual home
298 directory path.
302 UPGRADING
303 =========
305 If you are upgrading from an older version of Window Maker:
307    1. Configure and build Window Maker as always
308    2. Install Window Maker (but do not run wmaker.inst)
309    3. Read the NEWS file and update your configuration files if necessary.
312 TROUBLESHOOTING
313 ===============
315 When you have some trouble during configuration (while running configure),
316 like not being able to use a graphic format library you think you have
317 installed, look at the config.log file for clues of the problem.
320 == Error with loading fonts, even if they exist.
322 Try rebuilding without NLS support.
324 == Error when configuring
326 ltconfig: unrecognized option `--no-reexec'
327 Try `ltconfig --help' for more information.
328 configure: error: libtool configure failed
330 remove the --no-reexec option from aclocal.m4 and reconfigure
331 Also make sure the autoconf and automake versions you have installed are:
332 autoconf 2.13
333 automake 1.4
334 libtool 1.3
336 Note that it must not be libtool 1.2b, it must be libtool 1.3,
337 from the GNU sites.
339 == configure doesn't detect libtiff, or other graphic libraries.
341 Delete config.cache, then rerun configure adding the following options to
342 configure (among the other options you use):
343 --with-libs-from="-L/usr/local/lib"
344 --with-incs-from="-I/usr/local/include -I/usr/local/include/tiff"
345 Put the paths where your graphic libs and their corresponding header files are
346 located. You can put multiple paths in any of these options, as the example
347 of --with-incs-from shows. Just put a space between them.
350 == configure doesn't detect libXpm.
352 * Check if you have a symbolic link from libXpm.so.4.9 to libXpm.so
355 == Segmentation fault on startup
357 * Check if the version of libXPM you have is at least 4.7
359 * Check if you have an updated version of ~/GNUstep/Defaults/WindowMaker
361 If you're not sure, try renaming ~/GNUstep to ~/GNUtmp and then run wmaker.inst
363 == "...: your machine is misconfigured. gethostname() returned (none)"
365 * the hostname of your machine is set to something invalid, that starts
366         with a parenthesis. Do a man hostname for info about how to set it.
369 == The root menu contains only 2 entries. ("XTerm" and "Exit...")
371 * Window Maker could not read your menu definition file
372 you should check wmaker's output for an error, it may be
373 visible in the console or in the .xsession-errors file.
376 == checking lex output file root... configure: error: cannot find output from true; giving up
378 * Read the REQUIREMENTS section of this file.
381 LOCALES/INTERNATIONALIZATION
382 ============================
384 Window Maker has national language support. To enable national language
385 support, you must compile Window Maker with some additional parameters.
388 0 - You must have the GNU gettext package installed. It can be
389 obtained at ftp://prep.ai.mit.edu/pub/gnu/gettext-nnn.tar.gz
391 Steps 1 to 3 can be skipped if you use the Install script.
393 1 - You have to select the languages you want to support. Set the
394 LINGUAS to the list of locales you want. English is always
395 suported. Example:
397 setenv LINGUAS "pt ja de"
398 in csh
402 export LINGUAS;LINGUAS="pt ja de"
403 in sh
405 The list of supported locales can be found in po/README.
406 English is the default language.
408 Read po/README if you wish to translate and maintain locale files
409 for other languages.
411 2 - Additionally, if your language uses multi-byte characters, such
412 as Japanese or Korean, you must set the MultiByteText option to YES
413 in ~/GNUstep/Defaults/WMGLOBAL
415 3 - Configure, build and install Window Maker normally.
417 4 - To select a particular locale at runtime you must set the LANG
418 environment variable to the locale you want. For example, if you want to set
419 the portuguese locale, you must run
421 setenv LANG pt
423 in csh or
425 export LANG; LANG=pt
427 in Bourne sh and similars
429 Note: If you have the LC_CTYPE environment variable set, you must
430 unset it before running wmaker.
432 For menu definition files, Window Maker searches for them in the
433 following order (for brazilian portuguese, in this case):
435 menu.pt_BR
436 menu.pt
437 menu