The program was linked against a specific version of libgomp (libgomp.so.1) and it can only be used by that one. So you have to either:

  1. Obtain the source code of the application and compile it yourself for your system,
  2. Obtain an another version of the application compiled against newer version of gcc,
  3. Obtain a statically linked version of the application,
  4. If your distribution supports that, install the older version of libgomp in parallel,
  5. If it doesn't, you can still grab the older libgomp binary and put it in your /usr/lib (preferably, /usr/local/lib instead if that path is in your /etc/ld.so.conf),
  6. And finally, if that's possible you can downgrade gcc to the older version to make it work. But it's a bad, short-time solution.
Answer from Michał Górny on Stack Overflow
🌐
GNU
gcc.gnu.org › onlinedocs › libgomp
Top (GNU libgomp)
This manual documents the usage of libgomp, the GNU Offloading and Multi Processing Runtime Library.
🌐
GitHub
github.com › easybuilders › easybuild-framework › issues › 4535
The GCC OpenMP runtime (`libgomp`) should be a banned library for `GCCcore` (only) · Issue #4535 · easybuilders/easybuild-framework
May 17, 2024 - The GCC OpenMP runtime (libgomp) should be a banned library for GCCcore (only)#4535 · #4951 · Copy link · Labels · changeenhancement · Milestone · 5.x · ocaisa · opened · on May 17, 2024 · Issue body actions · There are different ...
Author   easybuilders
🌐
Fedora
packages.fedoraproject.org › pkgs › gcc › libgomp
libgomp - Fedora Packages
View libgomp in the Fedora package repositories. libgomp: GCC OpenMP v5.2 shared support library
🌐
Anaconda.org
anaconda.org › conda-forge › libgomp
libgomp - conda-forge | Anaconda.org
Install libgomp with Anaconda.org. The GCC OpenMP implementation.
🌐
Simon Tatham
chiark.greenend.org.uk › doc › gcc-10-doc › libgomp.html
GNU libgomp
This manual documents the usage of libgomp, the GNU Offloading and Multi Processing Runtime Library.
Top answer
1 of 3
4

The program was linked against a specific version of libgomp (libgomp.so.1) and it can only be used by that one. So you have to either:

  1. Obtain the source code of the application and compile it yourself for your system,
  2. Obtain an another version of the application compiled against newer version of gcc,
  3. Obtain a statically linked version of the application,
  4. If your distribution supports that, install the older version of libgomp in parallel,
  5. If it doesn't, you can still grab the older libgomp binary and put it in your /usr/lib (preferably, /usr/local/lib instead if that path is in your /etc/ld.so.conf),
  6. And finally, if that's possible you can downgrade gcc to the older version to make it work. But it's a bad, short-time solution.
2 of 3
4

You can see all the shared library linked dependencies of a program by using comamnd ldd. For example:

$ ldd /bin/ls
    linux-gate.so.1 =>  (0xb76fe000)
    libselinux.so.1 => /lib/i386-linux-gnu/libselinux.so.1 (0xb76be000)
    librt.so.1 => /lib/i386-linux-gnu/librt.so.1 (0xb76b5000)
    libacl.so.1 => /lib/i386-linux-gnu/libacl.so.1 (0xb76ab000)
    libc.so.6 => /lib/i386-linux-gnu/libc.so.6 (0xb7506000)
    libdl.so.2 => /lib/i386-linux-gnu/libdl.so.2 (0xb7501000)
    /lib/ld-linux.so.2 (0xb76ff000)
    libpthread.so.0 => /lib/i386-linux-gnu/libpthread.so.0 (0xb74e6000)
    libattr.so.1 => /lib/i386-linux-gnu/libattr.so.1 (0xb74e0000)

