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.

_______________________________________________
openssl-bugs-mod mailing list
openssl-bugs-...@openssl.org
https://mta.openssl.org/mailman/listinfo/openssl-bugs-mod

_______________________________________________
openssl-dev mailing list
To unsubscribe: https://mta.openssl.org/mailman/listinfo/openssl-dev

Reply via email to