Sunday, June 14, 2009

Installing and Configuring apache flood on CentOS

I have often found that installing flood on 64 bit machine with CentOS fails.

you can follow these simple steps to install flood on your system

Download flood from

svn co http://svn.apache.org/repos/asf/httpd/flood/trunk flood

or

Browse to http://www.apache.org/dyn/closer.cgi/httpd/flood/ and download from a mirror

If you want to install on remote machine you can also

wget http://apache.mirror.facebook.net//httpd/flood/flood-0.4.tar.gz

untar the compressed file where it is downloaded on your system by issuing the following command

[root@myserver] tar zxf flood-0.4.tar.gz

dowload apr-1, and apr-1-util from http://apr.apache.org/download.cgi

wget http://apache.opensourceresources.org/apr/apr-1.3.5.tar.gz
wget http://apache.opensourceresources.org/apr/apr-util-1.3.7.tar.gz

untar both apr files as it was done for flood

[root@myserver] cd apr-1.3.5
[root@myserver] ./configure
[root@myserver] ./make
[root@myserver] ./make install

and now for apr-1-util

[root@myserver] cd ../apr-util-1.3.7
[root@myserver] ./configure
[root@myserver] ./make
[root@myserver] ./make install

after installing both apr and apr-util flood can be compiled and installed; flood is built on top of these utilities.

[root@myserver] cd ../flood-0.4
[root@myserver] ./configure --with-apr=/usr/local/src/apr-1.3.5/apr-1-config --with-apr-util=/usr/local/src/apr-util-1.3.7/apu-1-config
[root@myserver] ./make
[root@myserver] ./make install

Optionally you may have to get a shell script from http://linux.derkeiler.com/Newsgroups/linux.redhat/2005-03/0373.html if at the time of configuring you get errors like x86_64-unknown-linux-gnu': machine `x86_64-unknown' not recognized


Happy Flooding!!!

Friday, June 05, 2009

tail: cannot open `+1' for reading

$ export _POSIX2_VERSION=199209

This will fix the problem

Tuesday, April 14, 2009

Calling static class methods with uasort


class Testuasort
{
static function mysort($a, $b)
{
if ($a[0] == $b[0])
{
if($a[1] == $b[1]) return 0;
return $a[1] > $b[1] ? -1 : 1;
}
return $a[0] < $b[0] ? -1 : 1;
}

static function sortOnfield($narr)
{
uasort($narr, array(self,'mysort'));
return $narr;
}
}

?>

Further reading at http://bugs.php.net/bug.php?id=14104&edit=1

Friday, March 27, 2009

Configure failed for xml/expat , apr-util

On cent-os, redhat, fedora:

yum install expat-devel
yum install apr-devel

On ubuntu, debian

apt-get install expat-devel
apt-get install apr-devel

and then configure your application

Friday, December 12, 2008

perl Makefile.PL
Can't locate ExtUtils/MakeMaker.pm in @INC (@INC contains: /usr/lib/perl5/site_perl/5.8.8/i386-linux-thread-multi /usr/lib/perl5/site_perl/5.8.7/i386-linux-thread-multi /usr/lib/perl5/site_perl/5.8.6/i386-linux-thread-multi /usr/lib/perl5/site_perl/5.8.5/i386-linux-thread-multi /usr/lib/perl5/site_perl/5.8.8 /usr/lib/perl5/site_perl/5.8.7 /usr/lib/perl5/site_perl/5.8.6 /usr/lib/perl5/site_perl/5.8.5 /usr/lib/perl5/site_perl /usr/lib/perl5/vendor_perl/5.8.8/i386-linux-thread-multi /usr/lib/perl5/vendor_perl/5.8.7/i386-linux-thread-multi /usr/lib/perl5/vendor_perl/5.8.6/i386-linux-thread-multi /usr/lib/perl5/vendor_perl/5.8.5/i386-linux-thread-multi /usr/lib/perl5/vendor_perl/5.8.8 /usr/lib/perl5/vendor_perl/5.8.7 /usr/lib/perl5/vendor_perl/5.8.6 /usr/lib/perl5/vendor_perl/5.8.5 /usr/lib/perl5/vendor_perl /usr/lib/perl5/5.8.8/i386-linux-thread-multi /usr/lib/perl5/5.8.8 .) at Makefile.PL line 1.

BEGIN failed--compilation aborted at Makefile.PL line 1.

If you happen to encounter this error while installing a perl configured script, it may be possible that your machine doesn't have perl MakeMaker so you need to update perl and its libraries

Installation on Fedora

yum install perl-devel

on Debian/Ubuntu

apt-get install perl-devel

This would install the latest stable version of perl and its dependent libraries. After update run the command

perl Makefile.PL

I everything is all right you may see a message like this

Checking if your kit is complete...
Looks good
Writing Makefile for HTTPD::Bench::ApacheBench

ApacheBench is the package I was installing on my system.

Tuesday, November 18, 2008

Working with CVS

Though there are lot of tutorials on the internet for one to find out how to work with CVS. I would like to put few handy commands that I have found it difficult to recall when needed. That's going to save some time at least.

How do I checkout a branch?
cvs [-d /<cvs directory>] checkout -r <branch name> <release name>

This would checkout your files in the folder

How do I checkout a single file from cvs?
cvs
[-d /<cvs directory>] co <release name>/<path to file>

NB: Text within <> symbols have to be replaced with actual names as they exist on your CVS repository.

Monday, May 19, 2008

nawk - where to find it?

If at the time of configuring your program on linux the configure script says "nawk not found" you don't need to panic, though there is every reason to be, as, if your program requires you must provide. For achieving that you should create a soft link to awk as nawk


ln -s /usr/awk /usr/nawk


configure make and install