Now, if you want to run this program in another machine and have problems with the version of the shared libraries you can try copying the lot to a directory and then use the LD_LIBRARY_PATH trick. But note that some libraries must not be copied:

  • linux-gate.so: Not a real file, but a gateway to kernel land.
  • /lib/ld-linux-so.2: The dynamic loader, (or ELF interpreter, as some call it). There is a static reference to it in the header of every dynamically linked executable. Do not copy it.
  • [/usr]/lib/i386-linux-gnu/*: Everything in this directory is architecture specific. It may work if both machines have the same architecture. If not, you have to look for a library with the same name under [/usr]/lib/<your-real-arch>/*.

In the target machine, you can also use the ldd tool after export LD_LIBRARY_PATH=... to see if it is resolving the libraries as expected.

🌐
Anaconda.org
anaconda.org › anaconda › libgomp
libgomp - anaconda | Anaconda.org
Install libgomp with Anaconda.org. The GCC OpenMP implementation.
Find elsewhere
🌐
Berkeley
lithe.eecs.berkeley.edu › libgomp
Libgomp-Lithe: A Port of GNU OpenMP to Lithe
This is a port of the library portion of the GNU OpenMP library to the Lithe framework. It is based on the libgomp library included in:
🌐
GitHub
github.com › gcc-mirror › gcc › blob › master › libgomp › libgomp.h
gcc/libgomp/libgomp.h at master · gcc-mirror/gcc
· Libgomp is free software; you can redistribute it and/or modify it · under the terms of the GNU General Public License as published by · the Free Software Foundation; either version 3, or (at your option) any later version.
Author   gcc-mirror
🌐
GNU
gcc.gnu.org › projects › gomp
GNU Offloading and Multi-Processing Project (GOMP) - GNU Project
GOMP includes a support library (libgomp) and extensions to target language parsers.
🌐
OpenMamba
openmamba.org › en › rpms › base › libgomp › aarch64
libgomp (aarch64) | openmamba | Linux distribution
Home > Repositories > base > gcc > libgomp (aarch64) Resources: Source files | Changes Issues | Add a new issue Download · An implementation of OpenMP for the C, C++, and Fortran 95 compilers in the GNU Compiler Collection. Required by · Loading... Provided files ·
🌐
GNU
gcc.gnu.org › onlinedocs › gcc-6.3.0 › libgomp
GNU libgomp
This manual documents the usage of libgomp, the GNU Offloading and Multi Processing Runtime Library.
🌐
Prefix.dev
prefix.dev › channels › conda-forge › packages › libgomp
libgomp - conda-forge
libgomp · conda-forge · public · 33k Packages · A community led collection of recipes, build infrastructure and distributions for the conda package manager. A community led collection of recipes, build infrastructure and distributions for the conda package manager.
🌐
Alpine Linux
pkgs.alpinelinux.org › package › edge › main › x86 › libgomp
libgomp - Alpine Linux packages
libgomp · libobjc · libquadmath · libstdc++ libstdc++-dev · Provides (1) so:libgomp.so.1 ·
🌐
GNU
gcc.gnu.org › onlinedocs › gcc-7.5.0 › libgomp
GNU libgomp: Top
This manual documents the usage of libgomp, the GNU Offloading and Multi Processing Runtime Library.
🌐
GitHub
github.com › lapesd › libgomp
GitHub - lapesd/libgomp: An Enhanced OpenMP Library · GitHub
An Enhanced OpenMP Library. Contribute to lapesd/libgomp development by creating an account on GitHub.
Starred by 21 users
Forked by 8 users
Languages   Roff 41.2% | C 31.0% | Fortran 6.7% | M4 6.2% | TeX 6.0% | Shell 5.8%
🌐
RPMfind
rpmfind.net › linux › rpm2html › search.php
RPM resource libgomp
The search service can find package by either name (apache), provides(webserver), absolute file names (/usr/bin/apache), binaries (gprof) or shared libraries (libXm.so.2) in standard path. It does not support multiple arguments yet · The System and Arch are optional added filters, for example ...
🌐
PyTorch Forums
discuss.pytorch.org › c++
Libgomp.so.1: version `GOMP_4.0' not found (Building Libtorch from source gcc 7.3.1 and using gcc 4.8.2 at runtime) - C++ - PyTorch Forums
September 26, 2020 - Hi, I am trying to build Libtorch from source using gcc 7.3.0, and then at runtime i am required to use a gcc 4.8.2. Thus i face an error due to OpenMP library: libgomp.so.1: version `GOMP_4.0' not found ; even after disabling OpenMP by USE_OPENMP=0. Is there a way to solve this issue, A way to use OPENMP 3.1 (compatible with gcc 4.8.2) ? A way to effectively disable openmp (if it won’t affect dramatically the execution time) Build (Centos 7): conda activate pytorch-build-3 #devtoolset ...
🌐
Intel Community
community.intel.com › t5 › Intel-Integrated-Performance › Mixing-libiomp5-so-and-GNU-s-libgomp-so › m-p › 832222
Solved: Mixing libiomp5.so and GNU's libgomp.so? - Intel Community
December 30, 2010 - 1. link to libgomp (GNU's OpenMP v3.0) instead of libiomp5 -- but would IPP still work if we replace libiomp5 with libgomp?