[openssl-users] Building 1.0.2g with "no-idea"

Jakob Bohm jb-openssl at wisemo.com
Mon Mar 28 10:37:34 UTC 2016

In 1.0.2 and later, most of the files in ${BUILD_DIR}/include/openssl
are supposed to be copies/symlinks to file of the same name elsewhere
in the OpenSSL source, for instance the ones you mentions should be
links to files in subdirectories under ${BUILD_DIR}/crypt.

However in your case, I suspect the following sequence of events:

1. configure or make depend sees that you have disabled some ciphers
   and don't link header files for those ciphers.

2. Other parts of the OpenSSL source code blindly include those header
   files because they used to be present in ${BUILD_DIR}/include/openssl
   even when disabled, omitting them only (if at all) in the installed
   files under ${INSTALL_DIR}/include/openssl

If this theory holds, this would be a bug in the 1.0.2 tree, either
in the build scripts or in the source files that include headers for
disabled ciphers, whichever fix creates the smallest/simplest patch
should be applied.

On 23/03/2016 22:53, Floodeenjr, Thomas wrote:
> I have this problem too, and tried the "make depend" step. It still fails to build.
> make[2]: *** No rule to make target `../../include/openssl/rc4.h', needed by `eng_openssl.o'.  Stop.
> I worked around it by stubbing in all of the missing headers I did not need:
> # Stub in some missing header files since the configure appears to be broken.
> touch ${BUILD_DIR}/include/openssl/rc4.h
> touch ${BUILD_DIR}/include/openssl/blowfish.h
> touch ${BUILD_DIR}/include/openssl/idea.h
> touch ${BUILD_DIR}/include/openssl/camellia.h
> touch ${BUILD_DIR}/include/openssl/seed.h
> touch ${BUILD_DIR}/include/openssl/rc2.h
> touch ${BUILD_DIR}/include/openssl/cast.h
> touch ${BUILD_DIR}/include/openssl/md4.h
> touch ${BUILD_DIR}/include/openssl/mdc2.h
> This works for me.
> Regards,
> -Tom
> -----Original Message-----
> From: openssl-users [mailto:openssl-users-bounces at openssl.org] On Behalf Of Matt Caswell
> Sent: Wednesday, March 23, 2016 9:19 AM
> To: openssl-users at openssl.org
> Subject: Re: [openssl-users] Building 1.0.2g with "no-idea"
> On 23/03/16 15:09, Jason Schultz wrote:
>> I am re-posting this (and another) message to the list as I was having email issues with the list and I posted an erroneous subject line, which may have deterred responses.
>> I have another question that was encountered at the same time as my
>> previous one, but I believe it is two separate issues, so I created a different thread.
>> When building 1.0.2g and attempting to remove some ciphers at build
>> time ("no-idea"), I discovered that the Make scripting was attempting
>> to build some of its files anyway:
>> [...]
>> gcc -I.. -I../.. -I../modes -I../asn1 -I../evp -I../../include  -fPIC
>> -DHAVE_DLFCN_H -O2 -g
>> -m64 -fmessage-length=0 -D_FORTIFY_SOURCE=2 -fstack-protector
>> -funwind-tables -fasynchronous-unwind-tables -std=gnu99
>> -Wa,--noexecstack -fomit-frame-pointer -DTERMIO -DPURIFY
>> -DSSL_FORBID_ENULL -D_GNU_SOURCE -fstack-protector -Wall
>> -Wa,--noexecstack -m64 -DL_ENDIAN -O3 -Wall -DOPENSSL_IA32_SSE2
>> -DECP_NISTZ256_ASM   -c -o e_bf.o e_bf.c
>> make[2]: *** No rule to make target `../../include/openssl/idea.h',
>> needed by `e_idea.o'.  Stop.
>> make[2]: Leaving directory `/usr/src/packages/BUILD/openssl-1.0.2g/crypto/evp'
>> make[1]: *** [subdirs] Error 1
>> make[1]: Leaving directory `/usr/src/packages/BUILD/openssl-1.0.2g/crypto'
>> make: *** [build_crypto] Error 1
>> It looks as though the "no-idea" removes some of the header files from
>> the build, but then the make tries to compile the .c files anyway.
>> Has anyone else encountered this problem?
> Make sure you have run "make depend", i.e.
> $ ./config no-idea
> $ make depend
> $ make
> $ make test


Jakob Bohm, CIO, Partner, WiseMo A/S.  https://www.wisemo.com
Transformervej 29, 2860 Søborg, Denmark.  Direct +45 31 13 16 10
This public discussion message is non-binding and may contain errors.
WiseMo - Remote Service Management for PCs, Phones and Embedded

More information about the openssl-users mailing list