I had the same problem. /bin/sh on Solaris does not understand the "-nt" operator used in the definition of the "depend" target in the top-level Makefile, e.g. in line

if [ Makefile -nt Makefile ] ...

and elsewhere.

From "man test" on Solaris:

...
     file1 -nt file2         True if file1 exists  and  is  newer
                             than file2. (Not available in sh.)
...

Also normative standards documents as http://pubs.opengroup.org/onlinepubs/9699919799/utilities/test.html indicate, that "-nt" can't be expected. Quoting: "Some additional primaries newly invented or from the KornShell appeared in an early proposal as part of the conditional command ([[]]): s1 > s2, s1 < s2, str = pattern, str != pattern, f1 -nt f2, f1 -ot f2, and f1 -ef f2. They were not carried forward into the test utility when the conditional command was removed from the shell because they have not been included in the test utility built into historical implementations of the sh utility."

I added a line

SHELL=/bin/ksh

to the Makefile on Solaris, because I was afraid that more non-standard shell stuff might be in the Makefile now or in the future. It would be better though to replace the non-standard stuff, but I didn't have the time to work on a full patch. Using the SHELL=/bin/ksh workaround should allow you to proceed building on Solaris. "make" then uses the Korn Shell for shell constructs contained in the Makefile.

Regards,

Rainer

Am 18.03.2016 um 08:51 schrieb Kiyoshi KANAZAWA via RT:
% ./config --prefix=/opt/openssl
Operating system: i86pc-whatever-solaris2
Configuring for solaris64-x86_64-gcc
Configuring OpenSSL version 1.1.0-pre4 (0x0x10100004L)
     no-crypto-mdebug [default]  OPENSSL_NO_CRYPTO_MDEBUG (skip dir)
     no-crypto-mdebug-backtrace [forced]   OPENSSL_NO_CRYPTO_MDEBUG_BACKTRACE 
(skip dir)
     no-dynamic-engine [forced]
     no-ec_nistp_64_gcc_128 [default]  OPENSSL_NO_EC_NISTP_64_GCC_128 (skip dir)
     no-egd          [default]  OPENSSL_NO_EGD (skip dir)
     no-heartbeats   [default]  OPENSSL_NO_HEARTBEATS (skip dir)
     no-md2          [default]  OPENSSL_NO_MD2 (skip dir)
     no-rc5          [default]  OPENSSL_NO_RC5 (skip dir)
     no-sctp         [default]  OPENSSL_NO_SCTP (skip dir)
     no-shared       [default]
     no-ssl-trace    [default]  OPENSSL_NO_SSL_TRACE (skip dir)
     no-ssl3         [default]  OPENSSL_NO_SSL3 (skip dir)
     no-ssl3-method  [default]  OPENSSL_NO_SSL3_METHOD (skip dir)
     no-unit-test    [default]  OPENSSL_NO_UNIT_TEST (skip dir)
     no-weak-ssl-ciphers [default]  OPENSSL_NO_WEAK_SSL_CIPHERS (skip dir)
     no-zlib         [default]
     no-zlib-dynamic [default]
Configuring for solaris64-x86_64-gcc
IsMK1MF       =no
CC            =gcc
CFLAG         =-m64 -Wall -DL_ENDIAN -O3 -pthread -DFILIO_H  -Wa,--noexecstack
SHARED_CFLAG  =-fPIC
DEFINES       =DSO_DLFCN HAVE_DLFCN_H OPENSSL_THREADS OPENSSL_NO_DYNAMIC_ENGINE 
OPENSSL_PIC OPENSSL_IA32_SSE2 OPENSSL_BN_ASM_MONT OPENSSL_BN_ASM_MONT5 
OPENSSL_BN_ASM_GF2m SHA1_ASM SHA256_ASM SHA512_ASM MD5_ASM AES_ASM VPAES_ASM 
BSAES_ASM GHASH_ASM ECP_NISTZ256_ASM POLY1305_ASM
LFLAG         =
PLIB_LFLAG    =
EX_LIBS       =-lresolv -lsocket -lnsl -ldl
APPS_OBJ      =
CPUID_OBJ     =x86_64cpuid.o
UPLINK_OBJ    =
BN_ASM        =asm/x86_64-gcc.o x86_64-mont.o x86_64-mont5.o x86_64-gf2m.o 
rsaz_exp.o rsaz-x86_64.o rsaz-avx2.o
EC_ASM        =ecp_nistz256.o ecp_nistz256-x86_64.o
DES_ENC       =des_enc.o fcrypt_b.o
AES_ENC       =aes-x86_64.o vpaes-x86_64.o bsaes-x86_64.o aesni-x86_64.o 
aesni-sha1-x86_64.o aesni-sha256-x86_64.o aesni-mb-x86_64.o
BF_ENC        =bf_enc.o
CAST_ENC      =c_enc.o
RC4_ENC       =rc4-x86_64.o rc4-md5-x86_64.o
RC5_ENC       =rc5_enc.o
MD5_OBJ_ASM   =md5-x86_64.o
SHA1_OBJ_ASM  =sha1-x86_64.o sha256-x86_64.o sha512-x86_64.o sha1-mb-x86_64.o 
sha256-mb-x86_64.o
RMD160_OBJ_ASM=
CMLL_ENC      =cmll-x86_64.o cmll_misc.o
MODES_OBJ     =ghash-x86_64.o aesni-gcm-x86_64.o
PADLOCK_OBJ   =e_padlock-x86_64.o
CHACHA_ENC    =chacha-x86_64.o
POLY1305_OBJ  =poly1305-x86_64.o
BLAKE2_OBJ    =
PROCESSOR     =
RANLIB        =/usr/ccs/bin/ranlib
ARFLAGS       =
PERL          =/opt/perl5/bin/perl

SIXTY_FOUR_BIT_LONG mode

Configured for solaris64-x86_64-gcc.


% make
   :
make[1]: Leaving directory '/tmp/openssl-1.1.0-pre4'
/opt/perl5/bin/perl "-I." -Mconfigdata "util/dofile.pl" \
     "-oMakefile" apps/CA.pl.in > "apps/CA.pl"
chmod a+x apps/CA.pl
/opt/perl5/bin/perl "-I." -Mconfigdata "util/dofile.pl" \
     "-oMakefile" tools/c_rehash.in > "tools/c_rehash"
chmod a+x tools/c_rehash
Makefile:170: recipe for target 'depend' failed
make: *** [depend] Error 1



Other information
OS: Solaris10 x86/64

perl version:v5.22.1
gcc version: 4.8.5
ld: /usr/ccs/bin/ld


Best Regards,


--- Kiyoshi <[email protected]>
--
openssl-dev mailing list
To unsubscribe: https://mta.openssl.org/mailman/listinfo/openssl-dev

Reply via email to