[openssl-dev] Openssl SNAP 20160313 issue Re: OPenSSL SNAP 20160312 issue

Richard Levitte levitte at openssl.org
Sun Mar 13 13:53:17 UTC 2016

In message <20160313123211.GA24618 at doctor.nl2k.ab.ca> on Sun, 13 Mar 2016 06:32:11 -0600, The Doctor <doctor at doctor.nl2k.ab.ca> said:

doctor> On Sat, Mar 12, 2016 at 08:22:47PM +0000, Salz, Rich wrote:
doctor> > 
doctor> > > make: don't know how to make
doctor> > > crypto/aes/aes_cfb.o:crypto/aes/aes_cfb.o:. Stop
doctor> > > 
doctor> > > This was working yesterday.
doctor> > 
doctor> > And it will probably work again by tomorrow :)
doctor> > 
doctor> > Please include your config/setup command when you report things.
doctor> > 
doctor> > Please don't be surprised if a daily snapshot is broken for a day, consider waiting a day or two to see if the problem is fixed.
doctor> > 
doctor> > This is not the first time we've asked for this.
doctor> Now add Openssl-SNAP-20160313 issues
doctor> /bin/sh  ../configopenssl11
doctor> Configuring OpenSSL version 1.1.0-pre4-dev (0x0x10100004L)
doctor>     no-crypto-mdebug-backtrace [option]   OPENSSL_NO_CRYPTO_MDEBUG_BACKTRACE (skip dir)
doctor>     no-ec_nistp_64_gcc_128 [default]  OPENSSL_NO_EC_NISTP_64_GCC_128 (skip dir)
doctor>     no-heartbeats   [default]  OPENSSL_NO_HEARTBEATS (skip dir)
doctor>     no-md2          [default]  OPENSSL_NO_MD2 (skip dir)
doctor>     no-sctp         [option]   OPENSSL_NO_SCTP (skip dir)
doctor>     no-sse2         [option]
doctor>     no-ssl3         [default]  OPENSSL_NO_SSL3 (skip dir)
doctor>     no-ssl3-method  [default]  OPENSSL_NO_SSL3_METHOD (skip dir)
doctor>     no-static-engine [default]  OPENSSL_NO_STATIC_ENGINE (skip dir)
doctor>     no-weak-ssl-ciphers [default]  OPENSSL_NO_WEAK_SSL_CIPHERS (skip dir)
doctor> Configuring for debug-bsdi-x86-elf
doctor> IsMK1MF       =no
doctor> CC            =gcc
doctor> CFLAG         =-DPERL5 -DL_ENDIAN -DTERMIOS -fomit-frame-pointer -O2 -march=i486 -Wall -g
doctor> SHARED_CFLAG  =-fPIC
doctor> LFLAG         =-ldl -lgmp -lm -lc -lz
doctor> PLIB_LFLAG    =
doctor> EX_LIBS       =
doctor> APPS_OBJ      =
doctor> CPUID_OBJ     =mem_clr.o
doctor> UPLINK_OBJ    =
doctor> BN_ASM        =bn-586.o co-586.o x86-mont.o x86-gf2m.o
doctor> EC_ASM        =ecp_nistz256.o ecp_nistz256-x86.o
doctor> DES_ENC       =des-586.o crypt586.o
doctor> AES_ENC       =aes-586.o
doctor> BF_ENC        =bf-586.o
doctor> CAST_ENC      =c_enc.o
doctor> RC4_ENC       =rc4-586.o
doctor> RC5_ENC       =rc5-586.o
doctor> MD5_OBJ_ASM   =md5-586.o
doctor> SHA1_OBJ_ASM  =sha1-586.o sha256-586.o sha512-586.o
doctor> RMD160_OBJ_ASM=rmd-586.o
doctor> CMLL_ENC      =cmll-x86.o
doctor> MODES_OBJ     =ghash-x86.o
doctor> PADLOCK_OBJ   =e_padlock-x86.o
doctor> CHACHA_ENC    =chacha-x86.o
doctor> POLY1305_OBJ  =poly1305-x86.o
doctor> BLAKE2_OBJ    =
doctor> PROCESSOR     =386
doctor> RANLIB        =/usr/bin/ranlib
doctor> ARFLAGS       =
doctor> PERL          =/usr/bin/perl5
doctor> THIRTY_TWO_BIT mode
doctor> BN_LLONG mode
doctor> Configured for debug-bsdi-x86-elf.
doctor> ( cd .; /usr/bin/perl5 util/ck_errf.pl -strict */*.c */*/*.c )
doctor> crypto/ex_data.c:254:crypto_get_ex_new_index:get_and_lock
doctor> FATAL: error discrepancy
doctor> *** Error code 1

Thank you, that is indeed something still lingering.  Will be fixed.

doctor> Stop.
doctor> ns2.nl2k.ab.ca//usr/source/openssl-SNAP-20160313$ less ../configopenssl11
doctor>  ./Configure \
doctor>   386  \
doctor>   threads \
doctor>  shared \
doctor>  no-sse2 \
doctor>  enable-srtp \
doctor>  no-sctp \
doctor>  no-crypto-mdebug-backtrace \
doctor>  enable-capieng \
doctor>  enable-crypto-mdebug \
doctor>  enable-seed \
doctor>   enable-ssl-trace \
doctor>  enable-camellia \
doctor>  enable-rfc3779  enable-mdc2  enable-md5 \
doctor>  enable-rc5 \
doctor>  enable-unit-test \
doctor>  enable-dh \
doctor>  enable-bf \
doctor>  enable-cast \
doctor>  enable-chacha \
doctor>  enable-cmac \
doctor>  enable-cms \
doctor>  enable-ct \
doctor>  enable-des \
doctor>  enable-dsa \
doctor>  enable-dso \
doctor>  enable-ec \
doctor>  enable-engine \
doctor>  enable-err\
doctor>  enable-hmac \
doctor>  enable-poly1305 \
doctor>  enable-rsa \
doctor>  enable-sha  \
doctor>  enable-srp \
doctor>  enable-aes  \
doctor>  enable-egd \
doctor>  enable-zlib \
doctor>  zlib-dynamic \
doctor>  --prefix=/usr/contrib \
doctor>  --openssldir=/usr/contrib  debug-bsdi-x86-elf ; make update; make depend    
doctor> and what is debug-bsdi-x86-elf?
doctor>     "debug-bsdi-x86-elf" => {
doctor>         inherit_from     => [ asm("x86_elf_asm") ],
doctor>         cc               => "gcc",
doctor>         cflags           => "-DPERL5 -DL_ENDIAN -DTERMIOS -fomit-frame-pointer
doctor> -O2 -march=i486 -Wall -g",
doctor>         thread_cflag     => "-pthread -D_THREAD_SAFE -D_REENTRANT",
doctor>         lflags           => "-ldl -lgmp -lm -lc -lz",
doctor>         bn_ops           => "THIRTY_TWO_BIT_LONG RC4_CHUNK BN_LLONG ",
doctor>         dso_scheme       => "dlfcn",
doctor>         shared_target    => "bsd-gcc-shared",
doctor>         shared_cflag     => "-fPIC",
doctor>         shared_extension => ".so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
doctor>     },
doctor> I have to drop this each day in 
doctor> Configurations/10-main.conf

Why do you have to drop in that file?  I suggest you make your own,
for example Configurations/20-doctor.conf.  That one will be picked up
along with the rest.

Also, if I may suggest, the "debug-" prefix is antiquated and has been
replaced with the '-d' option to 'config', which will use additional
debug flags where appropriate.  Unfortunately, the "bsdi-elf-gcc"
config has never had any debug variant to my knowledge, so I fully
understand your need there.

The config you have put together has a lot of similarities with the
"BSD-x86-elf" one, with just a few additions, so it could be made much
simpler like this:

    "bsdi-x86-elf" => {
        inherit_from  => [ "BSD-x86-elf" ],
	cflags        => add(picker(default => "-DPERL5 -DTERMIOS -march=i486",
                                    debug   => "-O2")),
        lflags        => add("-ldl -lgmp -lm -lc"),

Note the 'debug => ...' line...  which flags will be added to the
cflags when you run './config' with the option '-d'.

All that I have removed is there in BSD-x86-elf, or default in the
case of the bn_ops (except for THIRTY_TWO_BIT_LONG that simply doesn't
exist and is silently ignored).  Note that '-lz' is added
automatically when you enable zlib, which your script does.

You may have copy copy the function 'picker' from that start of

Richard Levitte         levitte at openssl.org
OpenSSL Project         http://www.openssl.org/~levitte/

More information about the openssl-dev mailing list