Compiling Openbox should be a relatively painless experience. You will need the following packages:
- C compiler (such as GCC)
- Libc library and headers (development package)
- Xlib library and headers (development package)
- Xext and Xrandr library and headers (development package) - optional but recommended
- Glib-2 library and headers (development package)
- LibXML-2 library and headers (development package)
- Pango library and headers (development package)
- Imlib2 (development package) - optional but recommended
- Startup-notification library and headers (development package) - optional but recommended
- XCursor library and headers (development package) - optional but recommended
These should all be available through your distribution.
Dependencies in Ubuntu and Debian
In Ubuntu and Debian, install the following packages:
Note: 'xlibs-dev' is no longer available in in Ubuntu 8.04 LTS 'Hardy' repositories, but 'xlibs-static-dev' is.
If you want to hook in the Debian menu, you'll also want:
Dependencies in Fedora
In Fedora Core 6 or Fedora 7, install the following packages:
Building and installing the program
Once you have the above dependancies installed, you are ready to build Openbox. Untar the Openbox archive and from inside the source tree, run:
% ./configure --prefix=/usr --sysconfdir=/etc ...configure detects the build evironment... % make ...openbox builds... % sudo make install ...openbox installs...
If you do not want to install to
/usr, then you should use
./configure --prefix=<whatever you want> --sysconfdir=/etc --datarootdir=/usr/share. If you don't do this, the Openbox log in options will not be available, because they need to be installed to
If the configure command fails and the reason is not obvious, you should look in the generated
config.log file to discover the cause of the problem.
For 64-bit distributions
When building Openbox on the 64-bit versions of Debian, Ubuntu or Fedora, use:
% ./configure --prefix=/usr --sysconfdir=/etc --libdir=/usr/lib64 % make % sudo make install
For CentOS 5.3
# yum install automake autoconf glib2-devel pango-devel startup-notification-devel libXcursor-devel libXfixes-devel libSM-devel libxml2-devel gcc-c++.i386 gcc.i386 # ./configure --prefix=/usr --sysconfdir=/etc # make # make install