Your milage may vary but this is what I did to get Net::SSLeay installed and
running for use w/ ldirectord (in order to monitor/load balance https w/ IPVS)
on RH9.
Cheers,
James
=== Original Build Error
This was the original error I was getting when attempting to install
Net::SSLeay on RedHat 9:
<snip>
Checking for OpenSSL-0.9.6g or newer...
You have OpenSSL-0.9.7a installed in /usr
That's is newer than what this module was tested with (0.9.6g). You should
consider checking if there is a newer release of this module
available. Everything will probably work OK, though.
*** Could not figure out which C compiler was used to compile /usr/bin/openssl.
It is essentiall that OpenSSL, perl, and Net::SSLeay are compiled with the same
compiler and flags. Mixing and matching compilers is not supported. at Makefile.
PL line 132.
Checking if your kit is complete...
Looks good
Checking if your kit is complete...
Looks good
Warning: I could not locate your pod2man program. Please make sure,
your pod2man program is in your PATH before you execute 'make'
Writing Makefile for Net::SSLeay::Handle
Warning: I could not locate your pod2man program. Please make sure,
your pod2man program is in your PATH before you execute 'make'
Writing Makefile for Net::SSLeay
Makefile:88: *** missing separator. Stop.
</snip>
=== Minimal RH9 Packages
Make sure you have the following RH9 packages installed (or grab them via
up2date):
openssl-devel-0.9.7a-5.i386.rpm
openssl-0.9.7a-5.i686.rpm
krb5-libs-1.2.7-14.i386.rpm
krb5-devel-1.2.7-14.i386.rpm
up2date --nox openssl openssl-devel krb5-libs krb5-devel
=== Correct Your Locale
RH9 suffers from many of the same ills as RH8 when it comes to the broken
UTF8/unicode handling. My default locale is en_AU.UTF-8. This causes the
"missing pod2man" warnings above and results in the generation of a totally
broken makefile. Hence:
export LANG=C
See: https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=87682
=== Build Net::SSLeay
Download Net_SSLeay.pm-1.22.tar.gz from:
http://search.cpan.org/author/SAMPO/Net_SSLeay.pm-1.22/
tar xvzf Net_SSLeay.pm-1.22.tar.gz
Download the leak patch for ldirectord from:
http://marc.theaimsgroup.com/?l=linux-virtual-server&m=103776170206501&w=2
The leak patch here is for v1.21 of Net::SSLeay but patches clean against
v1.22:
cd Net_SSLeay.pm-1.22
patch -p1 < patchfile
Now fix the missing paths in Makefile.PL (line 167 or thereabouts to read):
INC => "-I /usr/kerberos/include -I$openssl_path/include
-I$openssl_path/inc32"
Now build Net::SSLeay (I like doing these as individual steps):
perl Makefile.PL (you will still get the mismatched compilers warning)
make test (make sure you have an internet connection handy)
make install
=== Update your ldirectord.conf for https
For example:
virtual = 10.10.2.5:443
real = 10.10.2.20:443 gate 5
real = 10.10.2.21:443 gate 5
service = https
scheduler = rr
protocol = tcp
=== Note on Mismatched Compiler Warnings
These stem from perl and OpenSSL being compiled with differing versions of
gcc! To get around this download the SSLeay 0.9.7b sources (from
http://www.openssl.org/) and build and compile into /usr/local/ssl. Then
repeat the above process for compiling Net::SSLeay.
|