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/

Reply via email to