You are viewing a plain text version of this content. The canonical link for it is here.
Posted to modperl@perl.apache.org by Wayne Pascoe <mo...@penguinpowered.org.uk> on 2002/03/23 01:17:52 UTC

Problems installing on Solaris 8

Hi all,

I'm trying to build mod_perl 1.26 and Apache 1.3.24 on Solaris 8. I
have Perl 5.6.1 on the machine. I am building mod_perl as follows:

perl Makefile.PL EVERYTHING=1 \
APACHE_SRC=../apache_1.3.24/src USE_APACI=1 \
PREP_HTTPD=1 DO_HTTPD=1

make
make install

I then change into the apache_1.3.24 directory and do

./configure --prefix=/usr/local/apache \
--enable-module=all --enable-shared=max \
--activate-module=src/modules/perl/libperl.a 
--enable-module=perl --disable-shared=perl

make
make install

This all goes well, and I end up with an Apache installation in
/usr/local/apache. However, I cannot start this. Doing a httpd -t
gives me the following error:
 [7:13pm]# bin/httpd -t
Syntax error on line 231 of /usr/local/apache/conf/httpd.conf:
Cannot load /usr/local/apache/libexec/mod_auth_db.so into server:
ld.so.1: bin/httpd: fatal: relocation error: file
/usr/local/apache/libexec/mod_auth_db.so: symbol db_open: referenced
symbol not found

If I comment out the mod_auth_db lines in my config and try again I
get :
 [7:14pm]# ../bin/httpd -t
Syntax error on line 233 of /usr/local/apache/conf/httpd.conf:
Cannot load /usr/local/apache/libexec/libproxy.so into server:
ld.so.1: ../bin/httpd: fatal: relocation error: file
/usr/local/apache/libexec/libproxy.so: symbol __floatdisf: referenced
symbol not found

When I comment this one out, the server starts. But I need mod_proxy
for this site :(

This only seems to happen on Solaris. I've tested on FreeBSD 4.3,
FreeBSD 4.5 and Debian GNU/Linux (Woody) and not been able to
replicate this error. However doing the above steps on another Solaris
8 box seems to have the same problems.

Any advice on this would be much appreciated.

Regards,

-- 
- Wayne Pascoe
                                 | The time for action is passed.
mod_perl@penguinpowered.org.uk   | Now is the time for senseless 
http://www.molemanarmy.com       | bickering.
                                 | 

Re: Problems installing on Solaris 8

Posted by The Wizkid <wi...@spamcop.net>.
Wayne Pascoe wrote:
> The Wizkid <wi...@spamcop.net> writes:
> 
> 
>>Opps, I forgot some stuff
>>Use this on the make command
>>
>>
>>  LIBS=" -L/opt/local/lib  -lssl -lcrypto " \
>>    INCLUDES=" -I/opt/local/include " \
>>    make
>>
>>string I'm using is:
> 
> 
> A locate libssl shows it to be in /usr/local/openssl/lib
> libcrypto looks to be in /usr/local/lib. What should I set the LIBS
> line to in this case ? I've just tried " -L/usr/local/openssl/lib \
> -L/usr/local/lib -l libssl -lcrypto"
> 
> with no luck.
> 
> 
>>env  SSL_BASE="/opt/local" \
>>    CFLAGS="-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64" \
>>    LIBS=" -L/opt/local/lib  -lssl -lcrypto " \
>>    INCLUDES=" -I/opt/local/include " \
>>    OPTIM="-O2" make
>>
>>You need this if Perl and Apache is compiled with the bigfiles option.
> 
> 
> How can I find out if perl was configured with the bigfiles option? Is
> there anyway to see these if I don't have the original config files
> from the source directory ?

perl -V will tell you I believe.    I don't think mod_perl uses the ssl 
stuff.  The error is actually comming from mod_auth_db.so, according to 
your original message.  If you go into the conf file, and comment out 
this module, (line 231 of course) your http server Might start, with 
your mod_perl module. ALSO -- I'm kinda rusty on getting the modules and 
stuff compiled.  Someone else on this list might chime up and come up 
with lots of better answers.
	W.Kid


> 
> I've tried the above without the LARGEFILE stuff, but still no luck :(
> I'll try some more in the morning. 
>  
> Thanks for that :)
> 




