On Solaris 8,9,10 using Studio 11, 12.2 and 12.3 compiler:
The configure isn't populating the lib/mcrypt_symb.c file with algorithms, resulting in a failure of 'make check'. It's something weird going on with the default shell in configure.
See at the bottom for a fix.
Solaris 10: (fails)
make check fails:
gmake[2]: Entering directory `/var/tmp/libmcrypt-2.5.8/src'
Error getting algorithms/modes
FAIL: ciphertest
Failed to initialize cipher - rijndael-128/cfb
FAIL: aestest
===================
2 of 2 tests failed
===================
The variables are empty:
host10:/var/tmp/libmcrypt-2.5.8 root# grep EXTRA_ALGOS *
Makefile:EXTRA_ALGOS =
Makefile.in:EXTRA_ALGOS = @EXTRA_ALGOS@
config.log:EXTRA_ALGOS=''
and mcrypt_symbs.c is just a stub:
host10:/var/tmp/libmcrypt-2.5.8 root# ls -al lib/mcrypt_symb.c
-rw-r--r-- 1 root root 134 Jun 16 17:05 lib/mcrypt_symb.c
configure isn't populating the ALGOS/OBJECTS properly:
+ echo '*** Dynamic loading has been disabled'
*** Dynamic loading has been disabled
+ echo 'configure:4502: checking which algorithms to include into library'
+ echo -n 'checking which algorithms to include into library... '
checking which algorithms to include into library... + test '' = set
+ test 'xcbc cfb ctr ecb ncfb nofb ofb stream threeway cast-128 gost rijndael-128 safer-sk64 twofish arcfour cast-256 loki97 rijndael-192 saferplus wake blow
fish-compat des rijndael-256 serpent xtea blowfish enigma rc2 safer-sk128 tripledes' = xyes
+ test 'xcbc cfb ctr ecb ncfb nofb ofb stream threeway cast-128 gost rijndael-128 safer-sk64 twofish arcfour cast-256 loki97 rijndael-192 saferplus wake blow
fish-compat des rijndael-256 serpent xtea blowfish enigma rc2 safer-sk128 tripledes' = xno
+ EXTRA_OBJECTS=
++ echo -n cbc cfb ctr ecb ncfb nofb ofb stream threeway cast-128 gost rijndael-128 safer-sk64 twofish arcfour cast-256 loki97 rijndael-192 saferplus wake blow
fish-compat des rijndael-256 serpent xtea blowfish enigma rc2 safer-sk128 tripledes
++ sed 's/,/ /g'
++ sed 's/\n/ /g'
+ ALG=
+ echo 'configure:4528: result: cbc cfb ctr ecb ncfb nofb ofb stream threeway cast-128 gost rijndael-128 safer-sk64 twofish arcfour cast-256 loki97 rijndael-1
92 saferplus wake blowfish-compat des rijndael-256 serpent xtea blowfish enigma rc2 safer-sk128 tripledes'
+ echo 'cbc cfb ctr ecb ncfb nofb ofb stream threeway cast-128 gost rijndael-128 safer-sk64 twofish arcfour cast-256 loki97 rijndael-192 saferplus wake blowf
ish-compat des rijndael-256 serpent xtea blowfish enigma rc2 safer-sk128 tripledes'
cbc cfb ctr ecb ncfb nofb ofb stream threeway cast-128 gost rijndael-128 safer-sk64 twofish arcfour cast-256 loki97 rijndael-192 saferplus wake blowfish-comp
at des rijndael-256 serpent xtea blowfish enigma rc2 safer-sk128 tripledes
+ EXTRA_ALGOS=
Solaris 11: (this works)
gmake[2]: Entering directory `/var/tmp/libmcrypt-2.5.8/src'
Algorithm: cast-128... ok
Modes:
cbc: ok
[...]
PASS: ciphertest
AES tests (CFB, nCFB, nOFB, CTR) were successful.
PASS: aestest
==================
All 2 tests passed
==================
host11:/var/tmp/libmcrypt-2.5.8 root# grep EXTRA_ALGOS *
Makefile:EXTRA_ALGOS = -n cbc cfb ctr ecb ncfb nofb ofb stream threeway cast-128 gost rijndael-128 safer-sk64 twofish arcfour cast-256 loki97 rijndael-192 saferplus wake blowfish-compat des rijndael-256 serpent xtea blowfish enigma rc2 safer-sk128 tripledes
Makefile.in:EXTRA_ALGOS = @EXTRA_ALGOS@
config.log:EXTRA_ALGOS='-n cbc cfb ctr ecb ncfb nofb ofb stream threeway cast-128 gost rijndael-128 safer-sk64 twofish arcfour cast-256 loki97 rijndael-192 saferplus wake blowfish-compat des rijndael-256 serpent xtea blowfish enigma rc2 safer-sk128 tripledes'
host11:/var/tmp/libmcrypt-2.5.8 root# ls -al lib/mcrypt_symb.c
-rw-r--r-- 1 root root 34526 Jun 16 17:03 lib/mcrypt_symb.c
+ echo '*** Dynamic loading has been disabled'
*** Dynamic loading has been disabled
+ echo 'configure:4502: checking which algorithms to include into library'
+ 1>& 5
+ echo 'checking which algorithms to include into library... \c'
+ 1>& 6
checking which algorithms to include into library... + test '' '=' set
+ test 'xcbc cfb ctr ecb ncfb nofb ofb stream threeway cast-128 gost rijndael-128 safer-sk64 twofish arcfour cast-256 loki97 rijndael-192 saferplus wake blowfish-compat des rijndael-256 serpent xtea blowfish enigma rc2 safer-sk128 tripledes' '=' xyes
+ test 'xcbc cfb ctr ecb ncfb nofb ofb stream threeway cast-128 gost rijndael-128 safer-sk64 twofish arcfour cast-256 loki97 rijndael-192 saferplus wake blowfish-compat des rijndael-256 serpent xtea blowfish enigma rc2 safer-sk128 tripledes' '=' xno
+ EXTRA_OBJECTS=''
+ echo -n cbc cfb ctr ecb ncfb nofb ofb stream threeway cast-128 gost rijndael-128 safer-sk64 twofish arcfour cast-256 loki97 rijndael-192 saferplus wake blowfish-compat des rijndael-256 serpent xtea blowfish enigma rc2 safer-sk128 tripledes
+ sed 's/,/ /g'
+ sed 's/\n/ /g'
+ ALG='-n cbc cfb ctr ecb ncfb nofb ofb stream threeway cast-128 gost rijndael-128 safer-sk64 twofish arcfour cast-256 loki97 rijndael-192 saferplus wake blowfish-compat des rijndael-256 serpent xtea blowfish enigma rc2 safer-sk128 tripledes'
+ test -f modules/algorithms/-n.c
+ test -f modules/modes/-n.c
+ test -f modules/algorithms/cbc.c
+ test -f modules/modes/cbc.c
+ EXTRA_OBJECTS=' ../modules/modes/cbc.lo'
+ test -f modules/algorithms/cfb.c
+ test -f modules/modes/cfb.c
+ EXTRA_OBJECTS=' ../modules/modes/cbc.lo ../modules/modes/cfb.lo'
If you set the environment variable CONFIG_SHELL properly, then it works
setenv CONFIG_SHELL /bin/sh