Hello! On Tue, Oct 09, 2007 at 09:27:52AM -0300, Pablo Cavalcanti wrote:
This is my first email to this list. I am trying to install GiNaC in cygwin and an error always stops the ./configure. I am not very used to GNU/Linux systems, but I guess that CLN installation didn't have troubles. But it seems that GiNaC installation can't find CLN. Well, this is the error:
checking for pkg-config... /cygdrive/c/GTK/bin/pkg-config checking pkg-config is at least version 0.9.0... yes checking for CLN... configure: error: Package requirements (cln >= 1.1.6) were not met. Consider adjusting the PKG_CONFIG_PATH environment variable if you installed software in a non-standard prefix.
Alternatively you may set the CLN_CFLAGS and CLN_LIBS environment variables to avoid the need to call pkg-config. See the pkg-config man page for more details.
Reading the message-history I found some tips.
I tried setting some variables but always got the same error. My attempts:
PKG_CONFIG_PATH=/usr/local/lib/pkgconfig ./configure
Is there cln.pc file in the /usr/local/lib/pkgconfig directory? I've got a similar problem when compiling CLN on ReactOS (with MinGW tools) and cross-compiling on Linux. For some weird reason cln.pc does not get installed, so I had to copy it manually. Could you also try the following (this should work even without cln.pc being installed into the right directory): CLN_LIBS="-L/usr/local/lib -lcln" CLN_CFLAGS="-I/usr/local/include" ./configure or (if you've compiled CLN with GMP) CLN_LIBS="-L/usr/local/lib -lcln -lgmp" CLN_CFLAGS="-I/usr/local/include" ./configure Unfortunately, all you further attempts are incorrect (I'll explain why). [snipped]
As I also read, It's important to send the config.log for you too. I pasted at the end of this email.
There is nothing unusual in the config.log (modulo pkg-config failing to find cln.pc, of course).
./configure PKG_CONFIG_PATH=/usr/local/lib/pkgconfig
FOO=bar ./configure starts the configure script with environment variable FOO set to "bar". ./configure FOO=bar starts the configure script and passes "FOO=bar" command line argument. It does NOT set any environment variables at all. One might ask "why ./configure CPPFLAGS='-DFOO' works?". Well, the configure script parses command line and extracts some "important" flags (such as CFLAGS, CXXFLAGS, etc.) and set corresponding environment variable[s] on its own. This is somewhat confusing. so to be really sure pass environment variables in a usual way: FOO=bar BAR=baz ./configure
./configure PKG_CONFIG_PATH=/usr/local/lib/pkgconfig CPPFLAGS="-I/usr/local/include" LDFLAGS="-L/usr/local/lib" CLN_CFLAGS="-I/usr/local/include/cln"
First of all, CLN_CFLAGS does not get set. Secondly, the configure script expects CLN_LIBS along with CLN_CFLAGS. It says: "Alternatively you may set the CLN_CFLAGS _AND_ CLN_LIBS environment variables" So correct variant would be CLN_LIBS="-L/usr/local/lib -lcln" CLN_CFLAGS="-I/usr/local/include" ./configure -I/usr/local/include/cln is incorrect too, since GiNaC does #include <cln/cl_something.h> Best regards, Alexei P.S. Sorry for long delay and thanks for a sensible report. -- All science is either physics or stamp collecting.