WebGUI
      Click here to register.
      
Sprechen Sie WebGUI? Parlez vous WebGUI? Se habla WebGUI? Spreekt u WebGUI?

Do you speak WebGUI? Please help us translate WebGUI into your language.


WRE-Building

If there is no precompiled binary of the WRE for your operating system you may have to build it from source. Luckily it shouldn't be too hard. These instructions will show you the way.

NOTE: In case you didn't read the first sentence: You shouldn't have to read or use these instructions. Proceed to the installation phase if there is already a binary for your oprerating system.  And as always, we are talking, here, about building The WebGUI Runtime Environment, not WebGUI proper, which -- since it's written in perl -- is always installed as source code and interpreted.

Prerequisites

The WRE only requires things you should already have on your system anyway. So you should be able to skip directly to the next step. However, we'll provide a short list here anyway just so you have it. These are the WRE prereqs:

  • gcc
  • glibc
  • g++
  • bash
  • zlib
  • ncurses-devel
  • and the standard GNU build tools such as libtool, make,  etc

Simple Build

To build the WRE for your platform follow these simple steps.

1) Download wre-x.x.x-source.tar.gz

2)  Extract the source

tar xvfz wre-x.x.x-source.tar.gz

3) Make a /data folder and make it writable by you

sudo mkdir /data
sudo chown you /data

4) Run build.sh

cd /path/to/wrebuild
./build.sh --all

5) Now sit back and wait for it to complete. This process can take between 1 and 6 hours depending upon the speed of your system.

5a) XML::SAX may ask if you want it to edit ParserConfig.ini. Accept the default answer.

That's it. You should now have a fully functional WRE build. Now you can read the install.txt file in /data/wre/docs/install.txt. 

Build Options

Perhaps because you like doing stuff the hard way, or perhaps because you are troubleshooting a build problem, we provide a series of options that you can run for a less simple build process.

First and foremost you can find the complete list of build options, by typing:

./build.sh --help

You can then choose to build one thing at a time like this:

./build.sh --clean
./build.sh --perl
./build.sh --apache

Or you can build a few things at a time like this:

./build.sh --perl --apache

NOTE: The build system does not keep track of the order in which you passed in these arguments, so it is possible that they will build out of order, and therefore not build properly. Some of the build steps have prerequisites. Here's a list of those:

Perl: none

Apache: Perl

MySQL: Perl, Apache (for OpenSSL)

Image Magick: Perl

AWStats: Perl

WRE: Perl

Perl Modules: Perl, Apache, MySQL, Image Magick

 
In short: build perl first and the perl modules last, separately.  You can build any of the other components in any combination you like.
 

Building for AMD64 on Ubuntu 7.04 (Feisty Fawn) - 8.04 (Hardy Heron)

  1. Install Ubuntu packages of the tools I'll need to complete the job
    1. apt-get install build-essential ncurses-dev
  2. Relink /bin/sh to /bin/bash instead of dash (just to be on the safe side as dash is not 100% compatibile with bash)
    1. mv /bin/sh /bin/sh.dash
    2. ln -s /bin/bash /bin/sh
  3. Unpack WRE tar file
  4. Edit build.sh (see diff file -- this keeps getting removed when I attach it; post a message to Upgrade forum if you want this patch)
  5. Run ./build.sh --all
  6. Wait....
  7. Continue with install instructions in Installing WRE 0.8.0, starting with the WRE Console

Trouble-shooting

  • If the build dies on compiling Perl (specifically when doing depends checking on x2p), double-check that you have correctly relinked /bin/sh to /bin/bash. Perl will not compile using the /bin/dash shell.
  • If you continue to get the following error, "make[1]: Entering directory `/data/wrebuild/source/perl-5.8.8/x2p' \n You haven't done a "make depend" yet!", remove the .depending directory as follows:
        rm source/perl-5.8.8/x2p/.depending
  • If you get the following error:
      make[1]: *** No rule to make target `<command-line>', needed by `hash.o'.  Stop.
    Delete all of the lines with <command-line> in makefile and x2p/makefile as posted here.

Building 0.8.1 for i386 on Debian Etch 4.0 

Take an empty debian Etch 4.0 installation

apt-get update ; apt-get upgrade
sudo apt-get install gcc libc6 g++ bash zlib1g libncurses-dev libtool make automake flex bison
sudo mkdir /data
sudo chown yourusername:yourusername /data
mkdir ~/src
cd ~/src
wget pbwebgui/wre-0.8.1-source.tar.gz
tar zxf wre-0.8.1-source.tar.gz
cd wrebuild/
./build.sh --all

That's it. 


Keywords: build ubuntu wre 0.8.1 debian 0.8.0