plainblack.com
Username Password
search
Bookmark and Share
Subscribe

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 operating 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. Note that you should not install or run the WRE as root.

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 autoconf bison flex
  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. No longer needed with latest WRE (0.9.3+) -- Edit build.sh (see diff file located in the Bazaar as WRE Build Patch)
  5. Run ./build.sh --ia64 --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. 

Building 0.9.3 for ia64 on CentOS 5.5

  • Building Apache and libapreq require the UUID library which is found in the e2fsprogs-devel package.
  • ImageMagick 6.6.x is confirmed to cause a segmentation fault when adding a WebGUI Poll. ImageMagick 6.2.8-8 shall be used instead.
  • Just before running build.sh:
    • cd sources
    • rm -rf ImageMagick-6.6.x
    • wget http://sourceforge.net/projects/imagemagick/files/old-sources/6.x/6.2/ImageMagick-6.2.8-8.tar.gz/download
    • tar -zxf ImageMagick-6.2.8-8.tar.gz
    • rm -rf ImageMagic-6.2.8-8.tar.gz
    • cd ..
    • ./build.sh --ia64 --all

Keywords: 0.8.5 build debian ubuntu WRE

Search | Most Popular | Recent Changes | Wiki Home
© 2023 Plain Black Corporation | All Rights Reserved