WINGs: Better presentation for example code in the tutorial
[whome.git] / wmaker_install.php
blob093adff31678b70a096e8140cea0b1bc1fc16d54
1 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
2 <html>
3 <!-- This manual is for WINDOW MAKER window manager, version git#next.
5 Copyright (C) 2015 The Window Maker Team.
7 This program is free software; you can redistribute it and/or modify
8 it under the terms of the GNU General Public License as published by
9 the Free Software Foundation; either version 2 of the License, or
10 (at your option) any later version.
12 This program is distributed in the hope that it will be useful,
13 but WITHOUT ANY WARRANTY; without even the implied warranty of
14 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 GNU General Public License for more details.
17 You should have received a copy of the GNU General Public License along
18 with this program, see file COPYING for details. -->
19 <!-- Created by GNU Texinfo 6.1, http://www.gnu.org/software/texinfo/ -->
20 <head>
21 <title>Window Maker Compilation and Installation 1.0</title>
23 <meta name="description" content="Window Maker Compilation and Installation 1.0">
24 <meta name="keywords" content="Window Maker Compilation and Installation 1.0">
25 <meta name="resource-type" content="document">
26 <meta name="distribution" content="global">
27 <meta name="Generator" content="makeinfo">
28 <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
29 <link href="#Top" rel="start" title="Top">
30 <link href="#SEC_Contents" rel="contents" title="Table of Contents">
31 <link href="dir.html#Top" rel="up" title="(dir)">
32 <link href="title.css" rel="stylesheet" type="text/css" />
33 </head>
35 <body lang="en">
37 <?php include("dock.php"); ?>
38 <?php include("header.php"); ?>
40 <a name="Top"></a>
41 <a name="Window-Maker-Compilation-and-Installation"></a>
42 <h1 class="top">Window Maker Compilation and Installation</h1>
44 <p>A guide to configure, compile and install
45 <small>WINDOW MAKER</small> from sources.
46 </p>
47 <a name="SEC_Contents"></a>
48 <h2 class="contents-heading">Table of Contents</h2>
50 <div class="contents">
52 <ul class="no-bullet">
53 <li><a name="toc-Prerequisites-1" href="#Prerequisites">1 Prerequisites</a>
54 <ul class="no-bullet">
55 <li><a name="toc-Supported-Platforms" href="#Supported-Platforms">1.1 Supported Platforms</a></li>
56 <li><a name="toc-Software-Dependencies-1" href="#Software-Dependencies-1">1.2 Software Dependencies</a></li>
57 <li><a name="toc-Special-Dependencies-1" href="#Special-Dependencies-1">1.3 Special Dependencies</a></li>
58 <li><a name="toc-Optional-Dependencies-1" href="#Optional-Dependencies-1">1.4 Optional Dependencies</a></li>
59 </ul></li>
60 <li><a name="toc-Building-WINDOW-MAKER" href="#Building-Window-Maker">2 Building <small>WINDOW MAKER</small></a>
61 <ul class="no-bullet">
62 <li><a name="toc-Getting-the-Sources" href="#Getting-the-Sources">2.1 Getting the Sources</a></li>
63 <li><a name="toc-Build-and-Install" href="#Build-and-Install">2.2 Build and Install</a></li>
64 <li><a name="toc-User-specific-configuration" href="#User-specific-configuration">2.3 User specific configuration</a></li>
65 <li><a name="toc-Locales_002fInternationalisation" href="#Locales_002fInternationalisation">2.4 Locales/Internationalisation</a></li>
66 <li><a name="toc-Configure-Options-1" href="#Configure-Options-1">2.5 Configure Options</a>
67 <ul class="no-bullet">
68 <li><a name="toc-Installation-Directory" href="#Installation-Directory">2.5.1 Installation Directory</a></li>
69 <li><a name="toc-External-Libraries" href="#External-Libraries">2.5.2 External Libraries</a></li>
70 <li><a name="toc-X11-and-Extensions" href="#X11-and-Extensions">2.5.3 X11 and Extensions</a></li>
71 <li><a name="toc-Feature-Selection" href="#Feature-Selection">2.5.4 Feature Selection</a></li>
72 <li><a name="toc-Developer-Stuff" href="#Developer-Stuff">2.5.5 Developer Stuff</a></li>
73 </ul></li>
74 </ul></li>
75 <li><a name="toc-Miscellaneous-1" href="#Miscellaneous">3 Miscellaneous</a>
76 <ul class="no-bullet">
77 <li><a name="toc-Platform-Specific-Notes" href="#Platform-Specific-Notes">3.1 Platform Specific Notes</a></li>
78 <li><a name="toc-I-don_0027t-have-the-root-password-_003a_0028" href="#I-don_0027t-have-the-root-password-_003a_0028">3.2 I don&rsquo;t have the <em>root</em> password :(</a></li>
79 <li><a name="toc-Upgrading" href="#Upgrading">3.3 Upgrading</a></li>
80 </ul></li>
81 <li><a name="toc-Troubleshooting-1" href="#Troubleshooting">4 Troubleshooting</a>
82 <ul class="no-bullet">
83 <li><a name="toc-Error-with-loading-fonts_002c-even-if-they-exist" href="#Error-with-loading-fonts_002c-even-if-they-exist">4.1 Error with loading fonts, even if they exist</a></li>
84 <li><a name="toc-configure-doesn_0027t-detect-libtiff_002c-or-other-graphic-libraries" href="#configure-doesn_0027t-detect-libtiff_002c-or-other-graphic-libraries">4.2 configure doesn&rsquo;t detect <em>libtiff</em>, or other graphic libraries</a></li>
85 <li><a name="toc-configure-doesn_0027t-detect-libXpm" href="#configure-doesn_0027t-detect-libXpm">4.3 configure doesn&rsquo;t detect <em>libXpm</em></a></li>
86 <li><a name="toc-Segmentation-fault-on-startup" href="#Segmentation-fault-on-startup">4.4 Segmentation fault on startup</a></li>
87 <li><a name="toc-_0022_002e_002e_002e_003a-your-machine-is-misconfigured_002e-gethostname_0028_0029-returned-_0028none_0029_0022" href="#g_t_0022_002e_002e_002e_003a-your-machine-is-misconfigured_002e-gethostname_0028_0029-returned-_0028none_0029_0022">4.5 &quot;...: your machine is misconfigured. gethostname() returned (none)&quot;</a></li>
88 <li><a name="toc-The-root-menu-contains-only-2-entries_002e-_0028_0022XTerm_0022-and-_0022Exit_002e_002e_002e_0022_0029" href="#The-root-menu-contains-only-2-entries_002e-_0028_0022XTerm_0022-and-_0022Exit_002e_002e_002e_0022_0029">4.6 The root menu contains only 2 entries. (&quot;XTerm&quot; and &quot;Exit...&quot;)</a></li>
89 </ul></li>
90 </ul>
91 </div>
94 <br>
95 <p>This manual is for Window Maker, version git#next.
96 </p>
99 <hr>
100 <a name="Prerequisites"></a>
101 <a name="Prerequisites-1"></a>
102 <h2 class="chapter">1 Prerequisites</h2>
104 <a name="Supported-Platforms"></a>
105 <h3 class="section">1.1 Supported Platforms</h3>
107 <ul class="no-bullet">
108 <li>- Intel GNU/Linux Systems in general, <tt>ix86</tt> and <tt>x86_64</tt> but other architectures should work
109 </li><li>- BSD systems
110 </li><li>- Solaris, at least on release 10 and 11
111 </li></ul>
113 <p>Patches to make it work on other platforms are welcome.
114 </p>
116 <a name="Software-Dependencies-1"></a>
117 <h3 class="section">1.2 Software Dependencies</h3>
118 <a name="Software-Dependencies"></a>
119 <p>The following software is required to use <small>WINDOW MAKER</small>:
120 </p><ul class="no-bullet">
121 <li>- X11R6.x
123 <p>Window Maker can be compiled in older versions of <em>X</em>, like <em>X11R5</em> (<em>Solaris</em>)
124 or <em>X11R4</em> (<em>OpenWindows</em>) but it will not work 100% correctly.
125 In such servers there will not be application icons and you&rsquo;ll have trouble using the dock.
126 Upgrading the client libraries (<em>Xlib</em>, <em>Xt</em>, etc.) will help if you can&rsquo;t upgrade
127 the server.
128 </p></li></ul>
130 <p>The following is required to build <small>WINDOW MAKER</small>:
131 </p><ul class="no-bullet">
132 <li>- Basic obvious stuff
134 <ul>
135 <li> <em>gcc</em> (or some other ANSI C compiler, supporting some C99 extensions)
136 </li><li> <em>glibc</em> development files (usually <samp>glibc-devel</samp> in Linux distributions)
137 </li><li> <em>X</em> development files (<samp>XFree86-devel</samp> or something similar)
138 </li></ul>
140 </li><li>- <em>Xft2</em> and its dependencies
142 <p>Dependencies include <em>freetype2</em> and <em>fontconfig</em>.
143 You will also need the development files for them (<samp>xft2-devel</samp>).
144 Sources are available at: <a href="http://www.freedesktop.org/wiki/Software/Xft/">http://www.freedesktop.org/wiki/Software/Xft/</a>
145 </p>
146 </li></ul>
148 <p><b>Note</b>:
149 <small>WINDOW MAKER</small> is known to compile with <em>gcc</em> and <em>clang</em>;
150 the code source is mostly ANSI C (also known as C89 and C90) but is uses very few of the C99
151 novelties;
152 it also uses a few attributes introduced in the C11 standard but those are detected automatically,
153 so most compilers should work.
154 </p>
156 <a name="Special-Dependencies-1"></a>
157 <h3 class="section">1.3 Special Dependencies</h3>
158 <a name="Special-Dependencies"></a>
160 <p>If you want to compile using the sources from the git repository instead of the distribution
161 package, you will also need:
162 </p><ul>
163 <li> <em>git</em>
164 </li><li> <em>autoconf</em> 2.69
165 </li><li> <em>automake</em> 1.12
166 </li><li> <em>libtool</em> 1.4.2
167 </li></ul>
170 <a name="Optional-Dependencies-1"></a>
171 <h3 class="section">1.4 Optional Dependencies</h3>
172 <a name="Optional-Dependencies"></a>
173 <p>These libraries are not required to make <small>WINDOW MAKER</small> work, but they are supported in case you
174 want to use them. Version numbers are indicative, but other versions might work too.
175 </p>
176 <ul class="no-bullet">
177 <li>- <em>libXPM</em> 4.7 or newer
179 <p>Older versions may not work!
180 </p>
181 <p>Available from <a href="http://xlibs.freedesktop.org/release/">http://xlibs.freedesktop.org/release/</a>
182 </p>
183 <p>There is built-in support for <em>XPM</em> files, but it will not
184 load images in some uncommon encodings.
185 </p>
186 </li><li>- <em>libpng</em> 0.96 or newer and <em>zlib</em>
188 <p>For <em>PNG</em> image support,
189 <a href="http://www.libpng.org/pub/png/libpng.html">http://www.libpng.org/pub/png/libpng.html</a>
190 </p>
191 </li><li>- <em>libtiff</em> 3.4 or newer
193 <p>For <em>TIFF</em> image support,
194 <a href="http://www.libtiff.org/">http://www.libtiff.org/</a>
195 </p>
196 </li><li>- <em>libjpeg</em> 6.0.1 or newer
198 <p>For <em>JPEG</em> image support,
199 <a href="http://www.ijg.org/">http://www.ijg.org/</a>
200 </p>
201 <p>Note that if you don&rsquo;t have it, <code>configure</code> will issue a big warning in the end,
202 this is because JPEG images are often used in themes and for background images
203 so you probably want this format supported.
204 </p>
205 </li><li>- <em>libgif</em> 2.2 or <em>libungif</em>
207 <p>For <em>GIF</em> image support,
208 <a href="http://giflib.sourceforge.net/">http://giflib.sourceforge.net/</a>
209 </p>
210 </li><li>- <em>WebP</em> 0.4.1 or newer
212 <p>The reference library from <em>Google</em> for their image format,
213 <a href="https://developers.google.com/speed/webp/download">https://developers.google.com/speed/webp/download</a>
214 </p>
215 </li><li>- <em>GNU xgettext</em>
217 <p>If you want to use translated messages, you will need <em>GNU gettext</em>.
218 Other versions of <em>gettext</em> are not compatible and will not work.
219 Get the <em>GNU</em> version from <a href="http://www.gnu.org/software/gettext/">http://www.gnu.org/software/gettext/</a>
220 </p>
221 </li><li>- <em>Pango</em> 1.36.8 or newer
223 <p>This library can be used by the <em>WINGs</em> toolkit to improve support for <em>UTF-8</em> and for
224 languages written in right-to-left direction, in some widgets.
225 You have to explicitly ask for its support through (see <a href="#Configure-Options">Configure Options</a>).
226 You can get it from <a href="http://www.pango.org/Download">http://www.pango.org/Download</a>
227 </p>
228 </li><li>- <em>libbsd</em>
230 <p>This library can be used by the <em>WINGs</em> utility library to make use of <code>strlcat</code> and
231 <code>strlcpy</code> instead of using built-in functions if your system does not provide them in its
232 core <em>libc</em>.
233 You should let <small>WINDOW MAKER</small>&rsquo;s <code>configure</code> detect this for you.
234 You can get it from <a href="http://libbsd.freedesktop.org/wiki/">http://libbsd.freedesktop.org/wiki/</a>
235 </p>
236 </li><li>- <em>Inotify</em>
238 <p>If you have Linux&rsquo;s <em>inotify</em> support, <small>WINDOW MAKER</small> will use it to check for configuration
239 updates instead of polling regularly the file.
240 The needed header comes with the kernel, typical packages names include:
241 </p><ul>
242 <li> <samp>kernel-headers</samp> for <em>Slackware</em> and <em>Fedora</em>
243 </li><li> <samp>linux-userspace-headers</samp> for <em>Mageia</em>
244 </li><li> <samp>linux-libc-dev</samp> for <em>Debian</em> and <em>Ubuntu</em>
245 </li><li> <samp>linux-glibc-devel</samp> for <em>OpenSuSE</em>
246 </li></ul>
248 </li><li>- <em>MagickWand</em> 6.8.9-9 or newer
250 <p>If found, then the library <em>WRaster</em> can use the <em>ImageMagick</em> library to let
251 <small>WINDOW MAKER</small> support more image formats, like <em>SVG</em>, <em>BMP</em>, <em>TGA</em>, ...
252 You can get it from <a href="http://www.imagemagick.org/">http://www.imagemagick.org/</a>
253 </p>
254 </li><li>- <em>Boehm GC</em>
256 <p>This library can be used by the <em>WINGs</em> utility toolkit to use a
257 <cite>Boehm-Demers-Weiser Garbage Collector</cite> instead of the traditional
258 <code>malloc</code>/<code>free</code> functions from the <em>libc</em>.
259 You have to explicitly ask for its support though (see <a href="#Configure-Options">Configure Options</a>).
260 You can get it from <a href="http://www.hboehm.info/gc/">http://www.hboehm.info/gc/</a>
261 </p>
262 </li></ul>
265 <hr>
266 <a name="Building-Window-Maker"></a>
267 <a name="Building-WINDOW-MAKER"></a>
268 <h2 class="chapter">2 Building <small>WINDOW MAKER</small></h2>
270 <a name="Getting-the-Sources"></a>
271 <h3 class="section">2.1 Getting the Sources</h3>
273 <p>The latest version of <small>WINDOW MAKER</small> (<tt>-crm</tt>) can be downloaded from
274 <a href="http://www.windowmaker.org/">http://www.windowmaker.org/</a>
275 </p>
276 <p>Alternatively, the development branch, called <tt>#next</tt> is in the <em>git</em> repository at
277 <a href="http://repo.or.cz/w/wmaker-crm.git">http://repo.or.cz/w/wmaker-crm.git</a>
278 </p>
279 <p>If you want to use the <em>git</em> versions, you can get it with:
280 </p><div class="example">
281 <pre class="example">git clone -b next git://repo.or.cz/wmaker-crm.git
282 </pre></div>
283 <p>then, assuming you have the dependencies listed in <a href="#Special-Dependencies">Special Dependencies</a>, you have to
284 type:
285 </p><div class="example">
286 <pre class="example">./autogen.sh
287 </pre></div>
288 <p>to generate the configuration script.
289 </p>
291 <a name="Build-and-Install"></a>
292 <h3 class="section">2.2 Build and Install</h3>
294 <p>For a quick start, type the following in your shell prompt:
295 </p>
296 <div class="example">
297 <pre class="example">./configure
298 make
299 </pre></div>
301 <p>then, login as <em>root</em> and type:
302 </p>
303 <div class="example">
304 <pre class="example">make install
305 ldconfig
306 </pre></div>
308 <p>or if you want to strip the debugging symbols from the binaries to make them smaller,
309 you can type instead:
310 </p>
311 <div class="example">
312 <pre class="example">make install-strip
313 ldconfig
314 </pre></div>
316 <p>This will build and install <small>WINDOW MAKER</small> with default parameters.
317 </p>
318 <p>If you want to customise some compile-time options, you can do the following:
319 </p>
320 <ol>
321 <li> (optional) Look at the <a href="#Configure-Options">Configure Options</a>, for the options available.
322 Also run:
323 <div class="example">
324 <pre class="example">./configure --help
325 </pre></div>
327 <p>to get a complete list of options that are available.
328 </p>
329 </li><li> Run configure with the options you want.
330 For example, if you want to use the <samp>--enable-modelock</samp> option, type:
331 <div class="example">
332 <pre class="example">./configure --enable-modelock
333 </pre></div>
335 </li><li> (optional) Edit <samp>src/wconfig.h</samp> with your favourite text editor and browse through it for some
336 options you might want to change.
338 </li><li> Compile. Just type:
339 <div class="example">
340 <pre class="example">make
341 </pre></div>
343 </li><li> Login as root (if you can&rsquo;t do that, read the <a href="#No-Root-Password">I don&rsquo;t have the <em>root</em> password</a>)
344 and install <small>WINDOW MAKER</small> in your system:
345 <div class="example">
346 <pre class="example">su root
347 make install
348 </pre></div>
350 </li></ol>
353 <a name="User-specific-configuration"></a>
354 <h3 class="section">2.3 User specific configuration</h3>
356 <p>These instructions do not need to be followed when upgrading <small>WINDOW MAKER</small>
357 from an older version, unless stated differently in the <cite>NEWS</cite> file.
358 </p>
359 <p>Every user on your system that wishes to run <small>WINDOW MAKER</small> must do the
360 following:
361 </p>
362 <ol>
363 <li> Install Window Maker configuration files in your home directory.
364 Type:
365 <div class="example">
366 <pre class="example">wmaker.inst
367 </pre></div>
369 <p><code>wmaker.inst</code> will install <small>WINDOW MAKER</small> configuration files and will
370 setup X to automatically launch <small>WINDOW MAKER</small> at startup.
371 </p>
372 </li></ol>
374 <p>That&rsquo;s it!
375 </p>
376 <p>You can type <code>man wmaker</code> to get some general help for configuration
377 and other stuff.
378 </p>
379 <p>Read the <cite>User Guide</cite> for a more in-depth explanation of <small>WINDOW MAKER</small>.
380 </p>
381 <p>You might want to take a look at the <cite>FAQ</cite> too.
382 </p>
384 <a name="Locales_002fInternationalisation"></a>
385 <h3 class="section">2.4 Locales/Internationalisation</h3>
387 <p><small>WINDOW MAKER</small> has national language support. The procedure to enable national
388 language support is described in the dedicated
389 <a href="wmaker_i18n.html#Enabling-Languages-support">Enabling Languages support</a> in <cite><samp>README.i18n</samp></cite>.
390 </p>
392 <a name="Configure-Options-1"></a>
393 <h3 class="section">2.5 Configure Options</h3>
394 <a name="Configure-Options"></a>
395 <p>These options can be passed to the configure script to enable/disable
396 some <small>WINDOW MAKER</small> features. Example:
397 </p><div class="example">
398 <pre class="example">./configure --enable-modelock --disable-gif
399 </pre></div>
400 <p>will configure <small>WINDOW MAKER</small> with <em>modelock</em> supported and disable <em>gif</em> support.
401 Normally, you won&rsquo;t need any of them.
402 </p>
403 <p>To get the list of all options, run <code>./configure --help</code>
404 </p>
406 <a name="Installation-Directory"></a>
407 <h4 class="subsection">2.5.1 Installation Directory</h4>
409 <p>The default installation path will be in the <samp>/usr/local</samp> hierarchy;
410 a number of option can customise this:
411 </p>
412 <dl compact="compact">
413 <dt><samp>--prefix=<i>PREFIX</i></samp></dt>
414 <dt><samp>--exec-prefix=<i>EPREFIX</i></samp></dt>
415 <dt><samp>--bindir=<i>DIR</i></samp></dt>
416 <dt><samp>--sysconfdir=<i>DIR</i></samp></dt>
417 <dt><samp>--libdir=<i>DIR</i></samp></dt>
418 <dt><samp>--includedir=<i>DIR</i></samp></dt>
419 <dt><samp>--datarootdir=<i>DIR</i></samp></dt>
420 <dt><samp>--datadir=<i>DIR</i></samp></dt>
421 <dt><samp>--localedir=<i>DIR</i></samp></dt>
422 <dt><samp>--mandir=<i>DIR</i></samp></dt>
423 <dd><p>Standard options from <em>autoconf</em> to define target paths,
424 you probably want to read <a href="INSTALL.html#Installation-Names">Installation Names</a> in <cite><samp>INSTALL</samp></cite>.
425 </p>
426 </dd>
427 <dt><samp>--sbindir=<i>DIR</i></samp></dt>
428 <dt><samp>--libexecdir=<i>DIR</i></samp></dt>
429 <dt><samp>--sharedstatedir=<i>DIR</i></samp></dt>
430 <dt><samp>--localstatedir=<i>DIR</i></samp></dt>
431 <dt><samp>--oldincludedir=<i>DIR</i></samp></dt>
432 <dt><samp>--infodir=<i>DIR</i></samp></dt>
433 <dt><samp>--docdir=<i>DIR</i></samp></dt>
434 <dt><samp>--htmldir=<i>DIR</i></samp></dt>
435 <dt><samp>--dvidir=<i>DIR</i></samp></dt>
436 <dt><samp>--pdfdir=<i>DIR</i></samp></dt>
437 <dt><samp>--psdir=<i>DIR</i></samp></dt>
438 <dd><p>More standard options from <em>autoconf</em>, today these are not used by <small>WINDOW MAKER</small>;
439 they are provided automatically by <em>autoconf</em> for consistency.
440 </p>
441 </dd>
442 <dt><samp>--with-gnustepdir=<i>PATH</i></samp></dt>
443 <dd><p>Specific to <small>WINDOW MAKER</small>, defines the directory where <samp>WPrefs.app</samp> will be installed,
444 if you want to install it like a <em>GNUstep</em> applications.
445 If not specified, it will be installed like usual programs.
446 </p>
447 </dd>
448 <dt><samp>--with-pixmapdir=<i>DIR</i></samp></dt>
449 <dd><p>Specific to <small>WINDOW MAKER</small>, this option defines an additional path where <em>pixmaps</em> will be
450 searched. Nothing will be installed there; the default path taken is <samp><em>DATADIR</em>/pixmaps</samp>,
451 where <var>DATADIR</var> is the path defined from <samp>--datadir</samp>.
452 </p>
453 </dd>
454 <dt><samp>--with-defsdatadir=<i>DIR</i></samp></dt>
455 <dd><p>Specific to <small>WINDOW MAKER</small>, defines the directory where system configuration
456 files, e.g., <samp>WindowMaker</samp>, <samp>WMRootMenu</samp>, etc., are installed. The
457 default value is <samp><em>SYSCONFDIR</em>/WindowMaker</samp>, where <var>SYSCONFDIR</var> is
458 the path defined from <samp>--sysconfdir</samp>.
459 </p>
460 </dd>
461 </dl>
464 <a name="External-Libraries"></a>
465 <h4 class="subsection">2.5.2 External Libraries</h4>
467 <p>Unless specifically written, <code>configure</code> will try to detect automatically for the libraries;
468 if you explicitly provide <samp>--enable-<em>FEATURE</em></samp> then it will break with an error message
469 if the library cannot be linked;
470 if you specify <samp>--disable-<em>FEATURE</em></samp> then it will not try to search for the library.
471 You can find more information about the libraries in the
472 <a href="#Optional-Dependencies">Optional Dependencies</a>.
473 </p>
474 <dl compact="compact">
475 <dt><samp>--enable-boehm-gc</samp></dt>
476 <dd><p>Never enabled by default, use Boehm GC instead of the default <em>libc</em> <code>malloc()</code>
477 </p>
478 </dd>
479 <dt><samp>--disable-gif</samp></dt>
480 <dd><p>Disable GIF support in <em>WRaster</em> library; when enabled use <samp>libgif</samp> or <samp>libungif</samp>.
481 </p>
482 </dd>
483 <dt><samp>--disable-jpeg</samp></dt>
484 <dd><p>Disable JPEG support in <em>WRaster</em> library; when enabled use <samp>libjpeg</samp>.
485 </p>
486 </dd>
487 <dt><samp>--without-libbsd</samp></dt>
488 <dd><p>Refuse use of the <samp>libbsd</samp> compatibility library in <em>WINGs</em> utility library,
489 even if your system provides it.
490 </p>
491 </dd>
492 <dt><samp>--disable-magick</samp></dt>
493 <dd><p>Disable <em>ImageMagick&rsquo;s MagickWand</em> support in <em>WRaster</em>, used to support for image formats.
494 </p>
495 </dd>
496 <dt><samp>--enable-pango</samp></dt>
497 <dd><p>Disabled by default, enable <em>Pango</em> text layout support in <em>WINGs</em>.
498 </p>
499 </dd>
500 <dt><samp>--disable-png</samp></dt>
501 <dd><p>Disable PNG support in <em>WRaster</em>; when enabled use <samp>libpng</samp>.
502 </p>
503 </dd>
504 <dt><samp>--disable-tiff</samp></dt>
505 <dd><p>Disable TIFF support in <em>WRaster</em>. when enabled use <samp>libtiff</samp>.
506 </p>
507 </dd>
508 <dt><samp>--disable-webp</samp></dt>
509 <dd><p>Disable WEBP support in <em>WRaster</em>. when enabled use <samp>libwebp</samp>.
510 </p>
511 </dd>
512 <dt><samp>--disable-xpm</samp></dt>
513 <dd><p>Disable use of <samp>libXpm</samp> for XPM support in <em>WRaster</em>, use internal code instead.
514 </p>
515 </dd>
516 </dl>
518 <p>The following options can be used to tell <code>configure</code> about extra paths that needs to be
519 used when compiling against libraries:
520 </p>
521 <dl compact="compact">
522 <dt><samp>--with-libs-from</samp></dt>
523 <dd><p>specify additional paths for libraries to be searched.
524 The <samp>-L</samp> flag must precede each path, like:
525 </p><div class="example">
526 <pre class="example">--with-libs-from=&quot;-L/opt/libs -L/usr/local/lib&quot;
527 </pre></div>
529 </dd>
530 <dt><samp>--with-incs-from</samp></dt>
531 <dd><p>specify additional paths for header files to be searched.
532 The <samp>-I</samp> flag must precede each paths, like:
533 </p><div class="example">
534 <pre class="example">--with-incs-from=&quot;-I/opt/headers -I/usr/local/include&quot;
535 </pre></div>
537 </dd>
538 </dl>
541 <a name="X11-and-Extensions"></a>
542 <h4 class="subsection">2.5.3 X11 and Extensions</h4>
544 <p><code>configure</code> will try to detect automatically the compilation paths for X11 headers and
545 libraries, and which X Extensions support can be enabled.
546 if you explicitly provide <samp>--enable-<em>FEATURE</em></samp> then it will break with an error message
547 if the extension cannot be used;
548 if you specify <samp>--disable-<em>FEATURE</em></samp> then it will not check for the extension.
549 </p>
550 <dl compact="compact">
551 <dt><samp>--x-includes=<i>DIR</i></samp></dt>
552 <dt><samp>--x-libraries=<i>DIR</i></samp></dt>
553 <dd><p><em>Autoconf</em>&rsquo;s option to specify search paths for <em>X11</em>,
554 for the case were it would not have been able to detect it automatically.
555 </p>
556 </dd>
557 <dt><samp>--disable-xlocale</samp></dt>
558 <dd><p>If you activated support for Native Languages, then <em>X11</em> may use a hack to also configure its
559 locale support when the program configure the locale for itself.
560 The <code>configure</code> script detects if the <em>Xlib</em> supports this or not;
561 this options explicitly disable this initialisation mechanism.
562 </p>
563 </dd>
564 <dt><samp>--enable-modelock</samp></dt>
565 <dd><p>XKB language status lock support. If you don&rsquo;t know what it is you probably don&rsquo;t need it.
566 The default is to not enable it.
567 </p>
568 </dd>
569 <dt><samp>--disable-shm</samp></dt>
570 <dd><p>Disable use of the <em>MIT shared memory</em> extension.
571 This will slow down texture generation a little bit, but in some cases it seems to be necessary due
572 to a bug that manifests as messed icons and textures.
573 </p>
574 </dd>
575 <dt><samp>--disable-shape</samp></dt>
576 <dd><p>Disables support for <em>shaped</em> windows (for <code>oclock</code>, <code>xeyes</code>, etc.).
577 </p>
578 </dd>
579 <dt><samp>--enable-xinerama</samp></dt>
580 <dd><p>The <em>Xinerama</em> extension provides information about the different screens connected when
581 running a multi-head setting (if you plug more than one monitor).
582 </p>
583 </dd>
584 <dt><samp>--enable-randr</samp></dt>
585 <dd><p>The <em>RandR</em> extension provides feedback when changing the multiple-monitor configuration in X11
586 and allows to re-configure how screens are organised.
587 </p>
588 <p>At current time, it is not enabled by default because it is NOT recommended (buggy);
589 <small>WINDOW MAKER</small> only restart itself when the configuration change, to take into account the new
590 screen size.
591 </p>
592 </dd>
593 </dl>
596 <a name="Feature-Selection"></a>
597 <h4 class="subsection">2.5.4 Feature Selection</h4>
599 <dl compact="compact">
600 <dt><samp>--disable-animations</samp></dt>
601 <dd><p>Disable animations permanently, by not compiling the corresponding code into <small>WINDOW MAKER</small>.
602 When enabled (the default), you still have a run-time configuration option in <em>WPrefs</em>.
603 </p>
604 </dd>
605 <dt><samp>--disable-mwm-hints</samp></dt>
606 <dd><p>Disable support for Motif&rsquo;s MWM Window Manager hints.
607 These attributes were introduced by the Motif toolkit to ask for special window appearance requests.
608 Nowadays this is covered by the NetWM/EWMH specification, but there are still applications that rely on MWM Hints.
609 </p>
610 </dd>
611 <dt><samp>--enable-wmreplace</samp></dt>
612 <dd><p>Add support for the <em>ICCCM</em> protocol for cooperative window manager replacement.
613 This feature is disabled by default because you probably don&rsquo;t need to switch seamlessly the window manager;
614 if you are making a package for a distribution you&rsquo;d probably want to enable this because it allows users to give
615 a try to different window managers without restarting everything for an extra cost that is not really big.
616 </p>
617 </dd>
618 <dt><samp>--disable-xdnd</samp></dt>
619 <dd><p>Disable support for dragging and dropping files on the dock, which launches a user-specified command
620 with that file.
621 Starting from version 0.65.6 this feature is enabled by default.
622 </p>
623 </dd>
624 <dt><samp>--enable-ld-version-script</samp></dt>
625 <dd><p>This feature is auto-detected, and you should not use this option.
626 When compiling a library (<samp>wrlib</samp>, ...), <em>gcc</em> has the possibility to filter the list of
627 functions that will be visible, to keep only the public API, because it helps running programs
628 faster.
629 </p>
630 <p>The <code>configure</code> script checks if this feature is available;
631 if you specify this option it will not check anymore and blindly trust you that it is supposed to
632 work, which is not a good idea as you may encounter problems later when compiling.
633 </p>
634 </dd>
635 <dt><samp>--enable-usermenu</samp></dt>
636 <dd><p>This feature, disabled by default, allows to add a user-defined custom menu to applications;
637 when choosing an entry of the menu it will send the key combination defined by the user to that
638 application. See <a href="NEWS.html#Application-User-Menu">Application User Menu</a> in <cite><samp>NEWS</samp></cite> for more information.
639 </p>
640 </dd>
641 <dt><samp>--with-menu-textdomain=<i>DOMAIN</i></samp></dt>
642 <dd><p>Selection of the domain used for translation of the menus;
643 see <a href="wmaker_i18n.html#Translations-for-Menus">Translations for Menus</a> in <cite><samp>README.i18n</samp></cite>.
644 </p>
645 </dd>
646 </dl>
649 <a name="Developer-Stuff"></a>
650 <h4 class="subsection">2.5.5 Developer Stuff</h4>
652 <p>These options are disabled by default:
653 </p>
654 <dl compact="compact">
655 <dt><samp>--config-cache</samp></dt>
656 <dd><p>If you intend to re-run the <code>configure</code> script often, you probably want to include this
657 option, so it will save and re-use the status of what have been detected in the file
658 <samp>config.cache</samp>.
659 </p>
660 </dd>
661 <dt><samp>--enable-debug</samp></dt>
662 <dd><p>Enable debugging features (debug symbol, some extra verbosity and checks) and add a number of
663 check flags (warnings) for the compiler (in <em>gcc</em> fashion).
664 </p>
665 </dd>
666 <dt><samp>--enable-lcov=<i>DIRECTORY</i></samp></dt>
667 <dd><p>Enable generation of code coverage and profiling data;
668 if the <samp><i>DIRECTORY</i></samp> is not specified, use <samp>coverage-report</samp>.
669 </p>
670 <p>This option was meant to be use with <em>gcc</em>;
671 it was not used recently so it is probable that is does not work anymore;
672 the <code>configure</code> script will not even check that your compiling environment has the
673 appropriate requirements and works with this.
674 Despite all this, if you think there&rsquo;s a use for it and feel in the mood to help, do not hesitate to
675 discuss on the mailing list <a href="mailto:wmaker-dev@lists.windowmaker.org">wmaker-dev@lists.windowmaker.org</a> to get it working.
676 </p>
677 </dd>
678 </dl>
681 <hr>
682 <a name="Miscellaneous"></a>
683 <a name="Miscellaneous-1"></a>
684 <h2 class="chapter">3 Miscellaneous</h2>
686 <a name="Platform-Specific-Notes"></a>
687 <h3 class="section">3.1 Platform Specific Notes</h3>
689 <ul class="no-bullet">
690 <li>- <em>GNU/Linux</em> in general
692 <p>Make sure you have <samp>/usr/local/lib</samp> in <samp>/etc/ld.so.conf</samp> and that you
693 run <code>ldconfig</code> after installing.
694 Uninstall any packaged version of <small>WINDOW MAKER</small> before installing a new version.
695 </p>
696 </li><li>- <em>RedHat GNU/Linux</em>
698 <p><em>RedHat</em> systems have several annoying problems.
699 If you use it, be sure to follow the steps below or <small>WINDOW MAKER</small> will not work:
700 </p>
701 <ul>
702 <li> if you installed the <small>WINDOW MAKER</small> that comes with <em>RedHat</em>, uninstall it before upgrading;
704 </li><li> make sure you have <samp>/usr/local/bin</samp> in your <code>PATH</code> environment variable;
706 </li><li> make sure you have <samp>/usr/local/lib</samp> in <samp>/etc/ld.so.conf</samp> before running <code>ldconfig</code>;
707 </li></ul>
709 </li><li>- <em>PowerPC MkLinux</em>
711 <p>You will need to have the latest version of <em>Xpmac</em>.
712 Older versions seem to have bugs that cause the system to hang.
713 </p>
714 </li><li>- <em>Debian GNU/Linux</em>
716 <p>If you want <em>JPEG</em> and <em>TIFF</em> support, make sure you have <samp>libtiff-dev</samp>
717 and <samp>libjpeg-dev</samp> installed.
718 </p>
719 </li><li>- <em>SuSE GNU/Linux</em>
721 <p>If you installed the <small>WINDOW MAKER</small> package from <em>SuSE</em>, uninstall it before trying to
722 compile <em>Window Maker</em> or you might have problems.
723 </p>
724 </li><li>- <em>MetroX</em> (unknown version)
726 <p><em>MetroX</em> has a bug that corrupts pixmaps that are set as window backgrounds.
727 If you use <em>MetroX</em> and have weird problems with textures, do not use textures in title bars.
728 Or use a different X server.
729 </p>
730 </li></ul>
733 <a name="I-don_0027t-have-the-root-password-_003a_0028"></a>
734 <h3 class="section">3.2 I don&rsquo;t have the <em>root</em> password :(</h3>
735 <a name="No-Root-Password"></a>
736 <p>If you can&rsquo;t get superuser privileges (can&rsquo;t be <i>root</i>) you can install <em>Window Maker</em> in your own
737 home directory.
738 For that, supply the <samp>--prefix</samp> option when running configure in step 2 of building
739 <small>WINDOW MAKER</small>.
740 You will also need to supply the <samp>--with-gnustepdir</samp> option, to specify the path for
741 <code>WPrefs.app</code>.
742 Example:
743 </p>
744 <div class="example">
745 <pre class="example">./configure --prefix=/home/jshmoe --with-gnustepdir=/home/jshmoe/GNUstep/Applications
746 </pre></div>
748 <p>Then make <samp>/home/jshmoe/bin</samp> be included in your search <code>PATH</code>, add <samp>/home/jshmoe/lib</samp>
749 to your <code>LD_LIBRARY_PATH</code> environment variable and run <code>bin/wmaker.inst</code>
750 </p>
751 <p>Of course, <samp>/home/jshmoe</samp> is supposed to be replaced by your actual home directory path.
752 </p>
754 <a name="Upgrading"></a>
755 <h3 class="section">3.3 Upgrading</h3>
757 <p>If you are upgrading from an older version of <small>WINDOW MAKER</small>:
758 </p>
759 <ol>
760 <li> Configure and build <small>WINDOW MAKER</small> as always
761 </li><li> Install <small>WINDOW MAKER</small> (but do not run <code>wmaker.inst</code>)
762 </li><li> Read the <cite>NEWS</cite> file and update your configuration files if necessary.
763 </li></ol>
766 <hr>
767 <a name="Troubleshooting"></a>
768 <a name="Troubleshooting-1"></a>
769 <h2 class="chapter">4 Troubleshooting</h2>
771 <p>When you have some trouble during configuration (while running configure), like not being able to
772 use a graphic format library you think you have installed, look at the <samp>config.log</samp> file for
773 clues of the problem.
774 </p>
776 <a name="Error-with-loading-fonts_002c-even-if-they-exist"></a>
777 <h3 class="section">4.1 Error with loading fonts, even if they exist</h3>
779 <p>This is probably a problem with NLS (Native Language Support), you probably want to look at the
780 <a href="wmaker_i18n.html#Troubleshooting">Troubleshooting</a> in <cite><samp>README.i18n</samp></cite>
781 or try rebuilding without NLS support, which is done with:
782 </p><div class="example">
783 <pre class="example">./configure LINGUAS=&quot;&quot;
784 </pre></div>
787 <a name="configure-doesn_0027t-detect-libtiff_002c-or-other-graphic-libraries"></a>
788 <h3 class="section">4.2 configure doesn&rsquo;t detect <em>libtiff</em>, or other graphic libraries</h3>
790 <p>Delete <samp>config.cache</samp>, then rerun configure adding the following options to <code>configure</code>
791 (among the other options you use):
792 </p><div class="example">
793 <pre class="example">--with-libs-from=&quot;-L/usr/local/lib&quot;
794 --with-incs-from=&quot;-I/usr/local/include -I/usr/local/include/tiff&quot;
795 </pre></div>
796 <p>Put the paths where your graphic libs and their corresponding header files are located.
797 You can put multiple paths in any of these options, as the example of <samp>--with-incs-from</samp> shows.
798 Just put a space between them.
799 </p>
801 <a name="configure-doesn_0027t-detect-libXpm"></a>
802 <h3 class="section">4.3 configure doesn&rsquo;t detect <em>libXpm</em></h3>
804 <p>Check if you have a symbolic link from <samp>libXpm.so.4.9</samp> to <samp>libXpm.so</samp>
805 </p>
807 <a name="Segmentation-fault-on-startup"></a>
808 <h3 class="section">4.4 Segmentation fault on startup</h3>
810 <ul>
811 <li> Check if the version of <em>libXPM</em> you have is at least 4.7
813 </li><li> Check if you have an updated version of <samp>~/GNUstep/Defaults/WindowMaker</samp>
814 </li></ul>
816 <p>If you&rsquo;re not sure, try renaming <samp>~/GNUstep</samp> to <samp>~/GNUtmp</samp>
817 and then run <code>wmaker.inst</code>
818 </p>
820 <a name="g_t_0022_002e_002e_002e_003a-your-machine-is-misconfigured_002e-gethostname_0028_0029-returned-_0028none_0029_0022"></a>
821 <h3 class="section">4.5 &quot;...: your machine is misconfigured. gethostname() returned (none)&quot;</h3>
823 <p>the host name of your machine is set to something invalid, that starts with a parenthesis.
824 Do a <code>man hostname</code> for info about how to set it.
825 </p>
827 <a name="The-root-menu-contains-only-2-entries_002e-_0028_0022XTerm_0022-and-_0022Exit_002e_002e_002e_0022_0029"></a>
828 <h3 class="section">4.6 The root menu contains only 2 entries. (&quot;XTerm&quot; and &quot;Exit...&quot;)</h3>
830 <p><small>WINDOW MAKER</small> could not read your menu definition file.
831 You should check the output of <code>wmaker</code> for an error, it may be visible in the console or in the
832 <samp>.xsession-errors</samp> file.
833 </p>
835 <hr>
839 </body>
840 </html>