From owner-freebsd-questions Fri Jul 5 12:25:44 1996 Return-Path: owner-questions Received: (from root@localhost) by freefall.freebsd.org (8.7.5/8.7.3) id MAA01049 for questions-outgoing; Fri, 5 Jul 1996 12:25:44 -0700 (PDT) Received: from relay-4.mail.demon.net (relay-4.mail.demon.net [158.152.1.108]) by freefall.freebsd.org (8.7.5/8.7.3) with SMTP id MAA01036 for ; Fri, 5 Jul 1996 12:25:41 -0700 (PDT) Received: from post.demon.co.uk ([158.152.1.72]) by relay-4.mail.demon.net id af29649; 5 Jul 96 19:25 GMT Received: from longacre.demon.co.uk ([158.152.156.24]) by relay-3.mail.demon.net id aa14026; 5 Jul 96 20:24 +0100 From: Michael Searle Message-ID: To: questions@freefall.freebsd.org Subject: C libraries Date: Fri, 05 Jul 1996 20:24:18 BST X-Mailer: Offlite 0.09 / Termite Internet for Acorn RISC OS Sender: owner-questions@FreeBSD.ORG X-Loop: FreeBSD.org Precedence: bulk I have been having some problems getting C programs containing calls in math.h to link - is there a special library I have to use? I wrote a test program using sqrt(), but I get the same stuff for pow(), trig functions, etc. I am using standard gcc 2.6.3 on FreeBSD 2.1R. Here is the test program, the output I got from the linker, and my /usr/lib directory. It compiles and links OK, just using 'gcc sqrt.c -o sqrt', on a different (not FreeBSD) system running gcc 2.4.5. Also, one of the programs also needed Motif (the Xm library) to compile. Is there a free static version of the Motif library? (If so, where can I download it from?) sqrt.c: #include #include int main() { double x; fprintf(stdout,"What is your number?"); fscanf(stdin,"%lf",&x); fprintf(stdout,"The square root of %lf is %lf.",x,sqrt(x)); exit(); } #cc sqrt.c -o sqrt /var/tmp/cc0002661.o: Undefined symbol '_sqrt' referenced from text segment #cc sqrt.c -o sqrt -L/usr/lib -lc /var/tmp/cc0002731.o: Undefined symbol '_sqrt' referenced from text segment #cc sqrt.c -o sqrt -L/usr/lib -lgcc /var/tmp/cc0002781.o: Undefined symbol '_sqrt' referenced from text segment /usr/lib/libgcc.so.261.0: Undefined symbol '_sdiv_qrnnd' referenced _udiv_w_sdiv.o: Undefined symbol '_sdiv_qrnnd' referenced from text segment _udiv_w_sdiv.o: Undefined symbol '_sdiv_qrnnd' referenced from text segment _udiv_w_sdiv.o: Undefined symbol '_sdiv_qrnnd' referenced from text segment _udiv_w_sdiv.o: Undefined symbol '_sdiv_qrnnd' referenced from text segment #ls /usr/lib c++rt0.o libgcc.a libreadline_p.a crt0.o libgcc.so.261.0 libresolv.a gcrt0.o libgcc_p.a libresolv.so.2.0 kzhead.o libgcc_pic.a libresolv_p.a kztail.o libgnumalloc.a librpcsvc.a libc.a libgnumalloc.so.2.0 librpcsvc.so.2.0 libc.so.2.2 libgnumalloc_p.a librpcsvc_p.a libc.so.3.0 libgnuregex.a libscrypt.a libc_p.a libgnuregex.so.2.0 libscrypt.so.2.0 libc_pic.a libgnuregex_p.a libscrypt_p.a libcom_err.a libkeycap.a libscsi.a libcom_err.so.2.0 libkeycap_p.a libscsi.so.2.0 libcom_err_p.a libkvm.a libscsi_p.a libcompat.a libkvm.so.2.0 libskey.a libcompat_p.a libkvm_p.a libskey.so.2.0 libcrypt.a@ libl.a libskey_p.a libcrypt.so.2.0@ libl_p.a libss.a libcrypt_p.a@ libldso.a libss.so.2.0 libcurses.a libln.a libss_p.a libcurses.so.2.0 libln_p.a libtelnet.a libcurses_p.a libm.a libtelnet.so.2.0 libdialog.a libm.so.2.0 libtelnet_p.a libdialog.so.3.0 libm_p.a libtermcap.a libdialog_p.a libmd.a libtermcap.so.2.1 libedit.a libmd_p.a libtermcap_p.a libedit.so.2.0 libmytinfo.a libtermlib.a libedit_p.a libmytinfo.so.2.0 libtermlib.so.2.1 libf2c.a libmytinfo_p.a libtermlib_p.a libf2c.so.2.0 libncurses.a libutil.a libf2c_p.a libncurses.so.3.0 libutil.so.2.0 libforms.a libncurses_p.a libutil_p.a libforms.so.3.0 libpcap.a liby.a libforms_p.a libpcap.so.2.0 liby.so.2.0 libg++.a libpcap_p.a liby_p.a libg++.so.3.0 libreadline.a libg++_p.a libreadline.so.3.0 -- Michael Searle - searle@longacre.demon.co.uk