Compiling the HTTP adaptor on Linux

Last modified by Bastian Triller on 2013/05/21 17:09

Compiling the HTTP adaptor

If no pre-built binaries exist for your platform or your version of Apache httpd, follow those instructions:

Get the source of the module (adaptor) from Wonder. You only need the Adaptors (and its subfolders) folder.


wget https://github.com/wocommunity/wonder/tarball/master
OR
curl -C - -O https://github.com/wocommunity/wonder/tarball/master

Edit make.config and change the value of ADAPTOR_OS to LINUX. (this can be found in Adaptors directory (JS)) (Adaptors directory is now under %PATH_OF_UNZIPPED_SOURCE%/Utilities )

If using modern Ubuntu (and OpenSuse 11.1 too) releases, you'll find that srandom is missing, so as mentioned on the list (JL) :


At line 46 in Adaptor/random.c, just remove the check for WIN32, and use the initialisation
code in that block.  That is, change this:

#if defined(WIN32)
  time_t now;
  time(&now);
  srand(now);
#else
  srandomdev();
#endif

to this:

  time_t now;
  time(&now);
  srand(now);

Go to the ApacheXX folder that match your Apache version. In my case, I'm using Apache 2.2 built from source and installed in /usr/local/apache.

In another case I ran 'make CC=gcc' in the Adaptors directory then moved to the Apache2.2 directory. (JS)


[root@ Adaptors]# make CC=gcc
[root@ Adaptors]# cd Apache2.2/
[root@ Apache2.2]# apxs -i -a -n WebObjects mod_WebObjects.la
[root@ Apache2.2]# cp -rp /opt/Local/Library/WebServer/Documents/WebObjects /usr/local/apache/htdocs
[root@ Apache2.2]# cp apache.conf /usr/local/apache/conf/extra/webobjects.conf

In OpenSuse 11.1, using Yast, you need to install the apache_devel, in order to get apxs2. I needed to create a symlink called apxs, pointing to apxs2, in order to run the make correctly.

ln -s /usr/sbin/apxs2 /usr/sbin/apxs