openssl-1.0.2e build still recommends deprecated (unnecessary?) `make depend`, returns numerous warnings abt not finding stddef.h
PGNet Dev
pgnet.dev at gmail.com
Sun Dec 6 18:05:17 UTC 2015
Building openssl-1.0.2e from src
wget http://www.openssl.org/source/openssl-1.0.2e.tar.gz
tar zxvf openssl-1.0.2e.tar.gz
cd openssl-1.0.2e
on
lsb_release -rd
Description: openSUSE Leap 42.1 (x86_64)
Release: 42.1
gcc -v
Using built-in specs.
COLLECT_GCC=gcc
COLLECT_LTO_WRAPPER=/usr/lib64/gcc/x86_64-suse-linux/5/lto-wrapper
Target: x86_64-suse-linux
Configured with: ../configure --prefix=/usr --infodir=/usr/share/info
--mandir=/usr/share/man --libdir=/usr/lib64 --libexecdir=/usr/lib64
--enable-languages=c,c++,objc,fortran,obj-c++,java,ada,go
--enable-checking=release --with-gxx-include-dir=/usr/include/c++/5
--enable-ssp --disable-libssp --disable-libvtv --enable-libmpx
--disable-plugin --with-bugurl=http://bugs.opensuse.org/
--with-pkgversion='SUSE Linux' --disable-libgcj --with-slibdir=/lib64
--with-system-zlib --enable-__cxa_atexit
--enable-libstdcxx-allocator=new --disable-libstdcxx-pch
--with-default-libstdcxx-abi=gcc4-compatible
--enable-version-specific-runtime-libs --enable-linker-build-id
--enable-linux-futex --program-suffix=-5 --without-system-libunwind
--enable-multilib --with-arch-32=x86-64 --with-tune=generic
--build=x86_64-suse-linux --host=x86_64-suse-linux
Thread model: posix
gcc version 5.2.1 20151130 [gcc-5-branch revision 231058] (SUSE Linux)
gcc -print-search-dirs
install: /usr/lib64/gcc/x86_64-suse-linux/5/
programs:
=/usr/lib64/gcc/x86_64-suse-linux/5/:/usr/lib64/gcc/x86_64-suse-linux/5/:/usr/lib64/gcc/x86_64-suse-linux/:/usr/lib64/gcc/x86_64-suse-linux/5/:/usr/lib64/gcc/x86_64-suse-linux/:/usr/lib64/gcc/x86_64-suse-linux/5/../../../../x86_64-suse-linux/bin/x86_64-suse-linux/5/:/usr/lib64/gcc/x86_64-suse-linux/5/../../../../x86_64-suse-linux/bin/
libraries:
=/usr/lib64/gcc/x86_64-suse-linux/5/:/usr/lib64/gcc/x86_64-suse-linux/5/../../../../x86_64-suse-linux/lib/x86_64-suse-linux/5/:/usr/lib64/gcc/x86_64-suse-linux/5/../../../../x86_64-suse-linux/lib/../lib64/:/usr/lib64/gcc/x86_64-suse-linux/5/../../../x86_64-suse-linux/5/:/usr/lib64/gcc/x86_64-suse-linux/5/../../../../lib64/:/lib/x86_64-suse-linux/5/:/lib/../lib64/:/usr/lib/x86_64-suse-linux/5/:/usr/lib/../lib64/:/usr/lib64/gcc/x86_64-suse-linux/5/../../../../x86_64-suse-linux/lib/:/usr/lib64/gcc/x86_64-suse-linux/5/../../../:/lib/:/usr/lib/
with following config
./config ... \
enable-ec_nistp_64_gcc_128 \
enable-rfc3779 \
enable-ecdsa \
no-idea \
no-ssl2 \
no-rc5 \
no-rc2 \
no-mdc2
invokes need for subsequent `make depend`
...
Since you've disabled or enabled at least one algorithm, you need to do
the following before building:
make depend
Configured for linux-x86_64.
which completes, but reports many instances of 'stddef.h' not found,
make depend
making depend in crypto...
make[1]: Entering directory
'/usr/local/src/openssl-TEST/openssl-1.0.2e/crypto'
makedepend: warning: cryptlib.c (reading /usr/include/stdlib.h, line
32): cannot find include file "stddef.h"
not in ./stddef.h
not in ../stddef.h
not in ../include/stddef.h
not in /usr/include/stddef.h
makedepend: warning: /usr/include/time.h includes
/usr/include/bits/types.h more than once!
Already have
/usr/include/bits/types.h
makedepend: warning: /usr/include/time.h includes
/usr/include/bits/types.h more than once!
Already have
/usr/include/bits/types.h
makedepend: warning: /usr/include/time.h includes
/usr/include/bits/types.h more than once!
Already have
/usr/include/bits/types.h
makedepend: warning: cryptlib.c (reading /usr/include/sys/types.h,
line 146): cannot find include file "stddef.h"
not in ./stddef.h
not in ../stddef.h
not in ../include/stddef.h
not in /usr/include/stddef.h
...
On this machine
locate stddef.h
/usr/include/linux/stddef.h
/usr/lib64/gcc/x86_64-suse-linux/4.8/include/stddef.h
/usr/lib64/gcc/x86_64-suse-linux/5/include/stddef.h
/usr/src/linux-4.3.0-21.g0e6e680/include/linux/stddef.h
/usr/src/linux-4.3.0-21.g0e6e680/include/uapi/linux/stddef.h
This same issue is raised, and unanswered at
[openssl-dev] `make depend`, advised by ./config, fails to find
stddef.h in system/compiler path. old bug (#3566) says don't bother with
`make depend`? true, or another bug?
https://mta.openssl.org/pipermail/openssl-dev/2015-April/001263.html
Also references this BUG
http://openssl-dev.openssl.narkive.com/93uFX5UC/openssl-org-3566-openssl-1-0-1j-make-depend-failes
with comment
Stephen Henson via RT 2014-10-16 12:50:20 UTC
Obviously this needs fixing but as a workaround: if you're building from
scratch (or after "make clean") it should compile fine with without
doing "make
depend".
Steve.
--
Dr Stephen N. Henson. OpenSSL project core developer.
Commercial tech support now available see: http://www.openssl.org
with no subsequent fix or reference
If I skip `make depend`
make clean
./config ...
make -j4
build completes with no obvious errors
At this upstream bug, 2007-2011,
Bug 10021 - [makedepend] complains of being unable to find stddef.h,
stdarg.h and others (edit)
https://bugs.freedesktop.org/show_bug.cgi?id=10021
" Jeremy Huddleston Sequoia 2011-10-09 03:11:01 UTC
If you want to submit a patch to add this support, we'll certainly
consider it, but nobody really cares about makedepend any more since we
migrated away from that build system..."
It's reasonable to expect to get a consistent/uptodate 'story' about the
use of 'make depend' ...
makedepend's been deprecated.
it seems it's NOT necessary (?) to a successful build of openssl from src.
the advice from the build system to use it is questionable, if not
unnecessary.
More information about the openssl-bugs-mod
mailing list