LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 1611|回复: 28

编译出错,cannot find -lm

[复制链接]
发表于 2004-7-25 04:21:18 | 显示全部楼层 |阅读模式
ld: cannot find -lm
什么意思啊。-lm是什么东东啊。。。
发表于 2004-7-25 07:36:21 | 显示全部楼层
数学库
发表于 2004-7-25 08:14:46 | 显示全部楼层
没有安装数学库。
发表于 2004-7-26 17:06:59 | 显示全部楼层
找不到數學庫。把庫copy到搜索路?较拢蛘咛砑訋焖诘穆?
 楼主| 发表于 2004-7-28 05:54:08 | 显示全部楼层
多谢各位,奇怪,这次都没有email通知我有回帖,还我贻误战机

anyway, libm.so在usr/lib下,我就把设置 PATH=/usr/libPATH,然后添加到
.bashrc文件中,不知道对不对,可结果是还是同样的错误。。。。

还有别的办法么,编程不是很熟。。。
 楼主| 发表于 2004-7-28 06:28:33 | 显示全部楼层
又添加了
export LD_LIBRARY_PATH=/usr/libLD_LIBRARY_PATH
export DYLD_LIBRARY_PATH=/usr/libDYLD_LIBRARY_PATH
还是不行啊
发表于 2004-7-28 09:15:48 | 显示全部楼层
把你的编译命令及出错信息完整的拷贝过来好不好
发表于 2004-7-28 09:50:17 | 显示全部楼层
最初由 lrz 发表

anyway, libm.so在usr/lib下,我就把设置 PATH=/usr/libPATH,然后添加到
.bashrc文件中,不知道对不对,可结果是还是同样的错误。。。。

库文件的路径设置不在PATH中,而是在/etc/ld.so.conf中,PATH是用来设置二进制可执行文件的搜索路径的。
 楼主| 发表于 2004-7-28 18:01:58 | 显示全部楼层
多谢大侠指点,我已经修改了 /etc/ld.so.conf,还是不行!!!

我的ld.so.conf内容如下
/usr/X11R6/lib
/usr/lib/qt3/lib
/usr/lib
/lib

因为用 whereis libm
系统答 /usr/lib/libm.so

用 ls -l /usr/lib/libm.so
答 /usr/lib/libm.so ../../lib/libm.so.6

所以我把/lib也加上了

还是不行啊。。。。。。!!!!!!!:help :help :help
 楼主| 发表于 2004-7-28 18:06:43 | 显示全部楼层
最初由 doubleelec 发表
把你的编译命令及出错信息完整的拷贝过来好不好


sorry,错误信息如下

make FC=ifort LD="ifort -o" FFLAGS="-c -O3 -w95 -w" LIB=-L/usr/lib \
CPFLAGS="-DSTRESS -DSERIAL -D'POINTER=integer*8'" \
LDFLAGS="-Vaxlib -static" EX=DLPOLY.X BINROOT=../execute 3pt
make[1]: Entering directory `/home/ruzhen/apps/dl_poly_2.14/source'
ifort -o ../execute/DLPOLY.X angfrc.o bndfrc.o cfgscan.o corshl.o coul0.o coul4.o coul2.o coul3.o conscan.o dblstr.o dcell.o diffsn0.o diffsn1.o dlpoly.o duni.o error.o ewald1.o ewald3.o exclude.o exclude_atom.o fldscan.o exclude_link.o exitcomms.o extnfld.o fbpfrc.o fcap.o forces.o freeze.o gauss.o gdsum.o getrec.o gimax.o gisum.o gstate.o images.o initcomms.o intlist.o intstr.o invert.o invfrc.o jacobi.o lowcase.o lrcmetal.o lrcorrect.o machine.o merge.o merge1.o merge4.o multiple.o multiple_nsq.o npt_b1.o nst_b1.o parset.o npt_h1.o nst_h1.o nve_1.o nvt_b1.o nvt_e1.o nvt_h1.o parlst_nsq.o parlink.o parlst.o passcon.o passpmf.o pmf_1.o pmf_shake.o primlst.o quench.o rdf0.o rdf1.o rdshake_1.o result.o revive.o scdens.o shellsort.o shlfrc.o shlmerge.o shlqnch.o shmove.o simdef.o splice.o static.o strip.o strucopt.o sysdef.o sysgen.o systemp.o sysbook.o sysinit.o tethfrc.o thbfrc.o timchk.o traject.o vertest.o vscaleg.o warning.o xscale.o zden0.o zden1.o denloc.o dihfrc.o erfcgen.o ewald2.o ewald4.o forgen.o fortab.o metgen.o srfrce.o srfrceneu.o suttchen.o coul0neu.o coul2neu.o coul3neu.o excludeneu.o forcesneu.o multipleneu.o neutlst.o parneulst.o prneulst.o parlinkneu.o rdf0neu.o  nptq_b1.o nptq_b2.o nstq_b1.o nstq_b2.o nptq_h1.o nptq_h2.o nstq_h1.o nstq_h2.o nveq_1.o nveq_2.o nvtq_b1.o nvtq_b2.o nvtq_h1.o nvtq_h2.o passquat.o qshake.o        quatbook.o quatqnch.o crecv.o csend.o gsync.o mynode.o nodedim.o numnodes.o etime.o \
-Vaxlib -static  bspcoe.o bspgen.o cpy_rtc.o ele_prd.o ewald_spme.o scl_csum.o set_block.o spl_cexp.o spme_for.o dlpfft3.o hkgen.o hkewald1.o hkewald2.o hkewald3.o hkewald4.o cerfr.o
/usr/bin/ld: cannot find -lm
make [1]: ...[3pt] Error 1
make *** [intel-linux-ifc] Error 2
/make[1]: Leaving directory `/home/ruzhen/apps/dl_poly_2.14/source'

顺便说一下,makefile里用ifort而不用ifc,是因为装了intel的fortran compiler,然后使用ifc时,好像提示已经改为ifort.

:thank
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表