このlibgomp1依存関係の問題を解決するには?

このlibgomp1依存関係の問題を解決するには?

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 <[email protected]>
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 <[email protected]>

これらのライブラリはここにあります。

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

config / makeファイル内のライブラリの場所をどのように指定できますか?

生成されたファイルには以下が含まれます。

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

ベストアンサー1

ディストリビューションのデフォルトのgccバージョン(おそらく6または7)を使用しているようです。インストール文書によると、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

おすすめ記事