Ubuntu

如何解決這個 libgomp1 依賴問題?

  • January 31, 2018

我正在嘗試在 Ubuntu 16.04 上建構和安裝 ccminer 並收到以下錯誤:

scrypt.cpp:(.text+0xa55b): undefined reference to `GOMP_parallel'
scrypt.cpp:(.text+0xa6cd): undefined reference to `GOMP_parallel'

libgomp1 已安裝:

Package: libgomp1
Status: install ok installed
Priority: optional
Section: libs
Installed-Size: 156
Maintainer: Ubuntu Core developers <ubuntu-devel-discuss@lists.ubuntu.com>
Architecture: amd64
Multi-Arch: same
Source: gcc-5
Version: 5.4.0-6ubuntu1~16.04.5
Depends: gcc-5-base (= 5.4.0-6ubuntu1~16.04.5), libc6 (>= 2.17)
Breaks: gcc-4.3 (<< 4.3.6-1), gcc-4.4 (<< 4.4.6-4), gcc-4.5 (<< 4.5.3-2)
Description: GCC OpenMP (GOMP) support library
GOMP is an implementation of OpenMP for the C, C++, and Fortran compilers
in the GNU Compiler Collection.
Homepage: http://gcc.gnu.org/
Original-Maintainer: Debian GCC Maintainers <debian-gcc@lists.debian.org>

和圖書館在這裡找到:

locate libgomp

/usr/lib/gcc/x86_64-linux-gnu/5/libgomp.a
/usr/lib/gcc/x86_64-linux-gnu/5/libgomp.so
/usr/lib/gcc/x86_64-linux-gnu/5/libgomp.spec
/usr/lib/x86_64-linux-gnu/libgomp.so.1
/usr/lib/x86_64-linux-gnu/libgomp.so.1.0.0
/usr/share/doc/libgomp1
/var/lib/dpkg/info/libgomp1:amd64.list
/var/lib/dpkg/info/libgomp1:amd64.md5sums
/var/lib/dpkg/info/libgomp1:amd64.shlibs
/var/lib/dpkg/info/libgomp1:amd64.symbols
/var/lib/dpkg/info/libgomp1:amd64.triggers

是否可以以某種方式在配置/生成文件中指定庫的位置?

生成文件包含:

OPENMP_CFLAGS = -fopenmp

如果它是相關的,我已經安裝了 Anaconda,因為我已經讀到這可能會干擾一些建構過程。

連結到 build.sh 的 VERBOSE 輸出

輸出要點

gcc 和 g++ 版本:

g++ --version
g++ (Ubuntu 5.4.0-6ubuntu1~16.04.5) 5.4.0 20160609

gcc --version
gcc (Ubuntu 5.4.0-6ubuntu1~16.04.5) 5.4.0 20160609

我遇到了完全相同的問題,正如 OP 所預測的那樣,我的問題與 Anaconda 安裝有關,並且在刪除它後得到了修復。我注意到執行locate libgomp產生的輸出類似於 OP,但與 Anaconda 相關的結果位於頂部。

解除安裝它後,輸出是相同的,我可以使用預設配置建構 ccminer。

這篇文章詳細介紹瞭如何解除安裝 Anaconda

看起來您使用的是發行版的預設 gcc 版本(可能是 6 或 7)。根據 INSTALL 文件,gcc 5 是唯一支持的版本。您可以使用gcc --version. 要更改 Ubuntu 上的版本,請執行以下命令:

sudo apt-get install gcc-5 g++-5
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-5 1
sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-5 1

引用自:https://unix.stackexchange.com/questions/400529