我面临着make命令的问题。我正在为ppc64在RHEL上编译Scilab。./进行得很好,现在当我做make all时,在编译模块umfpack时遇到了一个问题。我可以通过输入模块/umfpack文件夹,并在其中键入make all来再现此错误。这是输出:
enter[root@rhel70-misurio umfpack]# /bin/sh ../../libtool --tag=CC --mode=link gcc -D_LARGEFILE64_SOURCE -DNDEBUG -fno-stack-protector -g -O2 -version-number 5:5:1 -Wl,--no-as-needed -o libsciumfpack.la -rpath /usr/local/lib/scilab sci_gateway/c/libsciumfpack_la-gw_umfpack.lo sci_gateway/c/libsciumfpack_la-sci_res_with_prec.lo sci_gateway/c/libsciumfpack_la-sci_taucs_chdel.lo sci_gateway/c/libsciumfpack_la-sci_taucs_chfact.lo sci_gateway/c/libsciumfpack_la-sci_taucs_chget.lo sci_gateway/c/libsciumfpack_la-sci_taucs_chinfo.lo sci_gateway/c/libsciumfpack_la-sci_taucs_chsolve.lo sci_gateway/c/libsciumfpack_la-sci_umf_ludel.lo sci_gateway/c/libsciumfpack_la-sci_umf_lufact.lo sci_gateway/c/libsciumfpack_la-sci_umf_luget.lo sci_gateway/c/libsciumfpack_la-sci_umf_luinfo.lo sci_gateway/c/libsciumfpack_la-sci_umf_lusolve.lo sci_gateway/c/libsciumfpack_la-sci_umfpack.lo libsciumfpack-algo.la -L-lumfpack -lsuitesparseconfig -lumfpack -lpthread -ldl -lcurses -lm
../../libtool: line 6000: cd: -l: invalid option
cd: usage: cd [-L|[-P [-e]]] [dir]
libtool: link: cannot determine absolute directory name of `-lumfpack'
所以很明显,在某个地方,代码正在做"cd -“之类的事情。但在哪呢?这是我所在的文件夹
[root@rhel70-hostname umfpack]# ls
etc libsciumfpack-algo.la make_all_log sci_gateway umfpack.iss
examples license.txt Makefile src UMFPACK_license.txt
help locales Makefile.am TAUCS_license.txt
includes macros Makefile.in tests
在你看来,哪些候选人是我必须调查错误所在的候选人?在我的位置上你会做什么来调试?
谢谢!
发布于 2015-03-01 11:36:22
非常感谢您的建议!我进入了libtool文件,实际上,我发现在第6'000行中有以下代码:
absdir=`cd "$dir" && pwd`
test -z "$absdir" && \
func_fatal_error "cannot determine absolute directory name of \`$dir'"
我意识到它是在脚本中做"cd -lumfpack“。这是我给./配置脚本的一个输入,在这个脚本中,我必须显式地提供libumfpack和libitespar分离器作为选项,因为默认情况下它使用的是其他库。在这一选择中,我提出:
--with-umfpack-library="-lumfpack -lsuitesparseconfig"
所以,make是在做"cd -lumfpack“。因此,我考虑提供两个库的绝对路径!所以我作为投入:
--with-umfpack-library="/usr/local/lib/libumfpack.a /usr/local/lib/libsuitesparseconfig.a"
并成功地运行了配置脚本和make。
另一个“解决方案”是完全删除umfpack库,并选择配置脚本:
--without-umfpack
希望它能帮助未来的程序员编译Scilab!
老实说,我认为另一种方法可能是可行的,那就是直接在配置脚本中指定libumfpack和libsuitesparseconfig库,但我当时没有时间研究这个问题。如果我愿意的话,我会更新这个帖子。
https://stackoverflow.com/questions/28770557
复制相似问题