[openssl-users] 'makedepend' in openssl builds: clarify need and correct usage

lists lists at rustichelli.net
Mon Mar 14 15:24:10 UTC 2016

On 03/10/2016 03:52 PM, PGNet Dev wrote:
> I'm building openssl 1.0.2g on linux64.
> After
>     ./configure ...

Did you mean "./config ..."?

> I'm prompted
>     Since you've disabled or enabled at least one algorithm, you need 
> to do
>     the following before building:
>         make depend
> Exec'ing the 'make depend' stage returns lots of warnings,
>     make depend
>         making depend in crypto...
>         make[1]: Entering directory 
> '/usr/local/src/openssl/openssl-1.0.2g/crypto'
>         makedepend: warning:  cryptlib.c (reading 
> /usr/include/stdlib.h, line 32): cannot find include file "stddef.h"
>                 not in ./stddef.h
>   [...]
> On the distro, stddef.h is available at
>     /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
> Reading wiki & reports at openssl, there's confusing, if not 
> conflicting, advice.
> Must use it,
>     (1) https://wiki.openssl.org/index.php/Compilation_and_Installation
>         Dependencies
>         If you are prompted to run make depend, then you must do so. 
> Its not just for developers who are updating sources. Its required to 
> update the standard distribution once configuration options change.

In your specific case, it seems that you have disabled a protocol or 
cipher or whatever, in other words you have changed the default options.
I guess the "..." in your command means just that you are omitting some 
So in such case you need "make depend". What is said in point (1) is 
For instance, if you compile some not-latest OpenSSL with -nossl2 (this 
is the current hype), compilation will fail unless you issue "make depend".
Sorry but I don't exactly understand how you are quoting the rest, so I 
cannot see exactly what is that you find confusing.

> Don't need it
>     (2) https://wiki.openssl.org/index.php/Compilation_and_Installation
>         Compilation
>             After configuring the library, you should run make. If 
> prompted, there's usually no need to make depend since you are 
> building from a clean download.
>     (3) 
> https://rt.openssl.org/Ticket/Display.html?id=3566&user=guest&pass=guest
>             "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".
> Re: 'makedepend',
>     https://en.wikipedia.org/wiki/Makedepend
>         makedepend was developed as part of MIT's Project Athena. It 
> was used extensively in building X11 and ancillary packages, but has 
> since become superseded by the dependency generation facilities of 
> various compilers, and is now used primarily as a worst-case fallback, 
> e.g. by depcomp and GNU Automake.
> Further, a quick check (https://www.google.com/search?q=makedepend+stddef
> ) shows that there's a long history (unresolved?) re: not finding the 
> sys's stddef.h
> Digging around some more, I find that virtually the same issue was 
> raised on openssl-dev in Apr 2015,
>     https://mta.openssl.org/pipermail/openssl-dev/2015-April/001263.html
>     [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?
> with no reply at all.
> What, then, IS the current need for 'makedepend' in openssl, and what, 
> exactly, is the correct/recommended usage for its use in an openssl 
> build?

More information about the openssl-users mailing list