• 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
0
umesh4exp
Asked:
umesh4exp
2 Solutions
 
gheistCommented:
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.
0
 
woolmilkporcCommented:
Hi,
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!

wmp


0

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