LinuxQuestions.org
Share your knowledge at the LQ Wiki.
Go Back   LinuxQuestions.org > Forums > Linux Forums > Linux - General
User Name
Password
Linux - General This Linux forum is for general Linux questions and discussion.
If it is Linux Related and doesn't seem to fit in any other forum then this is the place.

Notices

Reply
 
Search this Thread
Old 07-22-2011, 06:31 PM   #1
acharyaa
LQ Newbie
 
Registered: Jan 2010
Posts: 5

Rep: Reputation: 0
Unhappy Error "Undefined reference" while compiling a c program in linux


Hi
I am trying to compile a built up code for a model. While compiling, I got the error of "undefined Reference" as below.I tried to compile with

gcc rout_version.c



/tmp/cclgEVdE.o: In function `MakeConvolution':
rout_version.c.text+0x1455): undefined reference to `sin'
rout_version.c.text+0x14a9): undefined reference to `sin'
/tmp/cclgEVdE.o: In function `MakeUH':
rout_version.c.text+0x2573): undefined reference to `sqrt'
rout_version.c.text+0x25d8): undefined reference to `pow'
rout_version.c.text+0x2613): undefined reference to `exp'
collect2: ld returned 1 exit status



I looked at the similar post in linux questions.org and tried to see if I can link like that. Since the error function "MakeConvolution" is a different file than the rout_version.c file, I was not able to fix it. I have attached related files with this post that might be helpful to fix this error in "rout_version.c". The file extensions are "F file for make convolution" ".c for rout_version.c". I don't know if it makes a difference but I had to change the extension since I can upload only txt file extension. The same code worked in "cygwin" (linux interface in windows) while it do not run in Linux. I can get object file (.O) in cygwin but get error in Linux. I need to run the program in actual Linux.

If anyone can help me out, it will be a great relief for me.


Sham
Attached Files
File Type: txt make_convolution.txt (4.5 KB, 3 views)
File Type: txt Makefile.txt (1.3 KB, 6 views)
File Type: txt rout_version.c.txt (32.9 KB, 7 views)
 
Old 07-22-2011, 11:12 PM   #2
shambler
Member
 
Registered: Sep 2006
Location: Canada
Distribution: openSUSE 11.3, Xubuntu 10.10, Ubuntu 11.04
Posts: 53

Rep: Reputation: 23
You need to explicitly link the math library. Like so:
Code:
$ gcc rout_version.c -lm
$ ls
a.out  rout_version.c
$
 
1 members found this post helpful.
Old 07-25-2011, 10:59 AM   #3
acharyaa
LQ Newbie
 
Registered: Jan 2010
Posts: 5

Original Poster
Rep: Reputation: 0
Smile

Thank You Shambler, it worked. I appreciate it. It would have taken me weeks to find what's going on. You guys are really helpful.

BTW why we need to link it to math library? What it does? Just curious since I am new and it's a built up code.

Sham
 
Old 07-25-2011, 08:06 PM   #4
chrism01
Guru
 
Registered: Aug 2004
Location: Sydney
Distribution: Centos 6.5, Centos 5.10
Posts: 16,264

Rep: Reputation: 2028Reputation: 2028Reputation: 2028Reputation: 2028Reputation: 2028Reputation: 2028Reputation: 2028Reputation: 2028Reputation: 2028Reputation: 2028Reputation: 2028
... err because that's where the (code for) maths fns like sin(), pow(), exp() & so on lives ??
 
Old 07-25-2011, 11:16 PM   #5
acharyaa
LQ Newbie
 
Registered: Jan 2010
Posts: 5

Original Poster
Rep: Reputation: 0
Thank You. Appreciate it.
 
  


Reply

Tags
compile error, undefined


Thread Tools Search this Thread
Search this Thread:

Advanced Search

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off


Similar Threads
Thread Thread Starter Forum Replies Last Post
Error when "make" the source of CosmoMC: undefined reference to `dpotrf_' limh Linux - Software 1 09-30-2009 02:27 PM
Several "undefined reference to" error when compiling a C programm acer_peri Programming 8 12-11-2008 05:45 AM
"undefined reference"linker error for static field w/ C++ astorm Programming 5 08-27-2008 03:00 AM
compiling linux 2.6.19.2 failed with "undefined reference to s3c2410_pm_drvinit" cucmi Linux - Hardware 2 08-18-2008 10:21 PM
Error: Make on kismet-2005-08-R1 "undefined reference" zeevolking Linux - Software 1 12-23-2005 08:40 PM


All times are GMT -5. The time now is 08:20 PM.

Main Menu
My LQ
Write for LQ
LinuxQuestions.org is looking for people interested in writing Editorials, Articles, Reviews, and more. If you'd like to contribute content, let us know.
Main Menu
Syndicate
RSS1  Latest Threads
RSS1  LQ News
Twitter: @linuxquestions
identi.ca: @linuxquestions
Facebook: linuxquestions Google+: linuxquestions
Open Source Consulting | Domain Registration