i'm trying to build Net::SSLeay v1.13 with OpenSSL v0.9.6c on HP-UX
B.11.00. first the compilation fails because the compiler doesn't
understand long long type used in include/openssl/bn.h include file. after
fixing this the compilation goes fine but linking fails with the following
error message (full typescript attached):
...
LD_RUN_PATH="/opt/local/openssl-noidea/0.9.6c-cc/lib" ld -o
blib/arch/auto/Net/SSLeay/SSLeay.sl -b -L/usr/local/lib SSLeay.o
-L/opt/local/openssl-noidea/0.9.6c-cc -L/opt/local/openssl-noidea/0.9.6c-cc/lib -lssl
-lcrypto
ld: DP relative code in file
/opt/local/openssl-noidea/0.9.6c-cc/lib/libcrypto.a(pa-risc2.o) - shared library must
be position independent. Use +z or +Z to recompile.
*** Error exit code 1
Stop.
can someone explain why the linker fails here? the OpenSSL object files
were compiled with the '+Z' option and '+z' option was used when compiling
SSLeay.o.
--
aspa
Script started on Tue Feb 19 17:27:06 2002
> /opt/local/perl-5.005_03/bin/perl Makefile.PL /opt/local/openssl-noidea/0.9.6c
-cc
Checking for OpenSSL-0.9.6c or newer...
You have OpenSSL-0.9.6c installed in /opt/local/openssl-noidea/0.9.6c-cc
Writing Makefile for Net::SSLeay::Handle
Writing Makefile for Net::SSLeay
> make
Manifying ../blib/man3/Net::SSLeay::Handle.3
cc -c -I/opt/local/openssl-noidea/0.9.6c-cc/include -D_HPUX_SOURCE -Aa
-I/usr/local/include -O -DVERSION=\"1.13\" -DXS_VERSION=\"1.13\" +z
-I/opt/local/perl-5.005_03/lib/5.00503/PA-RISC2.0/CORE SSLeay.c
cc: "/opt/local/openssl-noidea/0.9.6c-cc/include/openssl/bn.h", line 235: error 1681:
Must use +e or -Ae for long long in ANSI mode.
cc: "/opt/local/openssl-noidea/0.9.6c-cc/include/openssl/bn.h", line 272: error 1681:
Must use +e or -Ae for long long in ANSI mode.
cc: "/opt/local/openssl-noidea/0.9.6c-cc/include/openssl/bn.h", line 336: error 1681:
Must use +e or -Ae for long long in ANSI mode.
cc: "/opt/local/openssl-noidea/0.9.6c-cc/include/openssl/bn.h", line 354: error 1681:
Must use +e or -Ae for long long in ANSI mode.
cc: "/opt/local/openssl-noidea/0.9.6c-cc/include/openssl/bn.h", line 354: error 1681:
Must use +e or -Ae for long long in ANSI mode.
cc: "/opt/local/openssl-noidea/0.9.6c-cc/include/openssl/bn.h", line 355: error 1681:
Must use +e or -Ae for long long in ANSI mode.
cc: "/opt/local/openssl-noidea/0.9.6c-cc/include/openssl/bn.h", line 355: error 1681:
Must use +e or -Ae for long long in ANSI mode.
cc: "/opt/local/openssl-noidea/0.9.6c-cc/include/openssl/bn.h", line 356: error 1681:
Must use +e or -Ae for long long in ANSI mode.
cc: "/opt/local/openssl-noidea/0.9.6c-cc/include/openssl/bn.h", line 357: error 1681:
Must use +e or -Ae for long long in ANSI mode.
cc: "/opt/local/openssl-noidea/0.9.6c-cc/include/openssl/bn.h", line 358: error 1681:
Must use +e or -Ae for long long in ANSI mode.
cc: "/opt/local/openssl-noidea/0.9.6c-cc/include/openssl/bn.h", line 359: error 1681:
Must use +e or -Ae for long long in ANSI mode.
cc: "/opt/local/openssl-noidea/0.9.6c-cc/include/openssl/bn.h", line 360: error 1681:
Must use +e or -Ae for long long in ANSI mode.
cc: "/opt/local/openssl-noidea/0.9.6c-cc/include/openssl/bn.h", line 371: error 1681:
Must use +e or -Ae for long long in ANSI mode.
cc: "/opt/local/openssl-noidea/0.9.6c-cc/include/openssl/bn.h", line 456: error 1681:
Must use +e or -Ae for long long in ANSI mode.
cc: "/opt/local/openssl-noidea/0.9.6c-cc/include/openssl/bn.h", line 456: error 1681:
Must use +e or -Ae for long long in ANSI mode.
cc: "/opt/local/openssl-noidea/0.9.6c-cc/include/openssl/bn.h", line 456: error 1681:
Must use +e or -Ae for long long in ANSI mode.
cc: "/opt/local/openssl-noidea/0.9.6c-cc/include/openssl/bn.h", line 456: error 1681:
Must use +e or -Ae for long long in ANSI mode.
cc: "/opt/local/openssl-noidea/0.9.6c-cc/include/openssl/bn.h", line 457: error 1681:
Must use +e or -Ae for long long in ANSI mode.
cc: "/opt/local/openssl-noidea/0.9.6c-cc/include/openssl/bn.h", line 457: error 1681:
Must use +e or -Ae for long long in ANSI mode.
cc: "/opt/local/openssl-noidea/0.9.6c-cc/include/openssl/bn.h", line 457: error 1681:
Must use +e or -Ae for long long in ANSI mode.
cc: "/opt/local/openssl-noidea/0.9.6c-cc/include/openssl/bn.h", line 457: error 1681:
Must use +e or -Ae for long long in ANSI mode.
cc: "/opt/local/openssl-noidea/0.9.6c-cc/include/openssl/bn.h", line 458: error 1681:
Must use +e or -Ae for long long in ANSI mode.
cc: "/opt/local/openssl-noidea/0.9.6c-cc/include/openssl/bn.h", line 458: error 1681:
Must use +e or -Ae for long long in ANSI mode.
cc: "/opt/local/openssl-noidea/0.9.6c-cc/include/openssl/bn.h", line 459: error 1681:
Must use +e or -Ae for long long in ANSI mode.
cc: "/opt/local/openssl-noidea/0.9.6c-cc/include/openssl/bn.h", line 459: error 1681:
Must use +e or -Ae for long long in ANSI mode.
cc: "/opt/local/openssl-noidea/0.9.6c-cc/include/openssl/bn.h", line 459: error 1681:
Must use +e or -Ae for long long in ANSI mode.
cc: "/opt/local/openssl-noidea/0.9.6c-cc/include/openssl/bn.h", line 459: error 1681:
Must use +e or -Ae for long long in ANSI mode.
cc: "/opt/local/openssl-noidea/0.9.6c-cc/include/openssl/bn.h", line 460: error 1681:
Must use +e or -Ae for long long in ANSI mode.
cc: "/opt/local/openssl-noidea/0.9.6c-cc/include/openssl/bn.h", line 460: error 1681:
Must use +e or -Ae for long long in ANSI mode.
cc: "/opt/local/openssl-noidea/0.9.6c-cc/include/openssl/bn.h", line 460: error 1681:
Must use +e or -Ae for long long in ANSI mode.
cc: "/opt/local/openssl-noidea/0.9.6c-cc/include/openssl/bn.h", line 460: error 1681:
Must use +e or -Ae for long long in ANSI mode.
cc: "/opt/local/openssl-noidea/0.9.6c-cc/include/openssl/bn.h", line 461: error 1681:
Must use +e or -Ae for long long in ANSI mode.
cc: "/opt/local/openssl-noidea/0.9.6c-cc/include/openssl/bn.h", line 461: error 1681:
Must use +e or -Ae for long long in ANSI mode.
cc: "/opt/local/openssl-noidea/0.9.6c-cc/include/openssl/bn.h", line 461: error 1681:
Must use +e or -Ae for long long in ANSI mode.
cc: "/opt/local/openssl-noidea/0.9.6c-cc/include/openssl/bn.h", line 461: error 1681:
Must use +e or -Ae for long long in ANSI mode.
*** Error exit code 1
Stop.
> grep CCFLAGS Makefile
CCFLAGS = -D_HPUX_SOURCE -Aa -I/usr/local/include
CCCMD = $(CC) -c $(INC) $(CCFLAGS) $(OPTIMIZE) \
> /opt/local/perl-5.005_03/bin/perl Makefile.PL /opt/local/openssl-noidea/0.9.6c
-cc CCFLAGS='-D_HPUX_SOURCE -Ae -I/usr/local/include'
Checking for OpenSSL-0.9.6c or newer...
You have OpenSSL-0.9.6c installed in /opt/local/openssl-noidea/0.9.6c-cc
Writing Makefile for Net::SSLeay::Handle
Writing Makefile for Net::SSLeay
> make
Manifying ../blib/man3/Net::SSLeay::Handle.3
cc -c -I/opt/local/openssl-noidea/0.9.6c-cc/include -D_HPUX_SOURCE -Ae
-I/usr/local/include -O -DVERSION=\"1.13\" -DXS_VERSION=\"1.13\" +z
-I/opt/local/perl-5.005_03/lib/5.00503/PA-RISC2.0/CORE SSLeay.c
Running Mkbootstrap for Net::SSLeay ()
chmod 644 SSLeay.bs
LD_RUN_PATH="/opt/local/openssl-noidea/0.9.6c-cc/lib" ld -o
blib/arch/auto/Net/SSLeay/SSLeay.sl -b -L/usr/local/lib SSLeay.o
-L/opt/local/openssl-noidea/0.9.6c-cc -L/opt/local/openssl-noidea/0.9.6c-cc/lib -lssl
-lcrypto
ld: DP relative code in file
/opt/local/openssl-noidea/0.9.6c-cc/lib/libcrypto.a(pa-risc2.o) - shared library must
be position
independent. Use +z or +Z to recompile.
*** Error exit code 1
Stop.
> exit
exit
script done on Tue Feb 19 17:28:39 2002