It's a link-time error; you need to add '-lm' to your command line in order to pull in the math library.
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.:
Won't compile, giving:Code:#include <stdio.h> #include <math.h> int main(){ printf("%f\n",sqrt(123.456)); return 0; }
Can someone explain what's going wrong? I have no problems including <ctype.h> or <string.h>.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
I'm a complete Linux noob, so please help me...
It's a link-time error; you need to add '-lm' to your command line in order to pull in the math library.
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.
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!
Thanks again!
I'm not afraid of a long journey!

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...
$162.04
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
$82.00
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
$13.89
Compressed Air Duster Rechargeable Computer Vacuum Cleaner for PC Keyboard Toys
$16.99
2-in-1 Compressed Air Duster & Vacuum, Brushless Motor, 320000RPM
$37.99
Cordless Handheld Vacuum Cleaner Compatible with DeWalt 20V Battery
$107.67
Mini Computer Vacuum Cleaner & Compressed Air Duster 14500Pa, 110000RPM, Cordles
$53.99