I hope this is fixed by https://github.com/openssl/openssl/pull/11655 On Mon, 27 Apr 2020 23:14:12 +0200, Norm Green wrote: > > I don't know if this change was intentional or not. > With 3.0 alpha, compiling this simple program on Linux fails but > succeeds on 1.1: > > ----------------- > #include <openssl/ssl.h> > ---------------- > > gcc -c -I \ > /home/normg/local/gs360_opensslv3/slow50/openssl/install50/include test.c > > > In file included from > /home/normg/local/gs360_opensslv3/slow50/openssl/install50/include/openssl/types.h:20:0, > from > /home/normg/local/gs360_opensslv3/slow50/openssl/install50/include/openssl/err.h:26, > from test.c:1: > /home/normg/local/gs360_opensslv3/slow50/openssl/install50/include/openssl/ssl.h:235:28: > error: 'SRTP_PROTECTION_PROFILE' does not name a type > DEFINE_OR_DECLARE_STACK_OF(SRTP_PROTECTION_PROFILE) > ^ > /home/normg/local/gs360_opensslv3/slow50/openssl/install50/include/openssl/safestack.h:30:45: > note: in definition of macro 'SKM_DEFINE_STACK_OF' > typedef int (*sk_##t1##_compfunc)(const t3 * const *a, const t3 > *const *b); \ > ...<pages and pages of warnings/errors> > > > > To fix it, all we need is to include err.h first, as follows: > > ----------------- > #include <openssl/err.h> > #include <openssl/ssl.h> > ---------------- > > I scanned the wiki and readme and did not see a requirement to include > err.h before ssl.h. Is this intentional or a bug? > > It's easy enough for me to fix this in my source code, but other > packages that rely upon openssl break with "ssl.h is unusable" errors > due of this change (OpenLDAP is one such example). > > Norm Green > -- Richard Levitte levitte@xxxxxxxxxxx OpenSSL Project http://www.openssl.org/~levitte/