[Compile error] network.c: In function 'network_init': network.c:483: error: 'EC_KEY' undeclared

Added by PrivL about 3 years ago

Hello, i'm not pro in compiling, i have been able to compile successfully from svn a lot of times before, but this time i get this error:

network.c: In function 'network_init':
network.c:483: error: 'EC_KEY' undeclared (first use in this function)
network.c:483: error: (Each undeclared identifier is reported only once
network.c:483: error: for each function it appears in.)
network.c:483: error: 'ecdh' undeclared (first use in this function)
network.c:484: warning: unused variable 'nid'

I'm supposed to set the value of EC_KEY somewhere? What's EC_KEY?

If someone can give me a hint on how to fix this it could be great, thanks.

(Centos 5.6 2.6.18-194.8.1.el5.028stab070.2, gcc 4.1.2-50, openssl 0.9.8e-12, with ./configure --with-openssl --with-openssl-libs=/usr/lib, lighty 1.4.x)


Replies (5)

RE: [Compile error] network.c: In function 'network_init': network.c:483: error: 'EC_KEY' undeclared - Added by XVilka about 3 years ago

EC - Elliptic Curve. Try newer version of OpenSSL, which support Elliptic Curve Cryptography. 1.0 or later

RE: [Compile error] network.c: In function 'network_init': network.c:483: error: 'EC_KEY' undeclared - Added by 1lnxraider about 3 years ago

Having the same issue as reported by PrivL

OS: CentOS release 5.6 (Final)
kernel: 2.6.18-238.12.1.el5
openssl: OpenSSL 0.9.8e-fips-rhel5 01 Jul 2008
lighttpd: 1.4.29
gcc: (GCC) 4.1.2 20080704 (Red Hat 4.1.2-50)

The only work around I've tried is to place a check for OPENSSL_NO_ECDH, like it is used for the object creation for ecdh near line 654.

#if OPENSSL_VERSION_NUMBER >= 0x0090800fL
#ifndef OPENSSL_NO_ECDH
EC_KEY *ecdh;
int nid;
#endif
#endif

This will at least allow the code to compile using the configure options listed above. This is by no means a fix. What is the correct fix for this?

RE: [Compile error] network.c: In function 'network_init': network.c:483: error: 'EC_KEY' undeclared - Added by matthias about 3 years ago

Same here too when trying to rebuild on RHEL6 but also Fedora 15.

RE: [Compile error] network.c: In function 'network_init': network.c:483: error: 'EC_KEY' undeclared - Added by rayhoffman about 3 years ago

It is a lot easier to solve this problem than it seems.

You need to get the latest OpenSSL release from here: http://www.openssl.org/source/

Version 1.0.0d is the latest release at this time. Unpack and build it with:

./config --openssldir=/usr/local/ssl
make
make install

(replace /usr/local/ssl with another directory for OpenSSL if you prefer)

Then configure the build of lighttpd as usual, with the OpenSSL directory specified in the --with-openssl= paramter. Like this:

./configure --prefix=/usr/local/lighttpd-1.4.29 --with-fam --with-openssl=/usr/local/ssl

RE: [Compile error] network.c: In function 'network_init': network.c:483: error: 'EC_KEY' undeclared - Added by lvs almost 3 years ago

I think the check for OPENSSL_NO_ECDH should be included to allow lighttpd to compile on systems like Fedora/RHEL where EC support was removed from openssl due to patent issues. I therefore filed a bug and attached a patch here: http://redmine.lighttpd.net/issues/2335

Bests, Lars

(1-5/5)