libtoolize:错误:无法列出文件

时间:2015-09-30 18:43:11

标签: gcc autoconf automake libtool

我正在安装libtool 2.4.6并遇到以下问题:

Error in writeJobj(con, object) : invalid jobj 1

为了解决这个问题并在浏览谷歌之后,我执行了以下命令来重新创建aclocal.m4。但是,我得到了#34;无法列出文件"错误:

libtool: Version mismatch error.  This is libtool 2.4.6, revision 2.4.6,
libtool: but the definition of this LT_INIT comes from revision .
libtool: You should recreate aclocal.m4 with macros from revision 2.4.6
libtool: of libtool 2.4.6 and run autoconf again.
Makefile:1261: recipe for target 'libltdl/loaders/libltdl_libltdl_la-preopen.lo' failed

目录在那里,可以用ls命令列出:

[server]#  autoreconf --install
libtoolize:   error: cannot list files: '/var/tmp/work/libtool-2.4.6.i386/share/libtool/build-aux'
autoreconf: libtoolize failed with exit status: 1

有什么想法吗?

1 个答案:

答案 0 :(得分:1)

这是由libtoolize脚本中的行引起的:

        test -n "`{ cd $my_dir && ls; } 2>/dev/null`" \
            || func_fatal_error "cannot list files: '$my_dir'"

我不知道为什么它将空目录解释为“无法列出文件” 用以下内容替换上述行可以克服这个问题:

    cd $my_dir && ls || func_fatal_error "cannot list files: '$my_dir'"