首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >什么是-lnuma ?什么程序使用它进行编译?

什么是-lnuma ?什么程序使用它进行编译?
EN

Stack Overflow用户
提问于 2012-01-30 23:13:26
回答 4查看 10.5K关注 0票数 5

我正在Linux桌面上使用openmpi和mpicxx编译一个消息传递程序。我的makefile执行以下操作:

代码语言:javascript
运行
复制
mpicxx -c readinp.cpp
mpicxx -o exp_fit driver.cpp readinp.o 

在这一点上,我得到以下错误:

代码语言:javascript
运行
复制
/usr/lib64/gcc/x86_64-suse-linux/4.5/../../../../x86_64-suse-linux/bin/ld: cannot find -lnuma

我的问题是:

什么是-lnuma?它的用途是什么?我该如何链接到它呢?

EN

Stack Overflow用户

发布于 2018-12-18 06:51:20

我在一台安装了NUMA库的远程服务器上遇到了同样的错误。特别是,文件/usr/lib64/libnuma.so.1已经存在了。链接器似乎只查找名称为libnuma.so的文件。创建符号链接

代码语言:javascript
运行
复制
ln -s /usr/lib64/libnuma.so.1 /usr/lib64/libnuma.so

如上所述,here可能可以工作,但在我的例子中,我没有在/usr/lib64中创建文件的权限。我通过在我有写权限的其他位置创建symlink来解决这个问题:

代码语言:javascript
运行
复制
ln -s /usr/lib64/libnuma.so.1 /some/path/libnuma.so

然后将此路径添加到编译标志。在您的情况下,这将是

代码语言:javascript
运行
复制
mpicxx -L/some/path -o exp_fit driver.cpp readinp.o

在我的大型构建过程(编译fftw)中,我将路径添加到LDFLAGS环境变量,

代码语言:javascript
运行
复制
export LDFLAGS="${LDFLAGS} -L/some/path"

解决了这个问题。

票数 1
EN
查看全部 4 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9066080

复制
相关文章

相似问题

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