首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Fedora 22编译- __atomic_is_lock_free

Fedora 22编译- __atomic_is_lock_free
EN

Stack Overflow用户
提问于 2015-07-13 11:15:28
回答 2查看 4.5K关注 0票数 7

我试图在Fedora 22上编译一个软件(SuperCollider),但遇到了一个问题:

代码语言:javascript
复制
libsupernova.a(server.cpp.o): In function `std::atomic<boost::lockfree::detail::tagged_index>::is_lock_free() const':
/usr/include/c++/5.1.1/atomic:212: undefined reference to `__atomic_is_lock_free'
collect2: error: ld returned 1 exit status
server/supernova/CMakeFiles/supernova.dir/build.make:96: recipe for target 'server/supernova/supernova' failed
make[2]: *** [server/supernova/supernova] Error 1
CMakeFiles/Makefile2:3383: recipe for target 'server/supernova/CMakeFiles/supernova.dir/all' failed
make[1]: *** [server/supernova/CMakeFiles/supernova.dir/all] Error 2
Makefile:146: recipe for target 'all' failed
make: *** [all] Error 2

在我看来,这是一个利伯原子的问题。gcc有没有可能不链接到利巴原子呢?

有人知道如何解决这个问题吗?

另一个想法是尝试安装-latomic,但我找不到有关的信息。相反,我已经安装了libatomic。我不知道他们是不是一样。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-07-23 14:06:51

我也遇到了同样的问题,是的,你确实需要链接libatomic。这样做的方法是在运行cmake之前添加到行:set(CMAKE_CXX_LINK_FLAGS "${CMAKE_CXX_LINK_FLAGS} -latomic")到顶级CMakeLists.txt文件。

完整的流程可能如下所示:

  • git clone https://github.com/supercollider/supercollider.git
  • cd supercollider
  • set(CMAKE_CXX_LINK_FLAGS "${CMAKE_CXX_LINK_FLAGS} -latomic")添加到顶级CMakeLists.txt
  • 运行ccmake .配置安装
  • mkdir _build ; cd _build
  • cmake ..
  • make && <sudo> make install

根据您决定安装超级对撞机的位置,您可能需要也可能不需要sudo。

票数 6
EN

Stack Overflow用户

发布于 2015-07-13 11:49:45

在我看来,这是一个利伯原子的问题。gcc有没有可能不链接到利巴原子呢?

只有当你告诉它的时候,它才会链接到libatomic。

有人知道如何解决这个问题吗?

链接到libatomic。

另一个想法是尝试安装-latomic,但我找不到有关的信息。相反,我已经安装了libatomic。我不知道他们是不是一样。

您不能“安装-latomic”,因为-latomic是编译器/链接器选项,用于链接到libatomic,而不能“安装链接器选项”,因为它是程序的选项,而不是包。

您安装libatomic,然后使用-latomic链接到它。

(旁白:我希望修复GCC,这样您就不需要在简单的情况下显式地使用-latomic,只需要更复杂的情况,参见bug.cgi?id=65913)

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

https://stackoverflow.com/questions/31381892

复制
相关文章

相似问题

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