无法链接到 libgfortran.a [重复]

2024-01-07

我的系统和文件上安装了 gfortranlibgfortran.a可以在以下位置找到/usr/lib/gcc/x86_64-linux-gnu/4.6/. Using nm我确定该功能_gfortran_compare_string在那里定义:

$ nm /usr/lib/gcc/x86_64-linux-gnu/4.6/libgfortran.a | grep _gfortran_compare_string

Returns

0000000000000000 T _gfortran_compare_string
0000000000000000 T _gfortran_compare_string_char4

但是,我的 CUDA-C 程序的链接器抛出错误:

/usr/local/cuda-6.0/bin/nvcc --cudart static -L/usr/lib/gcc/x86_64-linux-gnu/4.6 -L/home/chung/lapack-3.5.0 -link -o  "pQP"  ./src/pQP.o   -lgfortran -llapacke -llapack -lcublas -lblas -lcurand
nvcc warning : The 'compute_10' and 'sm_10' architectures are deprecated, and may be removed in a future release.
/home/chung/lapack-3.5.0/liblapack.a(ilaenv.o): In function `ilaenv_':
ilaenv.f:(.text+0x81): undefined reference to `_gfortran_compare_string'

后来出现另一个错误,同样与 libgfortran 有关:

/home/chung/lapack-3.5.0/liblapack.a(xerbla.o): In function `xerbla_':
xerbla.f:(.text+0x49): undefined reference to `_gfortran_st_write'
xerbla.f:(.text+0x54): undefined reference to `_gfortran_string_len_trim'
xerbla.f:(.text+0x66): undefined reference to `_gfortran_transfer_character_write'
xerbla.f:(.text+0x76): undefined reference to `_gfortran_transfer_integer_write'
xerbla.f:(.text+0x7e): undefined reference to `_gfortran_st_write_done'
xerbla.f:(.text+0x87): undefined reference to `_gfortran_stop_string'

但是,再次使用 nm,我发现_gfortran_st_write等在 libgfortran.a 中定义。

Links: 完整日志 https://gist.github.com/alphaville/0e2342b2e85c8b5ab33f and 源代码 https://github.com/alphaville/pQP.

Note:Lapack 使用 libgfortran。我最近安装了 lapack 并运行了所有测试,它们都通过了。


您需要更改为链接器指定静态库的顺序。如果你这样做:

nvcc --cudart static -L/usr/lib/gcc/x86_64-linux-gnu/4.6 \
-L/home/chung/lapack-3.5.0 -link -o  "pQP"  ./src/pQP.o  \ 
-llapacke -llapack -lcublas -lblas -lcurand -lgfortran 

你应该会发现它会起作用。

根本原因(这是 gcc/gnu 工具链的一个特征,与 nvcc 无关)是 gnu 链接器从左到右解析静态库的链接依赖项列表。如果指定静态库before任何依赖于它的库都会被跳过,因为它在链接列表中没有依赖项在处理过程中第一次遇到它时.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

无法链接到 libgfortran.a [重复] 的相关文章

随机推荐

  • 如何将鼠标事件委托给 JavaFX 中所有底层重叠窗格?

    我有一些顶部装饰窗格 我想处理 预处理鼠标事件 但不应该消耗它们 即所有重叠的窗格都应该像它们没有被装饰窗格重叠一样工作 这个怎么做 我尝试了几次都失败了 下面是包含 3 个窗格的代码 绿色的是 装饰 任务是使其对鼠标事件透明 黄色和蓝色窗
  • Haskell 中的非整体数组

    我已经接受了下面问题的答案 但我似乎误解了 haskell 中的数组是如何工作的 我以为他们只是加强了清单 阅读下面的问题时请记住这一点 我发现当将 Haskell 中的整体数组用于较大的数组时 它们的效率非常低 我还没能在 haskell
  • R - ggplot 中奇怪的饼图行为

    我正在尝试从一个小数据框中生成一个饼图 起初一切顺利 library ggplot2 library data table c1 lt c 2 3 c2 lt c second third c2 lt factor c2 levels c
  • 获取Python字典中最大嵌套键的键

    我有一本像这样的字典 my dictionary key1 a 1 b 1 c 10 key2 a 1 b 1 c 11 key3 a 1 b 1 c 12 如何比较该字典的 c 子键 找到最大的子键 并返回该字典的相应父键 在本例中我想输
  • 骨干.marionette + i18n + 车把

    有人可以发布一个将这些库组合在一起的示例吗 包括 i18n 和 marionette 的处理程序 Thanks 指向backbone marionette 模板来编译hendlebars 这可以在你的 main js 上完成 Backbon
  • 如何使回收器视图开始从中心添加项目?

    我有一个以 水平线性布局 作为布局管理器的 recyclerView Recycler View 采用框架布局 layout gravity center layout width wrap content 我希望回收器视图开始从中心添加项
  • 如何判断 MouseDown 事件中是否按下了 Shift?

    我正在抓一个MouseDown控件上的事件 这给了我一个MouseEventArgs签名中的对象 现在我希望能够判断用户在单击时是否按住了 Shift 或 Control 键 但是MouseEventArgs对象不包含任何键盘信息 What
  • 页面内锚链接的 jQuery this.hash 行为

    我有一个关于 this hash 如何在 jQuery 中的页面锚链接工作的问题 每次用户单击该链接时 我都需要处理哈希属性 a href foo class inpageLink Click Me lt a gt a a h3 Targe
  • System.Net.MailMessage 允许某些无效的电子邮件地址格式

    许多人可能已经意识到 正确验证电子邮件地址可能有点像一场噩梦 您可以整天搜索与当前 RFC 标准匹配的 C 正则表达式 您会发现不同的正则表达式会给出不同的结果 如果你看http en wikipedia org wiki Email ad
  • 使用无符号字符计数器从 0 到 255 进行无限循环

    我想打印 0 255 中的所有数字 但这个循环不会停止 为什么 for unsigned char i 0 i lt 255 i cout lt lt int i lt lt endl i is an unsigned char其范围通常为
  • MVC4 Razor 视图中出现奇怪的空白

    我正在 ASP Net MVC4 中开发一个应用程序 并且遇到了一个奇怪的空白问题 我用 Razor 开发了很多 MVC3 网站 没有出现这个问题 这是我的模板 cshtml 文件 content bootstrap bootstrap m
  • querySelector() 和 querySelectorAll() 之间的区别[0]

    我遇到了一些 JS 代码 使用以下代码来选择多个节点中的第一个 querySelectorAll 0 下面的代码不是在做同样的事情吗 querySelector 使用有什么好处吗querySelectorAll 0 两个表达式将返回完全相同
  • Context.startForegroundService()然后没有调用Service.startForeground()?

    我的用户报告了数百起崩溃 但我仍然找不到解决方案 这些崩溃来自 Android 8 三星 华为 谷歌 我遇到这两次崩溃 Fatal Exception android app RemoteServiceException Context s
  • 如何在html页面中嵌入React组件

    我想构建一个像这样的 React 组件 class MyComponent extends React Component render return div This is a simple component div 并像这样使用它
  • 如何找到当前焦点的程序?

    我如何知道当前焦点是哪个进程 编辑 Windows 操作系统 从 XP 到 7 Call GetForegroundWindow http msdn microsoft com en us library windows desktop m
  • Entity Framework 4.3 迁移移动现有数据

    我正在使用 EF Code First 4 3 迁移来更新我的数据库方案 现在我遇到以下情况 需要删除表A 必须创建表B 并且必须将表A的数据 以及一些其他数据 复制到表B 我无权访问DbContext in the DbMigration
  • 如何在 Spring Boot 项目的调试/运行时在 IntelliJ“out”目录中生成 build-info.properties?

    在我的 build gradle 中 我添加了 spring 构建信息 springBoot mainClass springBootMainClass buildInfo additionalProperties name appName
  • 自定义 HashMap 实现

    这个问题是在一次采访中问我的 我认为获得最佳解决方案的唯一方法是 SOF 所以问题是 如何在java中实现自定义HashMap 假设没有称为HashMap的数据结构 我能想到的唯一答案是实现关联数组 但话又说回来 Java 没有关联数组 对
  • 关闭 Eclipse / Aptana 中的工具提示

    我不知道是否有人注意到 Eclipse 有这个烦人的功能 它需要在悬停任何东西时显示无用的工具提示 我想知道是否有人知道一种方法可以完全消除 Eclipse Aptana 中的所有工具提示行为 Thanks 我在 Window gt Pre
  • 无法链接到 libgfortran.a [重复]

    这个问题在这里已经有答案了 我的系统和文件上安装了 gfortranlibgfortran a可以在以下位置找到 usr lib gcc x86 64 linux gnu 4 6 Using nm我确定该功能 gfortran compar