首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >././libtool:第6000行: cd:-l:无效选项;在哪里解决?

././libtool:第6000行: cd:-l:无效选项;在哪里解决?
EN

Stack Overflow用户
提问于 2015-02-27 17:08:54
回答 1查看 725关注 0票数 0

我面临着make命令的问题。我正在为ppc64在RHEL上编译Scilab。./进行得很好,现在当我做make all时,在编译模块umfpack时遇到了一个问题。我可以通过输入模块/umfpack文件夹,并在其中键入make all来再现此错误。这是输出:

代码语言:javascript
运行
复制
    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 -“之类的事情。但在哪呢?这是我所在的文件夹

代码语言:javascript
运行
复制
[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

在你看来,哪些候选人是我必须调查错误所在的候选人?在我的位置上你会做什么来调试?

谢谢!

EN

回答 1

Stack Overflow用户

发布于 2015-03-01 11:36:22

非常感谢您的建议!我进入了libtool文件,实际上,我发现在第6'000行中有以下代码:

代码语言:javascript
运行
复制
   absdir=`cd "$dir" && pwd`
      test -z "$absdir" && \
        func_fatal_error "cannot determine absolute directory name of \`$dir'"

我意识到它是在脚本中做"cd -lumfpack“。这是我给./配置脚本的一个输入,在这个脚本中,我必须显式地提供libumfpack和libitespar分离器作为选项,因为默认情况下它使用的是其他库。在这一选择中,我提出:

代码语言:javascript
运行
复制
--with-umfpack-library="-lumfpack -lsuitesparseconfig" 

所以,make是在做"cd -lumfpack“。因此,我考虑提供两个库的绝对路径!所以我作为投入:

代码语言:javascript
运行
复制
--with-umfpack-library="/usr/local/lib/libumfpack.a /usr/local/lib/libsuitesparseconfig.a" 

并成功地运行了配置脚本和make。

另一个“解决方案”是完全删除umfpack库,并选择配置脚本:

代码语言:javascript
运行
复制
--without-umfpack

希望它能帮助未来的程序员编译Scilab!

老实说,我认为另一种方法可能是可行的,那就是直接在配置脚本中指定libumfpack和libsuitesparseconfig库,但我当时没有时间研究这个问题。如果我愿意的话,我会更新这个帖子。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/28770557

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档