Le 8 nov. 04, à 18:07, Dan Nelson a écrit :
In the last episode (Nov 08), Xavier Beaudouin said:
I have the following error when compiling pike 7.2.570 on freebsd sparc64 :
Compiling peep_t.c svalue.o(.text+0x23bc): In function `is_lt': : undefined reference to `_Qp_cmp' svalue.o(.text+0x2428): In function `is_lt': : undefined reference to `_Qp_cmp' svalue.o(.text+0x28a0): In function `is_lt': : undefined reference to `_Qp_cmp'
Can you tell me where is this comming from ?
Are you building with --with-long-double-precision?
Yes I am using :
--with-thread-library=${PTHREAD_LIBS} \ --with-double-precision \ --with-long-double-precision \
Do you think this the culprit?
It looks like gcc has decided to use a function call to implement a long double compare, but the function was never implemented. Could you see if you can generate a minimal testcase that produces this error? Something like
main() { long double a = 1.0; long double b = 2.0; return (a<b); }
possibly with different types for a or b, or a different comparison operator. I had someone try this particular testcase with a -current box, and it linked a _Qp_flt function instead of _Qp_cmp. I did a quick search and couldn't really determine where the _Qp_flt or _Qp_cmp functions are supposed to come from...
Ok I'll do that RSN (tomorrow morning because I am not able to join my FreeBSD 5.3 sparc64 machines here) and give you the results.
/Xavier
-- Xavier Beaudouin - Unix System Administrator & Projects Leader. President of Kazar Organization : http://www.kazar.net/ Please visit http://caudium.net/, home of Caudium & Camas projects