<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8">
</head>
<body text="#000000" bgcolor="#FFFFFF">
<font face="Tahoma">Hello All,<br>
I'm stumped I've been trying to compile dnsmasq for Centos 7.5
because the version for Centos 7.5 doesn't have any of the extra
features turned on, namely dnssec and several others. But I keep
getting this error message no matter what I do:<br>
<br>
ccache gcc -Wall -W -O2 -DVERSION='"2.76"'
-I/usr/include/dbus-1.0 -I/usr/lib64/dbus-1.0/include
-I/usr/local/include -c dnssec.c <br>
dnssec.c: In function ‘dnsmasq_ecdsa_verify’:<br>
dnssec.c:266:36: error: ‘nettle_secp_256r1’ undeclared (first use
in this function)<br>
nettle_ecc_point_init(key_256, &nettle_secp_256r1);<br>
^<br>
dnssec.c:266:36: note: each undeclared identifier is reported only
once for each function it appears in<br>
dnssec.c:279:36: error: ‘nettle_secp_384r1’ undeclared (first use
in this function)<br>
nettle_ecc_point_init(key_384, &nettle_secp_384r1);<br>
^<br>
make[1]: *** [/mnt/sdb1/dnsmasq-2.76/Makefile:157: dnssec.o] Error
1<br>
make[1]: Leaving directory '/mnt/sdb1/dnsmasq-2.76/src'<br>
make: *** [Makefile:83: all] Error 2<br>
<br>
I have gotten it in every version I've tried to compile. I've
tried dnsmasq-master, dnsmasq-2.80, most recent snapshot,
dnsmasq-2.76. I tried having it read from openssl-1.1.1 that I
have complied for nginx, but that didn't work, so I recompiled
Nettle-3.4 ( I used this for the configure line: ./configure
--enable-fat --enable-gcov --disable-documentation
--disable-arm-neon
--with-include-path=/opt/openssl/include/openssl ) Took a few
tried to finally get it to compile but I got it to use the files
from openssl-1.1.1 so that Nettle would be up to the task. <br>
<br>
For each try I had to copy dbus.h from my includes folder because
it will error out and it seems to like it right in the main
folder, I've also tried copying the whole dbus folder from
includes to the src folder, for 2.80 I copied the nettle includes
into src because it couldn't find that as well.<br>
<br>
These are the changes I did to config.h each time I tried to
compile: This was for 2.7<br>
<br>
#define DEFLEASE 86400 /* default lease time, 1 hour */<br>
#define CHUSER "dnsmasq"<br>
#define CHGRP "dnsmasq"<br>
<br>
#define HAVE_LUASCRIPT */<br>
#define HAVE_DBUS */<br>
#define HAVE_IDN */<br>
#define HAVE_CONNTRACK */<br>
#define HAVE_DNSSEC */<br>
<br>
#define LEASEFILE "/var/lib/dnsmasq/dnsmasq.leases"<br>
<br>
For 2.8<br>
#define HAVE_LUASCRIPT<br>
#define HAVE_DBUS<br>
#define HAVE_IDN<br>
#define HAVE_LIBIDN2<br>
#define HAVE_CONNTRACK<br>
#define HAVE_DNSSEC<br>
<br>
In the makefile I chg Lua to 5.3 because Centos only has 5.1 and I
added this for 2.8 LIBS = -L/usr/local/lib64 - this time I didn't
copy over the nettle includes:<br>
<br>
crypto.c: In function ‘dnsmasq_ecdsa_verify’:<br>
crypto.c:297:36: error: ‘nettle_secp_256r1’ undeclared (first use
in this function)<br>
nettle_ecc_point_init(key_256, &nettle_secp_256r1);<br>
^<br>
crypto.c:297:36: note: each undeclared identifier is reported only
once for each function it appears in<br>
crypto.c:310:36: error: ‘nettle_secp_384r1’ undeclared (first use
in this function)<br>
nettle_ecc_point_init(key_384, &nettle_secp_384r1);<br>
^<br>
make[1]: *** [/mnt/sdb1/dnsmasq-2.80/Makefile:161: crypto.o] Error
1<br>
make[1]: Leaving directory '/mnt/sdb1/dnsmasq-2.80/src'<br>
make: *** [Makefile:86: all] Error 2<br>
<br>
This is line 297: nettle_ecc_point_init(key_256,
&nettle_secp_256r1);<br>
This is line 310: nettle_ecc_point_init(key_384,
&nettle_secp_384r1);<br>
<br>
I looked through openssl to try and see how the defined this and I
can't remember where it was at<br>
<br>
</font>
</body>
</html>