Re: Problems installing on Solaris 8

Posted by Wayne Pascoe <mo...@penguinpowered.org.uk>.
The Wizkid <wi...@spamcop.net> writes:

> Opps, I forgot some stuff
> Use this on the make command
> 
> 
>   LIBS=" -L/opt/local/lib  -lssl -lcrypto " \
>     INCLUDES=" -I/opt/local/include " \
>     make
> 
> string I'm using is:

A locate libssl shows it to be in /usr/local/openssl/lib
libcrypto looks to be in /usr/local/lib. What should I set the LIBS
line to in this case ? I've just tried " -L/usr/local/openssl/lib \
-L/usr/local/lib -l libssl -lcrypto"

with no luck.

> env  SSL_BASE="/opt/local" \
>     CFLAGS="-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64" \
>     LIBS=" -L/opt/local/lib  -lssl -lcrypto " \
>     INCLUDES=" -I/opt/local/include " \
>     OPTIM="-O2" make
> 
> You need this if Perl and Apache is compiled with the bigfiles option.

How can I find out if perl was configured with the bigfiles option? Is
there anyway to see these if I don't have the original config files
from the source directory ?

I've tried the above without the LARGEFILE stuff, but still no luck :(
I'll try some more in the morning. 
 
Thanks for that :)

-- 
- Wayne Pascoe
                                 | 'tis far easier to get forgiveness than 
mod_perl@penguinpowered.org.uk   | it is to get permission - probably someone
http://www.molemanarmy.com       | famous, but more often, my Dad.
                                 | 

Re: Problems installing on Solaris 8

