./build curl generates: url.c:83:18: error: idna.h: No such file or directory

If the command

./build curl

generates the error:

libtool: compile:
gcc -DHAVE_CONFIG_H -I../include/curl -I../include  -I../include -I../lib
-I../lib -I/usr/kerberos/include -g0 -O2  -Wno-system-headers -MT
url.lo -MD -MP -MF .deps/url.Tpo -c url.c   -fPIC -DPIC -o .libs/url.o
url.c:83:18: error: idna.h: No such file or directory
url.c:84:17: error: tld.h: No such file or directory
url.c:85:24: error: stringprep.h: No such file or directory
url.c:87:22: error: idn-free.h: No such file or directory
url.c: In function 'tld_check_name':
url.c:3400: error: 'IDNA_SUCCESS' undeclared (first use in this
function)
url.c:3400: error: (Each undeclared identifier is reported only once
url.c:3400: error: for each function it appears in.)
url.c:3406: error: 'TLD_SUCCESS' undeclared (first use in this 
function)
url.c:3407: error: 'Tld_rc' undeclared (first use in this function)
url.c:3407: error: expected ')' before 'rc'
url.c:3407: warning: assignment makes pointer from integer without a
cast
url.c:3409: error: 'TLD_INVALID' undeclared (first use in this 
function)
url.c: In function 'fix_hostname':
url.c:3452: error: 'IDNA_SUCCESS' undeclared (first use in this
function)
*** Error code 1

the solution is to edit the "build" script, and find the function for doCURL() which should have a make command as follows:

make CPPFLAGS=-I/usr/kerberos/include

change it to just be:

make



other reported solution:

mkdir -p /usr/kerberos/include
cd /usr/kerberos/include
ln -s /usr/local/include/idn-free.h .
ln -s /usr/local/include/idn-int.h .
ln -s /usr/local/include/idna.h .
ln -s /usr/local/include/stringprep.h .
ln -s /usr/local/include/tld.h .


Was this article helpful?

mood_bad Dislike 0
mood Like 0
visibility Views: 22634