Thursday 15 March 2007

FSG3 Storage Box and Apache

I'm trying to get the Simplemachines Forum working properly on my FSG-3, with the new 2.6 kernel.

Nearly everything works, except for the graphical verification during registration.

This boils down to the missing 'GD Module' support. The installed version of apache is a mini-version, with a few compiled in modules, and excludes the graphics one.

Unfortunately, the apache in the ipkg feed does not have this feature either, so I begin my quest to cross-compile apache.

I have already got the crosstools installed, and have GCC-3.4.4 with GLIBC-2.3.6 for armeb installed (required for the FSG3v4).

The steps taken are:

  • Download the Apache source
  • Download the GDLib Module
  • Build the APR and APR-UTILS programs and install
  • Configure Apache for cross-compiling
  • Build

Download the Apache source

The Apache HTTPD source can easily be found on the Apache Website.

Download the GDLib Module

...

Build the APR and APR-UTILS programs and install

Apache is a bit stupid when you try and build it for a cross-compiling architecture. If apr and apr-utils are not installed, it will try and compile them for the destination processor, and then complain that they won't execute on the local processor.

It is important to install these apps before configuring Apache.

Ensure that the native machine's gcc is in the path, and:

cd apache-source-directory
su -
( cd srclib/apr ; ./configure --prefix=/usr/local/apr-httpd/ ;
make ; make install )
( cd srclib/apr-util ; ./configure --prefix=/usr/local/apr-util-httpd/ --with-apr=/us/local/apr-httpd/ ; make ; make install
)

Configure Apache for Cross-Compiling

Configure HTTPD

cd ../../
./configure --with-apr=/usr/local/apr-httpd/ --with-apr-util=/usr/local/apr-util-httpd/

Build