Posted by The Wizkid <wi...@spamcop.net>.
The Wizkid wrote:
> Wayne Pascoe wrote:
> 
>> Hi all,
>>
>> I'm trying to build mod_perl 1.26 and Apache 1.3.24 on Solaris 8. I
>> have Perl 5.6.1 on the machine. I am building mod_perl as follows:
>>
>> perl Makefile.PL EVERYTHING=1 \
>> APACHE_SRC=../apache_1.3.24/src USE_APACI=1 \
>> PREP_HTTPD=1 DO_HTTPD=1
>>
>> make
>> make install
>>
>> I then change into the apache_1.3.24 directory and do
>>
>> ./configure --prefix=/usr/local/apache \
>> --enable-module=all --enable-shared=max \
>> --activate-module=src/modules/perl/libperl.a --enable-module=perl 
>> --disable-shared=perl
>>
>> make
>> make install
>>
>> This all goes well, and I end up with an Apache installation in
>> /usr/local/apache. However, I cannot start this. Doing a httpd -t
>> gives me the following error:
>>  [7:13pm]# bin/httpd -t
>> Syntax error on line 231 of /usr/local/apache/conf/httpd.conf:
>> Cannot load /usr/local/apache/libexec/mod_auth_db.so into server:
>> ld.so.1: bin/httpd: fatal: relocation error: file
>> /usr/local/apache/libexec/mod_auth_db.so: symbol db_open: referenced
>> symbol not found
>>
>> If I comment out the mod_auth_db lines in my config and try again I
>> get :
>>  [7:14pm]# ../bin/httpd -t
>> Syntax error on line 233 of /usr/local/apache/conf/httpd.conf:
>> Cannot load /usr/local/apache/libexec/libproxy.so into server:
>> ld.so.1: ../bin/httpd: fatal: relocation error: file
>> /usr/local/apache/libexec/libproxy.so: symbol __floatdisf: referenced
>> symbol not found
>>
>> When I comment this one out, the server starts. But I need mod_proxy
>> for this site :(
>>
>> This only seems to happen on Solaris. I've tested on FreeBSD 4.3,
>> FreeBSD 4.5 and Debian GNU/Linux (Woody) and not been able to
>> replicate this error. However doing the above steps on another Solaris
>> 8 box seems to have the same problems.
>>
>> Any advice on this would be much appreciated.
>>
>> Regards,
>>
> 
> This one is easy.  Include the ssl library with

Opps, I forgot some stuff
Use this on the make command


  LIBS=" -L/opt/local/lib  -lssl -lcrypto " \
    INCLUDES=" -I/opt/local/include " \
    make

string I'm using is:

env  SSL_BASE="/opt/local" \
    CFLAGS="-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64" \
    LIBS=" -L/opt/local/lib  -lssl -lcrypto " \
    INCLUDES=" -I/opt/local/include " \
    OPTIM="-O2" make

You need this if Perl and Apache is compiled with the bigfiles option.


> 
> I hope you have bettter luck then I have.  I got past this, and I have 
> not been able to get GCC to link mod_perl in at all. Static or DSO. I'm 
> going to load the Forte compiler and try again Monday.  I've never
> failed on getting stuff like this to compile and run correctly, and
> I'm not going to start now.
> 
> 
> 




Re: Problems installing on Solaris 8

Posted by Wayne Pascoe <mo...@penguinpowered.org.uk>.
Ged Haywood <ge...@www2.jubileegroup.co.uk> writes:

> > if I compile Apache with mod_perl, then mod_auth_db, mod_proxy and
> > mod_negotiation all stop working. If I compile Apache without
> > mod_perl then they continue to work just fine.
> 
> Something very wrong there.  Do you have squeaky clean source trees?
> I'd be tempted to erase the lot and start again.  What's the compiler?
> Post your httpd.conf?  Have you built other (older) versions of Apache
> and mod_perl on the same OS?

Yep, whacked the whole lot and started from scratch. The problem also
appears to happen with apache 1.3.23 as well. :( 

-- 
- Wayne Pascoe
                                 | Intestines inside
mod_perl@penguinpowered.org.uk   | 
http://www.molemanarmy.com       | 

Re: Problems installing on Solaris 8

Posted by Ged Haywood <ge...@www2.jubileegroup.co.uk>.
Hi all,

 Wayne Pascoe <mo...@penguinpowered.org.uk> writes:
> > [8:37am]# httpd -l
> > Compiled-in modules:
> >   http_core.c
> >   mod_so.c
> >   mod_perl.c
> > suexec: disabled; invalid wrapper /usr/local/apache/bin/suexec

I didn't think I'd been dreaming.

> As a matter of principle, I tend not to mix static and dynamic.

Me too.

> where I'm unsure, I go all static and build distinct binaries.

Me too.  But if you go all dynamic it's quicker to pull modules out,
and you can change the order they're loaded which is important in some
cases.  Pity my Solaris box isn't with me (1,000 miles away) or I'd
ask you to send me your config. and try to repeat your problem.

Come to think of it I did ask, anyway...

On 23 Mar 2002, Dave Hodgkinson wrote:
> Wayne Pascoe <mo...@penguinpowered.org.uk> writes:
> > Dave Hodgkinson <da...@davehodgkinson.com> writes:
> > > Ged Haywood <ge...@www2.jubileegroup.co.uk> writes:
> > > > Post your httpd.conf?

73,
Ged.


Re: Problems installing on Solaris 8

Posted by Dave Hodgkinson <da...@davehodgkinson.com>.
Wayne Pascoe <mo...@penguinpowered.org.uk> writes:

> Dave Hodgkinson <da...@davehodgkinson.com> writes:
> 
> > Ged Haywood <ge...@www2.jubileegroup.co.uk> writes:
> > 
> > > Something very wrong there.  Do you have squeaky clean source trees?
> > > I'd be tempted to erase the lot and start again.  What's the compiler?
> > > Post your httpd.conf?  Have you built other (older) versions of Apache
> > > and mod_perl on the same OS?
> > 
> > httpd -l 
> > 
> > should verify what modules really are linked in.
> 
>   [8:37am]# httpd -l
> Compiled-in modules:
>   http_core.c
>   mod_so.c
>   mod_perl.c
> suexec: disabled; invalid wrapper /usr/local/apache/bin/suexec

As a matter of principle, I tend not to mix static and dynamic. Recent
redhats have been good anough to go all dynamic, where I'm unsure, I
go all static and build distinct binaries.

Not a solution, but an approach...

-- 
Dave Hodgkinson, Wizard for Hire         http://www.davehodgkinson.com
Editor-in-chief, The Highway Star        http://www.thehighwaystar.com
   Interim Technical Director, Web Architecture Consultant for hire

Re: Problems installing on Solaris 8

Posted by Wayne Pascoe <mo...@penguinpowered.org.uk>.
Dave Hodgkinson <da...@davehodgkinson.com> writes:

> Ged Haywood <ge...@www2.jubileegroup.co.uk> writes:
> 
> > Something very wrong there.  Do you have squeaky clean source trees?
> > I'd be tempted to erase the lot and start again.  What's the compiler?
> > Post your httpd.conf?  Have you built other (older) versions of Apache
> > and mod_perl on the same OS?
> 
> httpd -l 
> 
> should verify what modules really are linked in.

  [8:37am]# httpd -l
Compiled-in modules:
  http_core.c
  mod_so.c
  mod_perl.c
suexec: disabled; invalid wrapper /usr/local/apache/bin/suexec

So it looks like mod_perl is definitely built in. If I have any of
mod_negotiation, mod_proxy or mod_db_auth in my LoadModule list, a
httpd -t or an attempt to start apache produces something like the
following :

Syntax error on line 16 of /usr/local/apache/conf/modules.conf:
Cannot load /usr/local/apache/libexec/mod_negotiation.so into server: ld.so.1: ../bin/httpd: fatal: relocation error: file /usr/local/apache/libexec/mod_negotiation.so: symbol __floatdisf: referenced symbol not found



-- 
- Wayne Pascoe
                                 | Why did I flip? I got tired of coming up 
mod_perl@penguinpowered.org.uk   | with last minute desparate solutions to 
http://www.molemanarmy.com       | impossible problems created by other fucking 
                                 | people. - Flightest on k5
                                 | 

Re: Problems installing on Solaris 8

Posted by Dave Hodgkinson <da...@davehodgkinson.com>.
Ged Haywood <ge...@www2.jubileegroup.co.uk> writes:

> Something very wrong there.  Do you have squeaky clean source trees?
> I'd be tempted to erase the lot and start again.  What's the compiler?
> Post your httpd.conf?  Have you built other (older) versions of Apache
> and mod_perl on the same OS?

httpd -l 

should verify what modules really are linked in.

-- 
Dave Hodgkinson, Wizard for Hire         http://www.davehodgkinson.com
Editor-in-chief, The Highway Star        http://www.thehighwaystar.com
   Interim Technical Director, Web Architecture Consultant for hire

Re: Problems installing on Solaris 8

Posted by Ged Haywood <ge...@www2.jubileegroup.co.uk>.
Hi there,

On 23 Mar 2002, Wayne Pascoe wrote:

> Ged Haywood <ge...@www2.jubileegroup.co.uk> writes:
> 
> > Have you tried sompiling static instead of DSO?
> 
> This is a static build.

Sorry, I've deleted the original message.  Why did I think it wasn't?
I must be having a very bad day today.

> if I compile Apache with mod_perl, then mod_auth_db, mod_proxy and
> mod_negotiation all stop working. If I compile Apache without
> mod_perl then they continue to work just fine.

Something very wrong there.  Do you have squeaky clean source trees?
I'd be tempted to erase the lot and start again.  What's the compiler?
Post your httpd.conf?  Have you built other (older) versions of Apache
and mod_perl on the same OS?

73,
Ged.


Re: Problems installing on Solaris 8

Posted by Wayne Pascoe <mo...@penguinpowered.org.uk>.
Ged Haywood <ge...@www2.jubileegroup.co.uk> writes:

> Hi there,
> 
> On 23 Mar 2002, Wayne Pascoe wrote:
> 
> > Why does mod_perl need ssl and crypto ? Just curious...
> 
> It doesn't.  Have you tried sompiling static instead of DSO?  There
> have been DSO problems on Solaris (and elsewhere :) in the past but I
> thought they were mostly put to bed now.

This is a static build. mod_perl seems to compile ok actually. It's
just that if I compile Apache with mod_perl, then mod_auth_db,
mod_proxy and mod_negotiation all stop working. If I compile Apache
without mod_perl then they continue to work just fine.  

-- 
- Wayne Pascoe
                                 | I laugh in the face of danger...
mod_perl@penguinpowered.org.uk   | Then I run and hide until it goes away!
http://www.molemanarmy.com       | 

Re: Problems installing on Solaris 8

Posted by Ged Haywood <ge...@www2.jubileegroup.co.uk>.
Hi there,

On 23 Mar 2002, Wayne Pascoe wrote:

> Why does mod_perl need ssl and crypto ? Just curious...

It doesn't.  Have you tried sompiling static instead of DSO?  There
have been DSO problems on Solaris (and elsewhere :) in the past but I
thought they were mostly put to bed now.

73,
Ged.



Re: Problems installing on Solaris 8

Posted by Wayne Pascoe <mo...@penguinpowered.org.uk>.
The Wizkid <wi...@spamcop.net> writes:

> This one is easy.  Include the ssl library with
> 
> env LIBRARIES=' -L<therightdirectory> -lssl -lcrypto

Why does mod_perl need ssl and crypto ? Just curious...
I'll try this now...

> I hope you have bettter luck then I have.  I got past this, and I
> have not been able to get GCC to link mod_perl in at all. Static or
> DSO. I'm going to load the Forte compiler and try again Monday.
> I've never failed on getting stuff like this to compile and run
> correctly, and I'm not going to start now.

Wish I could help you on that :( 

-- 
- Wayne Pascoe
                                 | You know, it's simply not true that 
mod_perl@penguinpowered.org.uk   | wars never settle anything - James Burnham
http://www.molemanarmy.com       | 

Re: Problems installing on Solaris 8

Posted by The Wizkid <wi...@spamcop.net>.
Wayne Pascoe wrote:
> Hi all,
> 
> I'm trying to build mod_perl 1.26 and Apache 1.3.24 on Solaris 8. I
> have Perl 5.6.1 on the machine. I am building mod_perl as follows:
> 
> perl Makefile.PL EVERYTHING=1 \
> APACHE_SRC=../apache_1.3.24/src USE_APACI=1 \
> PREP_HTTPD=1 DO_HTTPD=1
> 
> make
> make install
> 
> I then change into the apache_1.3.24 directory and do
> 
> ./configure --prefix=/usr/local/apache \
> --enable-module=all --enable-shared=max \
> --activate-module=src/modules/perl/libperl.a 
> --enable-module=perl --disable-shared=perl
> 
> make
> make install
> 
> This all goes well, and I end up with an Apache installation in
> /usr/local/apache. However, I cannot start this. Doing a httpd -t
> gives me the following error:
>  [7:13pm]# bin/httpd -t
> Syntax error on line 231 of /usr/local/apache/conf/httpd.conf:
> Cannot load /usr/local/apache/libexec/mod_auth_db.so into server:
> ld.so.1: bin/httpd: fatal: relocation error: file
> /usr/local/apache/libexec/mod_auth_db.so: symbol db_open: referenced
> symbol not found
> 
> If I comment out the mod_auth_db lines in my config and try again I
> get :
>  [7:14pm]# ../bin/httpd -t
> Syntax error on line 233 of /usr/local/apache/conf/httpd.conf:
> Cannot load /usr/local/apache/libexec/libproxy.so into server:
> ld.so.1: ../bin/httpd: fatal: relocation error: file
> /usr/local/apache/libexec/libproxy.so: symbol __floatdisf: referenced
> symbol not found
> 
> When I comment this one out, the server starts. But I need mod_proxy
> for this site :(
> 
> This only seems to happen on Solaris. I've tested on FreeBSD 4.3,
> FreeBSD 4.5 and Debian GNU/Linux (Woody) and not been able to
> replicate this error. However doing the above steps on another Solaris
> 8 box seems to have the same problems.
> 
> Any advice on this would be much appreciated.
> 
> Regards,
> 

This one is easy.  Include the ssl library with

env LIBRARIES=' -L<therightdirectory> -lssl -lcrypto

I hope you have bettter luck then I have.  I got past this, and I have 
not been able to get GCC to link mod_perl in at all. Static or DSO. I'm 
going to load the Forte compiler and try again Monday.  I've never
failed on getting stuff like this to compile and run correctly, and
I'm not going to start now.