Operating System - HP-UX
1835205 Members
2513 Online
110077 Solutions
New Discussion

ld flags not recognized for apache 1.3.29 compilation

 
Vinnie Lima
Advisor

ld flags not recognized for apache 1.3.29 compilation

Just as an FYI post for others having the same problem of the gcc3.3.2-included ld not recognizing a lot of the flags being used.

If you are using gcc 3.3.2 on hpux 11.11 and attempting to compile apache 1.3.29 from source, the way to resolve the following sample problems:

<--snip-->
gcc -I./../../mm-1.3.0 -I./os/unix -I./include -DHPUX11 -DMOD_SSL=208116 -DUSE_HSREGEX -DEAPI -DEAPI_MM -DUSE_EXPAT -I./lib/expat-lite -fpic -DSHARED_CORE `./apaci` -L/opt/patches/openssl-0.9.7c -L./../../mm-1.3.0/.libs -Wl,-E -Wl,-B,deferred -Wl,+s \
-o libhttpd.ep -DSHARED_CORE_TIESTATIC main/http_main.c \
-L. -lhttpd -lm -lpthread -lssl -lcrypto -lmm -lm
/usr/local/pa20_64/bin/ld: unrecognized option '-B'
/usr/local/pa20_64/bin/ld: use the --help option for usage information
collect2: ld returned 1 exit status
make[2]: *** [libhttpd.ep] Error 1
make[2]: Leaving directory `/opt/patches/apache_1.3.29/src'
make[1]: *** [build-std] Error 2
make[1]: Leaving directory `/opt/patches/apache_1.3.29'
make: *** [build] Error 2
<--snip-->

or

<--snip-->
gcc -I./../../mm-1.3.0 -I./os/unix -I./include -DHPUX11 -DMOD_SSL=208116 -DUSE_HSREGEX -DEAPI -DEAPI_MM -DUSE_EXPAT -I./lib/expat-lite -fpic -DSHARED_CORE `./apaci` -L/opt/patches/openssl-0.9.7c -L./../../mm-1.3.0/.libs -Wl,-E -Wl,deferred -Wl,+s \
-o libhttpd.ep -DSHARED_CORE_TIESTATIC main/http_main.c \
-L. -lhttpd -lm -lpthread -lssl -lcrypto -lmm -lm
/usr/local/pa20_64/bin/ld: cannot open deferred: No such file or directory
collect2: ld returned 1 exit status
make[2]: *** [libhttpd.ep] Error 1
make[2]: Leaving directory `/opt/patches/apache_1.3.29/src'
make[1]: *** [build-std] Error 2
make[1]: Leaving directory `/opt/patches/apache_1.3.29'
make: *** [build] Error 2
<--snip-->

or

<--snip-->
gcc -I./../../mm-1.3.0 -I./os/unix -I./include -DHPUX11 -DMOD_SSL=208116 -DUSE_HSREGEX -DEAPI -DEAPI_MM -DUSE_EXPAT -I./lib/expat-lite -fpic -DSHARED_CORE `./apaci` -L/opt/patches/openssl-0.9.7c -L./../../mm-1.3.0/.libs -Wl,-E -Wl \
-o libhttpd.ep -DSHARED_CORE_TIESTATIC main/http_main.c \
-L. -lhttpd -lm -lpthread -lssl -lcrypto -lmm -lm
cc1: error: unrecognized option `-Wl'
make[2]: *** [libhttpd.ep] Error 1
make[2]: Leaving directory `/opt/patches/apache_1.3.29/src'
make[1]: *** [build-std] Error 2
make[1]: Leaving directory `/opt/patches/apache_1.3.29'
make: *** [build] Error 2
<--snip-->

Is to edit the src/Configure file, and replace:

LDFLAGS_SHLIB_EXPORT="-Wl,-E -Wl,-B,deferred -Wl,+s"

with:

LDFLAGS_SHLIB_EXPORT="-E"

Do a "make clean", then execute your configure statement again.

Now when you do a "make", you wont have these errors

Hope this helps.

Vinnie Lima
vlima@csc.com