Mailing List Archive

[mod_backhand-users] mod_backhand and Raven
Hello,

I am currently trying to add mod_backhand in to my standard install of
Raven - 1.5.2, as a dso, and am getting errors on startup.

Here is what I have done so far (I have included output in case someone
notices something in the make or .configure process)...
- untar mod_backhnad, .configure, make, copy files (*.h and
libbackhand.so) to locations...., edit httpsd.conf

I get the following error on
LoadModule backhand_module libexec/libbackhand.so .....

bash-2.03$ apache-configtest
Syntax error on line 62 of /usr/local/apache/conf/httpsd.conf:
Cannot load /usr/local/apache/libexec/libbackhand.so into server:
ld.so.1: /usr/local/apache/bin/httpsd: fatal: relocation error: file
/usr/local/apache/libexec/libbackhand.so: symbol kstat_read: referenced
symbol not found


Could somone give lend a helping hand on this one?


-eric

--
Eric Grace,
Software Engineer

Messagemedia, Inc. 303.381.7121 phone
6060 Spine Road 303.440.0303 fax
Boulder, CO 80301

"The box said to install NT 4.0 or better, so I installed Solaris"

\\\ e-mail e-customers e-business \\\
[mod_backhand-users] mod_backhand and Raven [ In reply to ]
Eric Grace wrote:
>
> Hello,
>
> I am currently trying to add mod_backhand in to my standard install of
> Raven - 1.5.2, as a dso, and am getting errors on startup.

OK, just a warning: loadable candidacy functions do not work correctly on
Solaris when mod_backhand itself is a dso. If you don't need them, it
shouldn't matter.

> Syntax error on line 62 of /usr/local/apache/conf/httpsd.conf:
> Cannot load /usr/local/apache/libexec/libbackhand.so into server:
> ld.so.1: /usr/local/apache/bin/httpsd: fatal: relocation error: file
> /usr/local/apache/libexec/libbackhand.so: symbol kstat_read: referenced
> symbol not found
>
> Could somone give lend a helping hand on this one?

Hmm... the configure script isn't robust enough to handle Solaris. You need
top establish link requirement when you build the libbackhand.so dso;
specifically: -lkstat -ldl -lm

So on the compile line (whatever the VERY LAST thing that apxs does to make
libbackhand.so) you need to append -lkstat -ldl -lm and reissue that command.
Then Solaris should automagically load kstat, dl and m upon loading
libbackhand.so.

The command line you are interested in will start something like:

gcc -shared -o libbackhand.so .... -lkstat -ldl -lm

OR

ld -G -z text -o libbackhand.so ..... -lkstat -dl -lm

(The last three tags YOU need to add on).

Try that out :)

--
Theo Schlossnagle
1024D/A8EBCF8F/13BD 8C08 6BE2 629A 527E 2DC2 72C2 AD05 A8EB CF8F
2047R/33131B65/71 F7 95 64 49 76 5D BA 3D 90 B9 9F BE 27 24 E7
[mod_backhand-users] mod_backhand and Raven [ In reply to ]
Please bear with me for a second....
Are you saying I need to edit apxs or configure to include -lkstat -ldl -lm ??

-eric

"Theo E. Schlossnagle" wrote:

> Eric Grace wrote:
> >
> > Hello,
> >
> > I am currently trying to add mod_backhand in to my standard install of
> > Raven - 1.5.2, as a dso, and am getting errors on startup.
>
> OK, just a warning: loadable candidacy functions do not work correctly on
> Solaris when mod_backhand itself is a dso. If you don't need them, it
> shouldn't matter.
>
> > Syntax error on line 62 of /usr/local/apache/conf/httpsd.conf:
> > Cannot load /usr/local/apache/libexec/libbackhand.so into server:
> > ld.so.1: /usr/local/apache/bin/httpsd: fatal: relocation error: file
> > /usr/local/apache/libexec/libbackhand.so: symbol kstat_read: referenced
> > symbol not found
> >
> > Could somone give lend a helping hand on this one?
>
> Hmm... the configure script isn't robust enough to handle Solaris. You need
> top establish link requirement when you build the libbackhand.so dso;
> specifically: -lkstat -ldl -lm
>
> So on the compile line (whatever the VERY LAST thing that apxs does to make
> libbackhand.so) you need to append -lkstat -ldl -lm and reissue that command.
> Then Solaris should automagically load kstat, dl and m upon loading
> libbackhand.so.
>
> The command line you are interested in will start something like:
>
> gcc -shared -o libbackhand.so .... -lkstat -ldl -lm
>
> OR
>
> ld -G -z text -o libbackhand.so ..... -lkstat -dl -lm
>
> (The last three tags YOU need to add on).
>
> Try that out :)
>
> --
> Theo Schlossnagle
> 1024D/A8EBCF8F/13BD 8C08 6BE2 629A 527E 2DC2 72C2 AD05 A8EB CF8F
> 2047R/33131B65/71 F7 95 64 49 76 5D BA 3D 90 B9 9F BE 27 24 E7
>
> _______________________________________________
> backhand-users mailing list
> backhand-users@lists.backhand.org
> http://lists.backhand.org/mailman/listinfo/backhand-users

--
Eric Grace,
Software Engineer

Messagemedia, Inc. 303.381.7121 phone
6060 Spine Road 303.440.0303 fax
Boulder, CO 80301

"The box said to install NT 4.0 or better, so I installed Solaris"

\\\ e-mail e-customers e-business \\\
[mod_backhand-users] mod_backhand and Raven [ In reply to ]
Eric Grace wrote:
> Please bear with me for a second....
> Are you saying I need to edit apxs or configure to include -lkstat -ldl -lm
??

Yup, I will try to make it a runtime option for configure for a later release,
but I am not to slick with autoconf :)

For now, just change the following line in configure

BUILD_IT="\$(APXS) -o \$(BINNAME) -c \$(SOURCES)"

to:

BUILD_IT="\$(APXS) -o \$(BINNAME) -c \$(SOURCES) -lkstat -ldl -lm"

Then rerun configure --with-apxs=/path/to/apxs

--
Theo Schlossnagle
1024D/A8EBCF8F/13BD 8C08 6BE2 629A 527E 2DC2 72C2 AD05 A8EB CF8F
2047R/33131B65/71 F7 95 64 49 76 5D BA 3D 90 B9 9F BE 27 24 E7