cURL / Mailing Lists / curl-users / Single Mail

curl-users

Re: install error during make on RH

From: jayjwa <jayjwa_at_atr2.ath.cx>
Date: Thu, 17 Feb 2005 12:23:33 -0500

On Thu, 17 Feb 2005 in curl-users:

-> Can someone shed some light on what is causing this error during make.
->
-> bash-2.04# make
-> Making all in lib
-> make[1]: Entering directory `/usr/local/src/curl-7.13.0/lib'
-> make all-am
-> make[2]: Entering directory `/usr/local/src/curl-7.13.0/lib'
-> if /bin/sh ../libtool --tag=CC --mode=compile gcc -DHAVE_CONFIG_H
-> -I../include -I../lib -I../lib -g -O2 -MT file.lo -MD -MP -MF
-> ".deps/file.Tpo" -c -o file.lo file.c; \
-> then mv -f ".deps/file.Tpo" ".deps/file.Plo"; else rm -f
-> ".deps/file.Tpo"; exit 1; fi
-> gcc -DHAVE_CONFIG_H -I../include -I../lib -I../lib -g -O2 -MT file.lo
-> -MD -MP -MF .deps/file.Tpo -c file.c -fPIC -DPIC -o .libs/file.o
-> In file included from file.c:79:
-> urldata.h:68:17: rsa.h: No such file or directory
-> urldata.h:69:20: crypto.h: No such file or directory
-> urldata.h:70:18: x509.h: No such file or directory

You need an -I include path added to your compile command to find the
OpenSSL headers. They get included like this:

#include <openssl/*****.h>

So, if you have your openssl stuff up in /usr/local, the headers would
probably be in /usr/local/include/openssl/(all the those files it can't
find). In this case, -I/usr/local/include would fix it. Just before you do
'make all', you can edit the Makefiles (there may be more than one that
sets the CFLAGS vars) to add whichever -I tag you need on to what's
already written down for CFLAGS. Also, it's likely if the headers where in
an odd place, the libraries themselves are as well. They work the same
way, but use -L tag with the path pointed to where the libraries are
living. Add that tag onto the variable LDFLAGS.

Worth noting as well is that some linux distos don't give you a "full"
install of a package. While you may think you have Openssl, you might be
lacking the development side of the package (the headers, like rsa.h, and
the libraries, like libcrypto.a). Such distros frequently have a "devel"
version, in an entirely seperate package.

Check out config.log in the top level of the build tree to see what it was
thinking when it was trying to find Openssl. Not to long ago I posted
about this issue, but with mine it flat-out decided I didn't have Openssl
and refused to include it. You may also want to check out the docs on
"configure" as well, especially if you build source often. "configure"
keeps a cache of answers to the questions it asks, so while you may have
re-configured at some point to point to where Openssl was, configure was
still using it's old (and incorrect), cached values.

HTH,
jayjwa
Received on 2005-02-17