Results 1 to 5 of 5

Thread: problem with <math.h> using gcc

  1. #1
    Junior Member
    Join Date
    Jan 2004
    Posts
    3

    problem with <math.h> using gcc

    I started using Knoppix (3.3) some days ago, mainly to write C-programs (but I'm liking it more&more, also for the rest of the package!).
    I am, however, experiencing problems in compiling programs that use <math.h>. F.i.:
    Code:
    #include <stdio.h>
    #include <math.h>
    
    int main(){
       printf("%f\n",sqrt(123.456));
       return 0;
       }
    Won't compile, giving:
    Code:
    knoppix@ttyp0[test]$ gcc test.c
    /tmp/cc8Hr3am.o(.text+0x1a): In function `main':
    : undefined reference to `sqrt'
    collect2: ld returned 1 exit status
    Can someone explain what's going wrong? I have no problems including <ctype.h> or <string.h>.

    I'm a complete Linux noob, so please help me...

  2. #2
    Senior Member registered user
    Join Date
    Mar 2003
    Posts
    555
    It's a link-time error; you need to add '-lm' to your command line in order to pull in the math library.

  3. #3
    Junior Member
    Join Date
    Jan 2004
    Posts
    3
    Thx very much! It worked!

    Are there more problems to be expected when including standard header files? Is -lm always enough to cure these kind of linking problems?
    And more important: where can I find info on these matters?

    Thx in advance.

  4. #4
    Senior Member registered user
    Join Date
    Mar 2003
    Posts
    555
    These are not problems, just the way the C compiler works on pretty much every unix system. -lm is a shortcut meaning you want the linker to look in standard places for a library called libm.a. On linux, tens of libraries live under /usr/lib, amongst which the default libc.a. If you wanted to link against say libcups.a, you could similarly specify -lcups. If you want to see what's in a library , use ar (eg "ar -tvf /usr/lib/libm.a").

    As to where to look for information, I'm afraid the references I might give you would be embarassingly outdated (hints: Kernighan & Richie, Kernighan & Pike, Rochkind, Stevens). Just google for "unix programming". Have fun ... and be prepared for what might become a long journey!

  5. #5
    Junior Member
    Join Date
    Jan 2004
    Posts
    3
    Thanks again!
    I'm not afraid of a long journey!

Similar Threads

  1. COPROCESSOR AND MATH EMULATION
    By kb in forum General Support
    Replies: 0
    Last Post: 06-10-2004, 06:51 PM
  2. Math symbols messed up in Mozilla
    By Arkaein in forum Hdd Install / Debian / Apt
    Replies: 0
    Last Post: 05-03-2004, 07:58 PM
  3. openoffice math tutorial
    By cherry in forum General Support
    Replies: 0
    Last Post: 03-22-2004, 06:48 PM
  4. Problem Unique to Knoppix Later Versions!(SIS problem!)
    By bongski55 in forum Hardware & Booting
    Replies: 4
    Last Post: 11-15-2003, 10:19 AM
  5. Wierd Problem With USB Keyboard, Maybe Motherboard Problem
    By Triple Six in forum Hardware & Booting
    Replies: 2
    Last Post: 04-15-2003, 04:23 AM

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  


GIGABYTE A520M DS3H AC AMD AM4 Motherboard mATX picture

GIGABYTE A520M DS3H AC AMD AM4 Motherboard mATX

$59.99



GIGABYTE Z790 AORUS ELITE AX LGA 1700 Intel Z790 ATX Motherboard with DDR5 picture

GIGABYTE Z790 AORUS ELITE AX LGA 1700 Intel Z790 ATX Motherboard with DDR5

$189.99



Intel H310 LGA1151 8-9th Gen DDR4 M.2 NVMe mATX Motherboard IO Shield Battery picture

Intel H310 LGA1151 8-9th Gen DDR4 M.2 NVMe mATX Motherboard IO Shield Battery

$54.99



ASUS PRIME Z890-P WIFI Z890 LGA 1851 ATX motherboard, Intel® Core™ Ultra Series picture

ASUS PRIME Z890-P WIFI Z890 LGA 1851 ATX motherboard, Intel® Core™ Ultra Series

$235.99



GIGABYTE B365 HD3 LGA1151 Intel 9th Gen motherboard picture

GIGABYTE B365 HD3 LGA1151 Intel 9th Gen motherboard

$59.99



MSI B550M PRO-VDH Micro-ATX Motherboard - AMD AM4, Ryzen 5000/4000/3000 Ready, P picture

MSI B550M PRO-VDH Micro-ATX Motherboard - AMD AM4, Ryzen 5000/4000/3000 Ready, P

$71.49



Asus Prime B660M-A AC D4 Motherboard Intel LGA 1700 14th 13th 12th Gen DDR4 picture

Asus Prime B660M-A AC D4 Motherboard Intel LGA 1700 14th 13th 12th Gen DDR4

$79.99



⁠Intel H81 Motherboard M.2 NVMe LGA 1150 mATX w/ IO Shield (Random Slot Color)⁠ picture

⁠Intel H81 Motherboard M.2 NVMe LGA 1150 mATX w/ IO Shield (Random Slot Color)⁠

$29.90



ASUS PRIME Z490-V Motherboard Intel Z490 10th gen DDR4 LGA 1200 ATX w/ IO Shield picture

ASUS PRIME Z490-V Motherboard Intel Z490 10th gen DDR4 LGA 1200 ATX w/ IO Shield

$84.99



Gigabyte GA-B85M-D3H Motherboard picture

Gigabyte GA-B85M-D3H Motherboard

$54.99