Latest fixes, before releasing 0.50.0
[wmaker-crm.git] / INSTALL
blobf20fa97a441c0c834c13691e4d32c38a0c71e866
2                 Installation Instructions for Window Maker
6 SUPPORTED PLATFORMS
7 ===================
8 (ie: I've heard someone has compiled it on...)
10 - Intel/Linux Slackware 3.5 (primary platform)
11 - Intel/Linux other distributions
12 - Sparc/Linux RedHat 5.1
13 - PowerPC/MkLinux
14 - Alpha/Linux RedHat 5.1
15 - FreeBSD
16 - NetBSD
17 - Solaris 2.5.1, 2.5.2
18 - Solaris 2.6.0
19 - Solaris 2.7beta
20 - SCO Unix
21 - SGI Irix
22 - OSF/1
23 - HP-UX
24 - AIX 4.1.4 / IBM PowerPC
25 - AIX 4.3.1 / IBM CC compiler
26 - AIX 4.3.2 / IBM PowerPC
27 - AIX 5.3
28 - DEC Alpha/Digital UNIX 4.x
29 - XFree86 / OS/2
30 - Corel NetWinder
31 - SunOS 4.x
32 - PowerMac / Power MachTen 4.1.1 over MacOS
34 Patches to make it work on other platforms are welcome. 
36 If the latest version doesn't work for you, try 0.19.3, 
37 which is known to be pretty stable on many platforms.
40 REQUIREMENTS:
41 =============
43 The following software is required to use Window Maker:
45 - X11R6.x       
46         Window Maker can be compiled in older versions of X, like X11R5
47         (Solaris) or X11R4 (OpenWindows) but it will not work 100% correctly.
48         In such servers there will not be application icons and you'll have
49         trouble using the dock. Upgrading the client libraries (Xlib, Xt etc)
50         will help if you can't upgrade the server.
52 The following is required to build Window Maker:
54 - Basic obvious stuff
55         If you will build Window Maker, make sure you have gcc (or some
56         other ANSI C compiler) and the X header files installed. Specially
57         for newbie Linux users: you must install all X development packages
58         and the gcc suite. Otherwise you won't be able to build any X
59         program, including Window Maker.
61 - autoconf and automake
62         autoconf and automake are not required, but if you have them
63         installed, make sure you have autoconf 2.12 and automake 1.3 or
64         newer. If you have an older version, disable them by temporarily
65         renaming them to something else or uninstalling them from your
66         system.
67         
68 - lex (or flex) and yacc (or bison)
69         These are used by libPropList. lex is actually not needed since
70         it's output file is included, but either me or automake is stupid,
71         causing the configure script for libPropList to simply abort for no
72         convincent reason if lex is not found.
75 OPTIONAL:
76 =========
78 These libraries are not required to make Window Maker work, but they
79 are supported in case you want to use them. Version numbers are those
80 that I have (and therefore, guraranteed to work), but other versions
81 might work too. 
84 - libXPM 4.7 or newer
85         Older versions may not work!!! 
86         Available at ftp://sunsite.unc.edu/pub/Linux/libs/X/
88         There is builtin support for XPM files, but it will not
89         load images in some uncommon encodings.
91 - libpng 0.96 or newer and zlib     
92         For PNG image support.
94 - libtiff 3.4 or newer
95         For TIFF image support.
96         You can get it at ftp://ftp.sgi.com/graphics/tiff
98 - libjpeg 6.0.1 or newer
99         For JPEG image support
101 - libgif 2.2 or libungif
102         For GIF image support   
104 - GNU xgettext
105         If you want to use translated messages, you will need GNU gettext.
106         Other versions of gettext are not compatible and will not work.
107         Get the GNU version from ftp://prep.ai.mit.edu
109 Most of these can be get from ftp.uu.net/pub/graphics
112 CONFIGURE OPTIONS:
113 ==================
115 These options can be passed to the configure script to enable/disable
116 some Window Maker features. Example:
118 ./configure --enable-kanji
120 will configure Window Maker with kanji (and other multi-byte) characters
121 support compiled in.
124 To get a list of other options, run ./configure --help
126 --enable-kanji  support to display Kanji characters, Korean, Chinese 
127                 and other languagues that require special characters.
129 --enable-single-icon  enables the collapsing of all appicons of the
130          WM_CLASS+WM_INSTANCE into a single one. This feature is not 
131         supported at all by the developers. If you have some trouble with it,
132         contact it's author: Christopher Seawood <cls@seawood.org>
134 --disable-shm   disable use of the MIT shared memory extension. This will
135         slow down texture generation a little bit, but in some cases
136         it seems to be necessary due to a bug that manifests as messed
137         icons and textures.
139 --disable-motif disable support for mwm hints
141 --enable-gnome enable support for stuff needed by GNOME 
142         (GNOME compliant bla bla bla)
144 --enable-kde enable support for kde/kwm hints
146 --enable-lite remove things that are already supported in desktop
147                 environments, like KDE and GNOME. Disabled things
148                 are: window list, root applications menu,
149                 multiple window selection. Note that you will not
150                 be able to exit Window Maker from itself anymore;
151                 you will have to use kill with the SIGTERM signal
152                 or exit it from KDE.
154 --enable-modelock  XKB language status lock support. If you don't know 
155         what it is you probably don't need it.
157 --enable-sound  enable support of sound effects module
159 --disable-xpm   disables use of the XPM library even if it is available on
160         your system. 
162 --disable-png   disables use of PNG library
164 --disable-tiff  disable use of TIFF library
166 --disable-gif   disable use of GIF library
168 --disable-jpeg  disable use of JPEG library
170 --disable-shape  disables shaped windows (for oclock, xeyes etc.)
172 --enable-debug  adds extra debugging information. Do not use it
173         unless you're debugging Window Maker.
177 PLATFORM SPECIFIC NOTES:
178 ========================
179 - SCO Unix - run configure like
180         CFLAGS="-belf -DANSICPP" ./configure 
182 - SunOS, Solaris 
183         If you have gcc installed, run configure as:
184         CPP_PATH="gcc -E -x c" ./configure
185         Sun's cpp lacks some features needed by Window Maker and it can
186         cause problems when parsing the config files.
187         You also might need to use the --with-gfx-libs and --with-gfx-incs
188         to supply the directory where libtiff is located.
190         If you have a Ultra Creator 3D or some other machine with high-end
191         graphics, be sure to start the X server with the default visual
192         set to 24bpp or you might experience problems with mangled colors.
193         This is a bug and will be fixed.
195 - RedHat Linux
196         Make sure you don't have the LANG and LINGUAS environment variables
197         set to en_RN. Also, make sure you have /usr/local/bin in your
198         PATH environment variable, as for some mysterious reason the folks
199         at RedHat did not include it in the default configuration files
200         in RH 5.{0,1}.
202 - PowerPC MkLinux
203         You will need to have the latest version of Xpmac. Older versions
204         seem to have bugs that cause the system to hang.
206 - Debian Linux
207         If you want JPEG and TIFF support, make sure you have libtiff-dev 
208         and libjpeg-dev installed.
210 - SuSE Linux
211         If you installed the Window Maker package from SuSE,
212         uninstall it before trying to compile wmaker or you
213         might have problems.
215 - MetroX (unknown version)
216         MetroX has a bug that corrupts pixmaps that are set as window
217         backgrounds. If you use MetroX and has weird problems with
218         textures, do not use textures in titlebars. Or use a different
219         X server.
222 INSTALLATION:
223 =============
225 Unpack WindowMaker-data.tar.gz and move the pixmaps directory in it
226 to /usr/local/share/pixmaps
228 You can get the file at ftp://ftp.windowmaker.org. This file is optional
229 and only have a few icons.
232 Build Window Maker
233 ------------------
234         For a quick start, type the following in your shell prompt:
236         ./configure
237         make
239 then, login as root and type:
241         make install
243 or if you want to strip the debugging symbols from the binaries and make them
244 smaller, you can instead type:
246         make install-strip
248 This will build and install Window Maker with default parameters.
250 If you want to customize some compile-time options, you can do the
251 following. 
253         1. (optional) Look at the CONFIGURE OPTIONS section above for the 
254         options available. Also run:
256         ./configure --help
258         to get a complete listing of other options that are available.
260         2. Run configure with the options you want. For example, if you
261         want to use the --enable-kanji option, type:
263         ./configure --enable-kanji
265         3. (optional) Edit src/wconfig.h with your favorite text editor 
266         and browse through it for some options you might want to change.
268         4. Compile. Just type:
270         make
272         5. Login as root (if you can't do that, read the "I don't have the 
273         root password :-(" section) and install Window Maker in your system:
274                 su root
275                 make install
278 User specific configuration
279 ---------------------------
281 These instructions do not need to be followed when upgrading Window Maker
282 from an older version, unless stated differently in the NEWS file.
284 Every user on your system that wishes to run Window Maker must do the
285 following:
287         1. Install Window Maker configuration files in your home directory.
288 Type:
289         wmaker.inst
291         wmaker.inst will install Window Maker configuration files and will
292 setup X to automatically launch Window Maker at startup.
294         That's it! 
295         
296         You can type "man wmaker" to get some general help for configuration
297 and other stuff.
299 Read the User Guide for a more in-depth explanation of Window Maker.
301 You might want to take a look at the FAQ too.
304 I don't have the root password :(
305 ---------------------------------
307 If you can't get superuser privileges (can't be root) you can install
308 wmaker in your own home directory. For that, supply the --prefix option
309 when running configure in step 2 of building Window Maker. You will
310 also need to supply the --with-appspath option, to specify the path for
311 WPrefs.app Example:
313 ./configure --prefix=/home/jshmoe --with-appspath=/home/jshmoe/GNUstep/Apps
316 Then make /home/jshmoe/bin be included in your search path and run 
317 bin/wmaker.inst
320 UPGRADING
321 =========
323 If you are upgrading from an older version of Window Maker:
325         1. Configure and build Window Maker as always
326         2. Install Window Maker (but do not run wmaker.inst)
327         3. Read the NEWS file and update your configuration files, 
328            if necessary.
330 TROUBLESHOOTING
331 ===============
333 When you have some trouble during configuration (while running configure),
334 like not being able to use a graphic format library you think you have
335 installed, look at the config.log file for clues of the problem.
338 == Error when configuring
340 ltconfig: unrecognized option `--no-reexec'
341 Try `ltconfig --help' for more information.
342 configure: error: libtool configure failed
344 remove the --no-reexec option from aclocal.m4 and libPropList/aclocal/m4
345 and reconfigure
346 Also make sure the autoconf and automake versions you have installed are at
347 least:
348 autoconf 2.12
349 automake 1.3
350 libtool 1.2
352 == Error during build of libPropList
354 make: *** No rule to make target `libPropList.a.c', needed by 
355 `libPropList.a.o'.  Stop.
357 Make sure the autoconf and automake versions you have installed are at
358 least:
359 autoconf 2.12
360 automake 1.3
361 libtool 1.2
363 If you are using the RPM's that come with RedHat 4.x, don't use them.
364 It is broken. Uninstall the RPM and reinstall a fresh package from
365 ftp://prep.ai.mit.edu or any mirror.
367 == configure doesn't detect libtiff, or other graphic libraries.
369 Delete config.cache, then rerun configure adding the following options to
370 configure (among the other options you use):
371 --with-gfx-libs="-L/usr/local/lib"
372 --with-gfx-incs="-I/usr/local/include -I/usr/local/include/tiff"
373 Put the paths where your graphic libs and their corresponding header files are
374 located. You can put multiple paths in any of these options, as the example
375 of --with-gfx-incs shows. Just put a space between them.
378 == configure doesn't detect libXpm. 
380 * Check if you have a symbolic link from libXpm.so.4.9 to libXpm.so
383 == Segmentation fault on startup
385 * Check if the version of libXPM you have is at least 4.7
387 * Check if you have an updated version of ~/GNUstep/Defaults/WindowMaker
389 If you're not sure, try renaming ~/GNUstep to ~/GNUtmp and then run wmaker.inst
391 == "...: your machine is misconfigured. gethostname() returned (none)"
393 * the hostname of your machine is set to something invalid, that starts
394         with a parenthesis. Do a man hostname for info about how to set it.
397 == The root menu contains only 2 entries. ("XTerm" and "Exit...")
399 * Window Maker is not finding cpp (the C preprocessor). If your cpp is
400 not located in /lib/cpp, edit src/config.h and correct the path in
401 CPP_PATH.
403 == checking lex output file root... configure: error: cannot find output from true; giving up
405 * Read the REQUIREMENTS section of this file.
408 LOCALES/INTERNATIONALIZATION
409 ============================
411 Window Maker has national language support. 
412 To enable national language support, you must compile
413 Window Maker with some additional parameters. 
415 0 - You must have the GNU gettext package installed. It can be
416 obtained at ftp://prep.ai.mit.edu/pub/gnu/gettext-nnn.tar.gz
418 Steps 1 to 3 can be skipped if you use the Install script.
420 1 - You have to select the languages you want to support. Set the
421 LINGUAS to the list of locales you want. English is always
422 suported. Example:
424 setenv LINGUAS "pt ja de"
425 in csh
429 export LINGUAS;LINGUAS="pt ja de"
430 in sh
432 The list of supported locales can be found in po/README.
433 English is the default language.
435 Read po/README if you wish to translate and maintain locale files 
436 for other languages.
438 2 - Additionally, if your language uses multi-byte characters, such
439 as Japanese or Korean, you must supply the --enable-kanji flag to configure.
441 3 - Configure, build and install Window Maker normally.
443 4 - To select a particular locale at runtime you must set the LANG
444 environment variable to the locale you want. For example, if you want to set
445 the portuguese locale, you must run
447 setenv LANG pt
449 in csh or
451 export LANG; LANG=pt
453 in Bourne sh and similars
455 Note: If you have the LC_CTYPE environment variable set, you must
456 unset it before running wmaker.
458 For menu definition files, Window Maker searches for them in the
459 following order (for brazilian portuguese, in this case):
461 menu.pt_BR
462 menu.pt
463 menu
466 5 - If you chose a language that uses multi-byte characters, you must
467 configure the fonts appropriately. Read the manual page for XCreateFontSet
468 to have more details about it. You must change the ~/G/D/WindowMaker file
469 for fonts used in titlebars, menus and other things. For fonts used in
470 dialog windows, change ~/G/D/WMGLOBAL. The %d in the font names must not be
471 removed. You can also use the supplied wsetfont script for the task.
472 Read the script itself for instructions.
474 For example, you can specify the following in ~/G/D/WindowMaker:
476 WindowTitleFont = "-*-helvetica-bold-r-normal-*-12-*,-*-*-medium-r-normal-*-14-*";
477 MenuTitleFont = "-*-helvetica-bold-r-normal-*-12-*,-*-*-medium-r-normal-*-14-*";
478 MenuTextFont = "-*-helvetica-medium-r-normal-*-12-*,-*-*-medium-r-normal-*-14-*";
479 IconTitleFont = "-*-helvetica-medium-r-normal-*-8-*,-*-*-medium-r-normal-*-12-*";
480 ClipTitleFont = "-*-helvetica-bold-r-normal-*-10-*,-*-*-medium-r-normal-*-12-*";
481 DisplayFont = "-*-helvetica-medium-r-normal-*-12-*,-*-*-medium-r-normal-*-12-*";
483 and in ~/G/D/WMGLOBAL:
485 SystemFont = "-*-*-medium-r-normal-*-%d-*-*-*-*-*-*-*";
486 BoldSystemFont = "-*-*-medium-r-normal-*-%d-*-*-*-*-*-*-*";
488 The above 2 fonts are only used by applications that use WINGs (WindowMaker
489 and WPrefs.app)