I was hoping that someone would be able to suggest something about this (the same process works perfectly fine on my Debian Jessy machine)
$ uname -a
Linux front 4.8.0-1-amd64 #1 SMP Debian 4.8.7-1 (2016-11-13) x86_64 GNU/Linux
$ git config --get remote.origin.url
https://github.com/bitcoin-core/secp256k1
$ git pull
Already up-to-date.
$ ./autogen.sh
...
$ ./configure
...
$ make
gcc -I. -g -O2 -Wall -Wextra -Wno-unused-function -c src/gen_context.c -o gen_context.o
gcc gen_context.o -o gen_context
./gen_context
CC src/libsecp256k1_la-secp256k1.lo
CCLD libsecp256k1.la
/usr/bin/ar: `u' modifier ignored since `D' is the default (see `U')
CC src/tests-tests.o
src/tests.c: In function ‘test_ecdsa_der_parse’:
src/tests.c:3702:52: error: dereferencing pointer to incomplete type ‘ECDSA_SIG {aka struct ECDSA_SIG_st}’
valid_openssl = !BN_is_negative(sig_openssl->r) &&
!BN_is_negative(sig_openssl->s) && BN_num_bits(sig_openssl->r) > 0 &&
BN_num_bits(sig_openssl->r) <= 256 && BN_num_bits(sig_openssl->s) > 0 &&
BN_num_bits(sig_openssl->s) <= 256;
^~
Makefile:1050: recipe for target 'src/tests-tests.o' failed
make: *** [src/tests-tests.o] Error 1
EDIT: replacing ./configure by ./configure --enable-tests=no leads to a successful build. The command make check is also successful.
EDIT2: As indicated by Andrew, the answer is to use ./configure --enable-openssl-tests=no
EDIT3: This issue has been resolved on master branch, as far as I can tell