• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 499
  • Last Modified:

Unable to "make" resin for apache?

When i configure resin with apache and i try use make i am getting the following error
make[2]: *** [mod_caucho.so] Error 255

(cd src/c/plugin; make)
make[1]: Entering directory `/finweb/resin/src/c/plugin'
for dir in common apache; do (cd $dir; make); done
make[2]: Entering directory `/finweb/resin/src/c/plugin/common'
gcc -c  -g -O2 stream.c
stream.c: In function 'cse_connect':
stream.c:345: warning: passing argument 5 of 'getsockopt' from incompatible pointer type
gcc -c  -g -O2 registry.c
gcc -c  -g -O2 config.c
gcc -c  -g -O2 memory.c
/usr/bin/ld -r -o common.o stream.o registry.o config.o memory.o
make[2]: Leaving directory `/finweb/resin/src/c/plugin/common'
make[2]: Entering directory `/finweb/resin/src/c/plugin/apache'
/usr/bin/ld -o mod_caucho.so -shared mod_caucho.lo ../common/stream.lo ../common/registry.lo ../common/config.lo ../common/memory.lo
ld: 0706-012 The -h flag is not recognized.
ld: 0706-012 The -a flag is not recognized.
make[2]: *** [mod_caucho.so] Error 255
make[2]: Leaving directory `/finweb/resin/src/c/plugin/apache'
make[1]: *** [plugins] Error 2
make[1]: Leaving directory `/finweb/resin/src/c/plugin'
make: *** [all] Error 2
2 Solutions
For which apache? IBM HTTPD/one from aixpdslib/one from linux affinity toolkit/one from bullfreeware?
It seems that you have AIX ld in $PATH before GNU ld, that prevents you from compiling anything on your system.
as gheist said, it's a problem using the appropriate linker.

IBM's ld doesn't support the '-shared' option, that's why it complains about -h, -a.

The gnu linker gets installed under AIX as /opt/freeware/GNUPro/bin/gld

Putting it in the PATH would have no effect, since gcc normally calls ld, not gld.

One possibility is to link /usr/local/bin/ld to gld, and to take care that /usr/local/bin precedes /usr/bin in the PATH:

ln -sf /opt/freeware/GNUPro/bin/gld  /usr/local/bin/ldexport PATH=/usr/local/bin:$PATH

You could also try calling make by: make LD=/opt/freeware/GNUPro/bin/gld ...
but I never used that and thus don't know if it will work.
Quite another possibility could be using the --disable-shared / --enable-static options of configure, but I'm not sure if this is possible with resin.

Good luck!



Featured Post

Upgrade your Question Security!

Your question, your audience. Choose who sees your identity—and your question—with question security.

Tackle projects and never again get stuck behind a technical roadblock.
Join Now