错误:libtool - 编译 MPI 程序时

Posted

技术标签:

【中文标题】错误:libtool - 编译 MPI 程序时【英文标题】:Error: libtool - while compiling an MPI program 【发布时间】:2016-05-24 12:53:57 【问题描述】:

我正在使用 OpenSuse Leap 并安装了 openMPI 认为是 YaST。运行which mpirun 命令我得到/usr/lib64/mpi/gcc/openmpi/bin/mpirun 并运行which mpicc 我得到/usr/bin/mpicc

如何首先确保正确安装了 OpenMPI?

其次,我有一个简单的 hello world 我是进程 X 程序并正在运行 mpicc hello.c 我得到这个输出

gcc: error: libtool:: No such file or directory

gcc: 错误: 链接:: 否

这样的文件或目录 mpicc: 没有这样的文件或目录

另外,我安装了Eclipse for Parallel Application 并使用了一个内置示例,它在构建时给了我这个输出

全部搞定

建筑目标:你好

调用:GCC C 链接器

mpicc -o "你好" ./src/hello.o

gcc: error: libtool:: No such file or directory

gcc: error: link:: No such file or directory

makefile:30: 目标“hello”的配方失败

mpicc: 没有这样的文件或目录

make: *** [hello] 错误 1

我检查了 YaST 并安装了 libtool。

【问题讨论】:

sudo apt-get install automake autoconf libtool 及之后的autoreconf -i 正在加载存储库数据...正在读取已安装的软件包...“libtool”已安装。 'libtool-2.4.2-16.6.x86_64' 没有更新候选。已安装最高可用版本。 'automake' 已安装。 'automake-1.13.4-6.4.noarch' 没有更新候选。已安装最高可用版本。 'autoconf' 已经安装。 'autoconf-2.69-11.4.noarch' 没有更新候选。已安装最高可用版本。解决包依赖关系...无事可做。 @LPs 关于 +autoreconf -i 我如何使用它? 您是否尝试在项目目录中启动autoreconf -i @LPs 我在终端中做了一个autoreconf -i 并得到了autoreconf: 'configure.ac' or 'configure.in' is required 【参考方案1】:

这个答案来得太晚了。我最近有同样的问题。因此,任何来这里寻求答案的人,这就是我的工作方式。

请注意:这是一个孤立的情况,会出现类似的错误

gcc: error: libtool:: No such file or directory

gcc: error: link:: No such file or directory

mpicc: No such file or directory

首先尝试检查 LP 建议的解决方案。它将尝试更新您的 libtool autoconf 和 automake。如果你无事可做:

sudo zypper in automake autoconf libtool
root's password:
Loading repository data...
Reading installed packages...
'libtool' is already installed.
No update candidate for 'libtool-2.4.2-15.2.2.x86_64'. The highest available version is already installed.
'autoconf' is already installed.
No update candidate for 'autoconf-2.69-10.1.2.noarch'. The highest available version is already installed.
'automake' is already installed.
No update candidate for 'automake-1.13.4-5.1.2.noarch'. The highest available version is already installed.
Resolving package dependencies...

Nothing to do.

然后显式添加您的 OpemMPI 路径变量。

export PATH=/usr/lib64/mpi/gcc/openmpi/bin:$PATH

这对我有用。祝你好运!

【讨论】:

嘿,谢谢!虽然我无法确认您的回答,但我已转移到 debian,它开箱即用,没有任何问题,我会认为它是正确的。

以上是关于错误:libtool - 编译 MPI 程序时的主要内容,如果未能解决你的问题,请参考以下文章

libtool:存档中的对象名称冲突(NETCDF + MinGW)

编译简单 boot_mpi 分散程序时出错:没有序列化元素

在 openSUSE 上用 C 语言在 mpi 中编译 hello world 程序时出错

error: Libtool library used but 'LIBTOOL' is undefined

MPI Fortran编译器优化错误[重复]

MPI 笛卡尔拓扑:MPI_Neighbor_alltoall 发送错误数据