Hi folks, I'm trying to learn C using the K&R book. I wrote the following code to test something they are mentioning in chapter 2.7, but I can't compile it.
#include <stdio.h> #include <math.h> int main(int argc, char argv[]) { int i = 4; printf("Int: %f, Double: %f\n", sqrt(i), sqrt((double) i)); return 0; } This is the output I get by gcc: 18:29 [EMAIL PROTECTED]:~/Projekte/c/2 $ gcc -o test test.c /tmp/ccc01936: In function `main': /tmp/ccc01936(.text+0x17): undefined reference to `sqrt' /tmp/ccc01936(.text+0x2e): undefined reference to `sqrt' 18:30 [EMAIL PROTECTED]:~/Projekte/c/2 $ When I looked into /usr/include/math.h there was no definition of sqrt(). Instead there were some constants defined such as: #define M_2_SQRTPI 1.12837916709551257390 /* 2/sqrt(pi) */ I looked into /usr/doc/libc6-dev/changelog.gz and there is the entry: 1997-03-04 19:14 Andreas Schwab <[EMAIL PROTECTED]> * sysdeps/m68k/fpu/__math.h: Update feature tests. (fabs): Remove defininition, it is a gcc builtin. (sqrt, __sqrt): Remove definition, they have wrappers in libm. But I can't find any libm in dselect. This is still on a slink machine, I haven't come around to upgrading to potato yet. Anybody who can help me, getting sqrt() to work? Or is my code incorrect? TIA, Viktor -- Viktor Rosenfeld E-Mail: mailto:[EMAIL PROTECTED] HertzSCHLAG: http://www.informatik.hu-berlin.de/~rosenfel/hs/