mirror of
https://github.com/gryf/wmaker.git
synced 2025-12-19 20:38:08 +01:00
doc: update information in the Installation Manual
- update the list of supported platforms according to current known status; - updated URL links to all dependencies to the current known URL; - moved the dependency on Autotools to a dedicated section, because it is not supposed to be necessary for people compiling from the distributed source archive, and updated the version according to current status; - extended the chapter on getting the sources to contain all info that could be needed; - added a note about compiler requirement to ease understanding the actual requirements; - documented some long-time known dependancies (libbsd, inotify, boehm gc); - fixed a few strings here and there; - made an appropriate reference to the README.i18n for the troubleshooting of NLS. Signed-off-by: Christophe CURIS <christophe.curis@free.fr>
This commit is contained in:
committed by
Carlos R. Mafra
parent
5cb1df5e27
commit
cfba824ed4
127
doc/build/Compilation.texi
vendored
127
doc/build/Compilation.texi
vendored
@@ -107,7 +107,9 @@ This manual is for Window Maker, version @value{version}.
|
|||||||
@section Supported Platforms
|
@section Supported Platforms
|
||||||
|
|
||||||
@itemize -
|
@itemize -
|
||||||
@item Intel GNU/Linux Systems in general
|
@item Intel GNU/Linux Systems in general, @t{ix86} and @t{x86_64} but other architectures should work
|
||||||
|
@item BSD systems
|
||||||
|
@item Solaris, at least on release 10 and 11
|
||||||
@end itemize
|
@end itemize
|
||||||
|
|
||||||
Patches to make it work on other platforms are welcome.
|
Patches to make it work on other platforms are welcome.
|
||||||
@@ -132,38 +134,52 @@ the server.
|
|||||||
@item Basic obvious stuff
|
@item Basic obvious stuff
|
||||||
|
|
||||||
@itemize
|
@itemize
|
||||||
@item @emph{gcc} (or some other ANSI C compiler)
|
@item @emph{gcc} (or some other ANSI C compiler, supporting some C99 extensions)
|
||||||
@item @emph{glibc} development files (usually @file{glibc-devel} in Linux distributions)
|
@item @emph{glibc} development files (usually @file{glibc-devel} in Linux distributions)
|
||||||
@item @emph{X} development files (@file{XFree86-devel} or something similar)
|
@item @emph{X} development files (@file{XFree86-devel} or something similar)
|
||||||
@end itemize
|
@end itemize
|
||||||
|
|
||||||
@item @emph{autoconf}, @emph{automake} and @emph{libtool}
|
|
||||||
@itemize
|
|
||||||
@item autoconf 2.54
|
|
||||||
@item automake 1.4
|
|
||||||
@item libtool 1.4.2
|
|
||||||
@end itemize
|
|
||||||
|
|
||||||
@item @emph{Xft2} and its dependencies
|
@item @emph{Xft2} and its dependencies
|
||||||
|
|
||||||
Dependencies include @emph{freetype2} and @emph{fontconfig}.
|
Dependencies include @emph{freetype2} and @emph{fontconfig}.
|
||||||
You will also need the development files for them (@file{xft2-devel}).
|
You will also need the development files for them (@file{xft2-devel}).
|
||||||
|
Sources are available at: @uref{http://www.freedesktop.org/wiki/Software/Xft/}
|
||||||
|
|
||||||
@end itemize
|
@end itemize
|
||||||
|
|
||||||
|
@noindent @b{Note}:
|
||||||
|
@sc{Window Maker} is known to compile with @emph{gcc} and @emph{clang};
|
||||||
|
the code source is mostly ANSI C (also known as C89 and C90) but is uses very few of the C99
|
||||||
|
novelties;
|
||||||
|
it also uses a few attributes introduced in the C11 standard but those are detected automatically,
|
||||||
|
so most compilers should work.
|
||||||
|
|
||||||
|
|
||||||
|
@section Special Dependencies
|
||||||
|
@anchor{Special Dependencies}
|
||||||
|
|
||||||
|
|
||||||
|
If you want to compile using the sources from the git repository instead of the distribution
|
||||||
|
package, you will also need:
|
||||||
|
@itemize
|
||||||
|
@item @emph{git}
|
||||||
|
@item @emph{autoconf} 2.69
|
||||||
|
@item @emph{automake} 1.11
|
||||||
|
@item @emph{libtool} 1.4.2
|
||||||
|
@end itemize
|
||||||
|
|
||||||
|
|
||||||
@section Optional Dependencies
|
@section Optional Dependencies
|
||||||
|
|
||||||
These libraries are not required to make @sc{Window Maker} work, but they are supported in case you
|
These libraries are not required to make @sc{Window Maker} work, but they are supported in case you
|
||||||
want to use them. Version numbers are those that I have (and therefore, guaranteed to work), but
|
want to use them. Version numbers are indicative, but other versions might work too.
|
||||||
other versions might work too.
|
|
||||||
|
|
||||||
@itemize -
|
@itemize -
|
||||||
@item @emph{libXPM} 4.7 or newer
|
@item @emph{libXPM} 4.7 or newer
|
||||||
|
|
||||||
Older versions may not work!
|
Older versions may not work!
|
||||||
|
|
||||||
Available at @uref{ftp://sunsite.unc.edu/pub/Linux/libs/X/}
|
Available from @uref{http://xlibs.freedesktop.org/release/}
|
||||||
|
|
||||||
There is built-in support for @emph{XPM} files, but it will not
|
There is built-in support for @emph{XPM} files, but it will not
|
||||||
load images in some uncommon encodings.
|
load images in some uncommon encodings.
|
||||||
@@ -171,28 +187,60 @@ load images in some uncommon encodings.
|
|||||||
@item @emph{libpng} 0.96 or newer and @emph{zlib}
|
@item @emph{libpng} 0.96 or newer and @emph{zlib}
|
||||||
|
|
||||||
For @emph{PNG} image support,
|
For @emph{PNG} image support,
|
||||||
@uref{http://www.cdrom.com/pub/png/}
|
@uref{http://www.libpng.org/pub/png/libpng.html}
|
||||||
|
|
||||||
@item @emph{libtiff} 3.4 or newer
|
@item @emph{libtiff} 3.4 or newer
|
||||||
|
|
||||||
For @emph{TIFF} image support,
|
For @emph{TIFF} image support,
|
||||||
You can get it at @uref{ftp://ftp.sgi.com/graphics/tiff}
|
@uref{http://www.libtiff.org/}
|
||||||
|
|
||||||
@item @emph{libjpeg} 6.0.1 or newer
|
@item @emph{libjpeg} 6.0.1 or newer
|
||||||
|
|
||||||
For @emph{JPEG} image support,
|
For @emph{JPEG} image support,
|
||||||
@uref{http://www.ijg.org/}
|
@uref{http://www.ijg.org/}
|
||||||
|
|
||||||
|
Note that if you don't have it, @command{configure} will issue a big warning in the end,
|
||||||
|
this is because JPEG images are often used in themes and for background images
|
||||||
|
so you probably want this format supported.
|
||||||
|
|
||||||
@item @emph{libgif} 2.2 or @emph{libungif}
|
@item @emph{libgif} 2.2 or @emph{libungif}
|
||||||
|
|
||||||
For @emph{GIF} image support,
|
For @emph{GIF} image support,
|
||||||
@uref{ftp://prtr-13.ucsc.edu/pub/libungif/}
|
@uref{http://giflib.sourceforge.net/}
|
||||||
|
|
||||||
@item @emph{GNU xgettext}
|
@item @emph{GNU xgettext}
|
||||||
|
|
||||||
If you want to use translated messages, you will need @emph{GNU gettext}.
|
If you want to use translated messages, you will need @emph{GNU gettext}.
|
||||||
Other versions of @emph{gettext} are not compatible and will not work.
|
Other versions of @emph{gettext} are not compatible and will not work.
|
||||||
Get the @emph{GNU} version from @uref{ftp://ftp.gnu.org}
|
Get the @emph{GNU} version from @uref{http://www.gnu.org/software/gettext/}
|
||||||
|
|
||||||
|
@item @emph{libbsd}
|
||||||
|
|
||||||
|
This library can be used by the @emph{WINGs} utility library to make use of @command{strlcat} and
|
||||||
|
@command{strlcpy} instead of using built-in functions if your system does not provide them in its
|
||||||
|
core @emph{libc}.
|
||||||
|
You should let @sc{Window Maker}'s @command{configure} detect this for you.
|
||||||
|
You can get it from @uref{http://libbsd.freedesktop.org/wiki/}
|
||||||
|
|
||||||
|
@item @emph{Inotify}
|
||||||
|
|
||||||
|
If you have Linux's @emph{inotify} support, @sc{Window Maker} will use it to check for configuration
|
||||||
|
updates instead of polling regularly the file.
|
||||||
|
The needed header comes with the kernel, typical packages names include:
|
||||||
|
@itemize
|
||||||
|
@item @file{kernel-headers} for @emph{Slackware} and @emph{Fedora}
|
||||||
|
@item @file{linux-userspace-headers} for @emph{Mageia}
|
||||||
|
@item @file{linux-libc-dev} for @emph{Debian} and @emph{Ubuntu}
|
||||||
|
@item @file{linux-glibc-devel} for @emph{OpenSuSE}
|
||||||
|
@end itemize
|
||||||
|
|
||||||
|
@item @emph{Boehm GC}
|
||||||
|
|
||||||
|
This library can be used by the @emph{WINGs} utility toolkit to use a
|
||||||
|
@cite{Boehm-Demers-Weiser Garbage Collector} instead of the traditional
|
||||||
|
@command{malloc}/@command{free} functions from the @emph{libc}.
|
||||||
|
You have to explicitly ask for its support though (@pxref{Configure Options}).
|
||||||
|
You can get it from @uref{http://www.hboehm.info/gc/}
|
||||||
|
|
||||||
@end itemize
|
@end itemize
|
||||||
|
|
||||||
@@ -203,14 +251,22 @@ Get the @emph{GNU} version from @uref{ftp://ftp.gnu.org}
|
|||||||
|
|
||||||
@section Getting the Sources
|
@section Getting the Sources
|
||||||
|
|
||||||
The latest version of @sc{Window Maker} (@t{-crm}) can be found in the git repository at
|
The latest version of @sc{Window Maker} (@t{-crm}) can be downloaded from
|
||||||
|
@uref{http://www.windowmaker.org/}
|
||||||
|
|
||||||
|
Alternatively, the development branch, called @t{#next} is in the @emph{git} repository at
|
||||||
@uref{http://repo.or.cz/w/wmaker-crm.git}
|
@uref{http://repo.or.cz/w/wmaker-crm.git}
|
||||||
|
|
||||||
If you downloaded the git versions, type
|
If you want to use the @emph{git} versions, you can get it with:
|
||||||
|
@example
|
||||||
|
git clone -b next git://repo.or.cz/wmaker-crm.git
|
||||||
|
@end example
|
||||||
|
@noindent then, assuming you have the dependencies listed in @ref{Special Dependencies}, you have to
|
||||||
|
type:
|
||||||
@example
|
@example
|
||||||
./autogen.sh
|
./autogen.sh
|
||||||
@end example
|
@end example
|
||||||
@noindent to generate the config files.
|
@noindent to generate the configuration script.
|
||||||
|
|
||||||
|
|
||||||
@section Build and Install
|
@section Build and Install
|
||||||
@@ -229,8 +285,8 @@ make install
|
|||||||
ldconfig
|
ldconfig
|
||||||
@end example
|
@end example
|
||||||
|
|
||||||
@noindent or if you want to strip the debugging symbols from the binaries and make them
|
@noindent or if you want to strip the debugging symbols from the binaries to make them smaller,
|
||||||
smaller, you can instead type:
|
you can type instead:
|
||||||
|
|
||||||
@example
|
@example
|
||||||
make install-strip
|
make install-strip
|
||||||
@@ -249,7 +305,7 @@ Also run:
|
|||||||
./configure --help
|
./configure --help
|
||||||
@end example
|
@end example
|
||||||
|
|
||||||
to get a complete listing of other options that are available.
|
to get a complete list of options that are available.
|
||||||
|
|
||||||
@item
|
@item
|
||||||
Run configure with the options you want.
|
Run configure with the options you want.
|
||||||
@@ -328,7 +384,7 @@ some @sc{Window Maker} features. Example:
|
|||||||
will configure @sc{Window Maker} with @emph{modelock} supported and disable @emph{gif} support.
|
will configure @sc{Window Maker} with @emph{modelock} supported and disable @emph{gif} support.
|
||||||
Normally, you won't need any of them.
|
Normally, you won't need any of them.
|
||||||
|
|
||||||
To get a list of other options, run @command{./configure --help}
|
To get the list of all options, run @command{./configure --help}
|
||||||
|
|
||||||
@table @option
|
@table @option
|
||||||
@item --disable-gif
|
@item --disable-gif
|
||||||
@@ -422,12 +478,12 @@ and @file{libjpeg-dev} installed.
|
|||||||
@item @emph{SuSE GNU/Linux}
|
@item @emph{SuSE GNU/Linux}
|
||||||
|
|
||||||
If you installed the @sc{Window Maker} package from @emph{SuSE}, uninstall it before trying to
|
If you installed the @sc{Window Maker} package from @emph{SuSE}, uninstall it before trying to
|
||||||
compile @emph{wmaker} or you might have problems.
|
compile @emph{Window Maker} or you might have problems.
|
||||||
|
|
||||||
@item @emph{MetroX} (unknown version)
|
@item @emph{MetroX} (unknown version)
|
||||||
|
|
||||||
@emph{MetroX} has a bug that corrupts pixmaps that are set as window backgrounds.
|
@emph{MetroX} has a bug that corrupts pixmaps that are set as window backgrounds.
|
||||||
If you use @emph{MetroX} and has weird problems with textures, do not use textures in title bars.
|
If you use @emph{MetroX} and have weird problems with textures, do not use textures in title bars.
|
||||||
Or use a different X server.
|
Or use a different X server.
|
||||||
|
|
||||||
@end itemize
|
@end itemize
|
||||||
@@ -446,7 +502,7 @@ Also there is a @file{WindowMaker-extra.readme} to instruct you where that packa
|
|||||||
@section I don't have the @emph{root} password :(
|
@section I don't have the @emph{root} password :(
|
||||||
@anchor{No Root Password}
|
@anchor{No Root Password}
|
||||||
|
|
||||||
If you can't get superuser privileges (can't be @i{root}) you can install @emph{wmaker} in your own
|
If you can't get superuser privileges (can't be @i{root}) you can install @emph{Window Maker} in your own
|
||||||
home directory.
|
home directory.
|
||||||
For that, supply the @option{--prefix} option when running configure in step 2 of building
|
For that, supply the @option{--prefix} option when running configure in step 2 of building
|
||||||
@sc{Window Maker}.
|
@sc{Window Maker}.
|
||||||
@@ -461,7 +517,7 @@ Example:
|
|||||||
Then make @file{/home/jshmoe/bin} be included in your search @env{PATH}, add @file{/home/jshmoe/lib}
|
Then make @file{/home/jshmoe/bin} be included in your search @env{PATH}, add @file{/home/jshmoe/lib}
|
||||||
to your @env{LD_LIBRARY_PATH} environment variable and run @command{bin/wmaker.inst}
|
to your @env{LD_LIBRARY_PATH} environment variable and run @command{bin/wmaker.inst}
|
||||||
|
|
||||||
Of course, @file{/home/jshmoe} is supposed to be replaced with your actual home directory path.
|
Of course, @file{/home/jshmoe} is supposed to be replaced by your actual home directory path.
|
||||||
|
|
||||||
|
|
||||||
@section Upgrading
|
@section Upgrading
|
||||||
@@ -486,7 +542,12 @@ clues of the problem.
|
|||||||
|
|
||||||
@section Error with loading fonts, even if they exist
|
@section Error with loading fonts, even if they exist
|
||||||
|
|
||||||
Try rebuilding without NLS support.
|
This is probably a problem with NLS (Native Language Support), you probably want to look at the
|
||||||
|
@ref{Troubleshooting,,,wmaker_i18n,@file{README.i18n}}
|
||||||
|
or try rebuilding without NLS support, which is done with:
|
||||||
|
@example
|
||||||
|
./configure LINGUAS=""
|
||||||
|
@end example
|
||||||
|
|
||||||
|
|
||||||
@section Error when configuring
|
@section Error when configuring
|
||||||
@@ -498,14 +559,8 @@ configure: error: libtool configure failed
|
|||||||
@end example
|
@end example
|
||||||
|
|
||||||
remove the @option{--no-reexec} option from @file{aclocal.m4} and reconfigure.
|
remove the @option{--no-reexec} option from @file{aclocal.m4} and reconfigure.
|
||||||
Also make sure the @emph{autoconf} and @emph{automake} versions you have installed are:
|
Also make sure the @emph{autoconf}, @emph{automake} and @emph{libtool} versions you have installed are in line with the versions
|
||||||
@itemize
|
listed in @ref{Special Dependencies}.
|
||||||
@item @emph{autoconf} 2.13
|
|
||||||
@item @emph{automake} 1.4
|
|
||||||
@item @emph{libtool} 1.3
|
|
||||||
@end itemize
|
|
||||||
|
|
||||||
Note that it must not be @emph{libtool} 1.2b, it must be @emph{libtool} 1.3, from the GNU sites.
|
|
||||||
|
|
||||||
|
|
||||||
@section configure doesn't detect @emph{libtiff}, or other graphic libraries
|
@section configure doesn't detect @emph{libtiff}, or other graphic libraries
|
||||||
|
|||||||
Reference in New Issue
Block a user