Mailing List Archive

[mod_backhand-users] Compilation Error on Red Hat Linux 6.1
Hi,

I'm getting a compilation error with mod_backhand-1.1.1pre3 (I also tried
1.1.0).

Red Hat Linux 6.1, Apache 1.3.17 (I also tried 14). Apache without
mod_backhand compiles fine.

I've attached the portion of the output from the make command that
contains the error.

I appreciate your help!

Bob Foster
System Administrator
Dissemination, Inc.
Hotresponse.com
(541) 617-5021
bob@hotresponse.com


rm -f mod_backhand.a libbackhand.a
ar cr mod_backhand.a mod_backhand.o back_util.o apue.o arriba.o builtins.o
ranlib mod_backhand.a
mv mod_backhand.a libbackhand.a
gcc -c -I../../os/unix -I../../include -DLINUX=2 -DUSE_HSREGEX
-DUSE_EXPAT -I../../lib/expat-lite -DNO_DL_NEEDED `../../apaci`
mod_backhand.c && mv mod_backhand.o mod_backhand.lo
gcc -c -I../../os/unix -I../../include -DLINUX=2 -DUSE_HSREGEX
-DUSE_EXPAT -I../../lib/expat-lite -DNO_DL_NEEDED `../../apaci`
back_util.c && mv back_util.o back_util.lo
gcc -c -I../../os/unix -I../../include -DLINUX=2 -DUSE_HSREGEX
-DUSE_EXPAT -I../../lib/expat-lite -DNO_DL_NEEDED `../../apaci` apue.c &&
mv apue.o apue.lo
gcc -c -I../../os/unix -I../../include -DLINUX=2 -DUSE_HSREGEX
-DUSE_EXPAT -I../../lib/expat-lite -DNO_DL_NEEDED `../../apaci` arriba.c
&& mv arriba.o arriba.lo
gcc -c -I../../os/unix -I../../include -DLINUX=2 -DUSE_HSREGEX
-DUSE_EXPAT -I../../lib/expat-lite -DNO_DL_NEEDED `../../apaci`
builtins.c && mv builtins.o builtins.lo
o mod_backhand.so mod_backhand.lo back_util.lo apue.lo arriba.lo
builtins.lo \

make[4]: o: Command not found
make[4]: [mod_backhand.so] Error 127 (ignored)
gcc -c -I../../os/unix -I../../include -DLINUX=2 -DUSE_HSREGEX
-DUSE_EXPAT -I../../lib/expat-lite -DNO_DL_NEEDED `../../apaci`
byHostname.c && mv byHostname.o byHostname.lo
o byHostname.so byHostname.lo
make[4]: o: Command not found
make[4]: [byHostname.so] Error 127 (ignored)
<=== src/modules/backhand
<=== src/modules
gcc -c -I./os/unix -I./include -DLINUX=2 -DUSE_HSREGEX -DUSE_EXPAT
-I./lib/expat-lite -DNO_DL_NEEDED `./apaci` modules.c
gcc -c -I./os/unix -I./include -DLINUX=2 -DUSE_HSREGEX -DUSE_EXPAT
-I./lib/expat-lite -DNO_DL_NEEDED `./apaci` buildmark.c
gcc -DLINUX=2 -DUSE_HSREGEX -DUSE_EXPAT -I./lib/expat-lite -DNO_DL_NEEDED
`./apaci` \
-o httpd buildmark.o modules.o modules/standard/libstandard.a
modules/backhand/libbackhand.a main/libmain.a ./os/unix/libos.a ap/libap.a
regex/libregex.a lib/expat-lite/libexpat.a -lm -lcrypt
./os/unix/libos.a(os.o): In function `ap_os_dso_load':
os.o(.text+0x1d): undefined reference to `dlopen'
./os/unix/libos.a(os.o): In function `ap_os_dso_unload':
os.o(.text+0x3c): undefined reference to `dlclose'
./os/unix/libos.a(os.o): In function `ap_os_dso_sym':
os.o(.text+0x54): undefined reference to `dlsym'
./os/unix/libos.a(os.o): In function `ap_os_dso_error':
os.o(.text+0x68): undefined reference to `dlerror'
collect2: ld returned 1 exit status
make[2]: *** [target_static] Error 1
make[2]: Leaving directory `/usr/local/src/apache_1.3.14/src'
make[1]: *** [build-std] Error 2
make[1]: Leaving directory `/usr/local/src/apache_1.3.14'
make: *** [build] Error 2
[mod_backhand-users] Compilation Error on Red Hat Linux 6.1 [ In reply to ]
Wow... weird side effect. It took me a while to replicate your error.

mod_backhand requires dynamic loading and Apache doesn't compile this in
unless you specify: --enable-module=so when compiling Apache.

I got your exact error when I left that off. So, simply adding
--enable-module=so into your ./configure line when you configure Apache should
fix the problem.

I will try to figure out how to "induce" mod_so to be enabled when
--enable-module=backhand is specified. It's now on the TODO list.

Thanks for the bug report!


Bob Foster wrote:
> I'm getting a compilation error with mod_backhand-1.1.1pre3 (I also tried
> 1.1.0).
>
> Red Hat Linux 6.1, Apache 1.3.17 (I also tried 14). Apache without
> mod_backhand compiles fine.

[snip]

> o mod_backhand.so mod_backhand.lo back_util.lo apue.lo arriba.lo
> builtins.lo \
>
> make[4]: o: Command not found
> make[4]: [mod_backhand.so] Error 127 (ignored)
[ snip ]
> o byHostname.so byHostname.lo
> make[4]: o: Command not found
> make[4]: [byHostname.so] Error 127 (ignored)
> <=== src/modules/backhand
> <=== src/modules
> gcc -c -I./os/unix -I./include -DLINUX=2 -DUSE_HSREGEX -DUSE_EXPAT
> -I./lib/expat-lite -DNO_DL_NEEDED `./apaci` modules.c
> gcc -c -I./os/unix -I./include -DLINUX=2 -DUSE_HSREGEX -DUSE_EXPAT
> -I./lib/expat-lite -DNO_DL_NEEDED `./apaci` buildmark.c
> gcc -DLINUX=2 -DUSE_HSREGEX -DUSE_EXPAT -I./lib/expat-lite -DNO_DL_NEEDED
> `./apaci` \
> -o httpd buildmark.o modules.o modules/standard/libstandard.a
> modules/backhand/libbackhand.a main/libmain.a ./os/unix/libos.a ap/libap.a
> regex/libregex.a lib/expat-lite/libexpat.a -lm -lcrypt
> ./os/unix/libos.a(os.o): In function `ap_os_dso_load':
> os.o(.text+0x1d): undefined reference to `dlopen'
> ./os/unix/libos.a(os.o): In function `ap_os_dso_unload':
> os.o(.text+0x3c): undefined reference to `dlclose'
> ./os/unix/libos.a(os.o): In function `ap_os_dso_sym':
> os.o(.text+0x54): undefined reference to `dlsym'
> ./os/unix/libos.a(os.o): In function `ap_os_dso_error':
> os.o(.text+0x68): undefined reference to `dlerror'

--
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