Joost Kraaijeveld wrote:
Hi,

I am trying to compile MICO, a CRBA implementation. It uses configure
for it's configuration.

Using "AC_CHECK_FUNCS(infnanl isnanl isinfl asinl ldexpl frexpl fabsl
floorl ceill):" in configure.in results in  "#define HAVE_ASINL 1" in
config.h

This appears however to be not true: during the actual compilation the
compiler complains when encountering the function. There is actually no
header that defines the function, so the compiler is right ;-).

According to a mail I found on internet
(http://www.mico.org/pipermail/mico-devel/2005-March/009248.html) this
happens because configure does not uses a compiler header but creates
its own function prototype and the function is included in the libraries
(as far as I can see it appears to be in libstdc++.a)
1. Is the diagnose of the problem correct (I have looked into the macros
but I have to admit that I do not understand what they do) ?
2. If so, is there a solution for this problem?
3. If stdc++ contains asinl, is there a reason why it is not used?

Maybe you have omitted information, which might explain why you discarded some obvious possibilities, but here are some points:
newlib doesn't include full support for long double math, as you hinted.
You could supply your own asinl() (easy way: use the built in x87 atan2l())). If the function you want is in libstdc++, gcc doesn't see it, but g++ should see it. You could fix the config.h manually, if, for example, you have a reason for running it only under g++, but you want the result to be applicable to gcc as well.

--
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple
Problem reports:       http://cygwin.com/problems.html
Documentation:         http://cygwin.com/docs.html
FAQ:                   http://cygwin.com/faq/

Reply via email to