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
  •  


Mini Computer Vacuum USB Keyboard Cleaner PC Laptop Brush Dust Cleaning Kit NEW picture

Mini Computer Vacuum USB Keyboard Cleaner PC Laptop Brush Dust Cleaning Kit NEW

$13.89



LEVOIT Cordless Vacuum Cleaner, Stick Vac with Tangle-Resistant Design, Up to... picture

LEVOIT Cordless Vacuum Cleaner, Stick Vac with Tangle-Resistant Design, Up to...

$162.04



Cordless Air Duster & Vacuum Cleaner for Keyboard & PC Cleaning - 110000RPM Powe picture

Cordless Air Duster & Vacuum Cleaner for Keyboard & PC Cleaning - 110000RPM Powe

$53.99



V3 Robot Vacuum and Mop Combo,Self-Charging,5000pa Strong Suction,WiFi/Alexa NIB picture

V3 Robot Vacuum and Mop Combo,Self-Charging,5000pa Strong Suction,WiFi/Alexa NIB

$82.00



WaterSaver CT4880F-225WSA Vacuum VAC Panel Mount Needle Valve 3/8

WaterSaver CT4880F-225WSA Vacuum VAC Panel Mount Needle Valve 3/8" IPS 1 Pc

$78.00



US Mini Computer Vacuum USB Keyboard Cleaner PC Laptop Brush Dust Cleaning Kits picture

US Mini Computer Vacuum USB Keyboard Cleaner PC Laptop Brush Dust Cleaning Kits

$13.89



Compressed Air Duster Rechargeable Computer Vacuum Cleaner for PC Keyboard Toys picture

Compressed Air Duster Rechargeable Computer Vacuum Cleaner for PC Keyboard Toys

$16.99



2-in-1 Compressed Air Duster & Vacuum, Brushless Motor, 320000RPM picture

2-in-1 Compressed Air Duster & Vacuum, Brushless Motor, 320000RPM

$37.99



Cordless Handheld Vacuum Cleaner Compatible with DeWalt 20V Battery picture

Cordless Handheld Vacuum Cleaner Compatible with DeWalt 20V Battery

$107.67



Mini Computer Vacuum Cleaner & Compressed Air Duster 14500Pa, 110000RPM, Cordles picture

Mini Computer Vacuum Cleaner & Compressed Air Duster 14500Pa, 110000RPM, Cordles

$53.99