1、编译程序你用root账号干嘛?
2、PATH是用来指定可执行程序的位置,你把库文件位置放进去,指望这个静态库直接执行么?
3、export和source只需要一条就可以了。
解决方法:echo "/home/power/mkllib" >/etc/ld.so.conf.d/mkllib.confldconfig
从截图上看,编译过程中找到了libmkl_solver_lp64.a,但由于兼容性问题被忽略了,我想这才是你需要努力的方向。
第一步:./configure --sysconfdir=/etc --with-named-curses-libs=/usr/lib/libncursesw.so.5(这步应该这样写就不会出现你上面这个问题了)第二步:make
第三步:make install
编译不成功多半软件功能开关设置及依赖关系不支持。首先要了解编译的过程,真正了解了编译的过程后就可以比较轻松的编译各种软件了。1、configure,可以在configure 执行一下./configure --help来大致了解一下该软件的一些开关和支持的性能,然后根据使用需要来设置需要开启的性能和需要关闭的性能,以及需要哪些支持库等等,然后再指定一下编译路径,做完这一切后,满屏幕的check ....就开始了,这就是configrue的过程,和所做的事情
2、make,其实这一步才是真正的编辑步骤,而configure只是做一个环境的check,检查系统环境及lib是不是对上一步所开启的参数支持,只有check不出错,也就是configure不出错,就可以比较顺利的进行编译也就是make
3、make install 安装,当成功编译后就可以通过make install进行安装了,安装完成后就可以使用了。
比较容易报错的地方就是configure这一步,因为这一步会检查软件及在configure这一步的设置开关功能中需要的依赖关系,并对现行系统进行检查,尤其是最小化安装的系统,报错会比较多,可根据具体报错内容来安装相应的安装包来完成软件的依赖,直到check全部通过。有些软件在make时也需要调用一些库,具体要看软件的reademe来了解具体编译要求。如果再不行,就只能网上寻求帮助了。
另外,编译也是一个经验活,只编译得多了,对一些常见的错误就会比较了解了,必定软件依赖的库常见的就那几个,建议每编译一款软件做一个小笔记,把处理的错误或遇到的情况记录下来,这样以后再编译时,会事半功倍!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)