Here is something about the libgomp.so
[root@localhost lib]# ldd --verbose libgomp.so
linux-vdso.so.1 => (0x00007ffcb13a0000)
librt.so.1 => /lib64/librt.so.1 (0x00007f6b261cb000)
libpthread.so.0 => /lib64/libpthread.so.0 (0x00007f6b25fad000)
libc.so.6 => /lib64/libc.so.6 (0x00007f6b25c19000)
/lib64/ld-linux-x86-64.so.2 (0x00007f6b265e7000)
Version information:
./libgomp.so:
librt.so.1 (GLIBC_2.2.5) => /lib64/librt.so.1
libpthread.so.0 (GLIBC_2.3.4) => /lib64/libpthread.so.0
libpthread.so.0 (GLIBC_2.2.5) => /lib64/libpthread.so.0
libc.so.6 (GLIBC_2.3) => /lib64/libc.so.6
libc.so.6 (GLIBC_2.2.5) => /lib64/libc.so.6
/lib64/librt.so.1:
libpthread.so.0 (GLIBC_2.2.5) => /lib64/libpthread.so.0
libpthread.so.0 (GLIBC_PRIVATE) => /lib64/libpthread.so.0
libc.so.6 (GLIBC_2.3.2) => /lib64/libc.so.6
libc.so.6 (GLIBC_2.2.5) => /lib64/libc.so.6
libc.so.6 (GLIBC_PRIVATE) => /lib64/libc.so.6
/lib64/libpthread.so.0:
ld-linux-x86-64.so.2 (GLIBC_2.3) => /lib64/ld-linux-x86-
64.so.2
ld-linux-x86-64.so.2 (GLIBC_2.2.5) => /lib64/ld-linux-x86-
64.so.2
ld-linux-x86-64.so.2 (GLIBC_PRIVATE) => /lib64/ld-linux-x86-
64.so.2
libc.so.6 (GLIBC_2.3.2) => /lib64/libc.so.6
libc.so.6 (GLIBC_PRIVATE) => /lib64/libc.so.6
libc.so.6 (GLIBC_2.2.5) => /lib64/libc.so.6
/lib64/libc.so.6:
ld-linux-x86-64.so.2 (GLIBC_PRIVATE) => /lib64/ld-linux-x86-
64.so.2
ld-linux-x86-64.so.2 (GLIBC_2.3) => /lib64/ld-linux-x86-
64.so.2
On Thursday, January 12, 2017 at 8:40:38 AM UTC+8, CatDog wrote:
>
> Hello, everyone
>
> I am testing the installation of pyfr1.5.0 on a single-core VPS on
> bandwagonhost with centos 6. Because the softwares' versions of the OS are
> very old, the python 3 is installed using anaconda, and the gcc 4.9.2 is
> installed using devtoolset-3 of RHSCL. All dependency and version number is
> satisified. But the test case gives me an error:
>
> [root@localhost euler_vortex_2d]# pyfr run -b openmp
> euler_vortex_2d.pyfrm euler_vortex_2d.ini
>
> *error msg:*
>
> Traceback (most recent call last):
> File
> "/op/anaconda3/lib/python3.5/site-packages/pyfr-1.5.0-py3.5.egg/pyfr/util.py",
>
> line 32, in __call__
> KeyError: (<function OpenMPKernelProvider._build_kernel at
> 0x7f165ac5fb70>,
> b'\x80\x03X\x05\x00\x00\x00tfluxq\x00X^\x1e\x00\x00\n\n#include
> <omp.h>\n#include <stdlib.h>\n#include <tgmath.h>\n\n#define
> PYFR_ALIGN_BYTES 64\n#define SOA_SZ 8\n\n#define min(a, b) ((a) < (b) ? (a)
> : (b))\n#define max(a, b) ((a) > (b) ? (a) : (b))\n\n// Typedefs\ntypedef
> double fpdtype_t;\n\n// OpenMP static loop scheduling functions\n\nstatic
> inline int\ngcd(int a, int b)\n{\n return (a == 0) ? b : gcd(b % a,
> a);\n}\n\nstatic inline void\nloop_sched_1d(int n, int align, int *b, int
> *e)\n{\n int tid = omp_get_thread_num();\n int nth =
> omp_get_num_threads();\n\n // Round up n to be a multiple of nth\n
> int rn = n + nth - 1 - (n - 1) % nth;\n\n // Nominal tile size\n int
> sz = rn / nth;\n\n // Handle alignment\n sz += align - 1 - (sz - 1) %
> align;\n\n // Assign the starting and ending index\n *b = sz * tid;\n
> *e = min(*b + sz, n);\n\n // Clamp\n if (*b >= n)\n *b = *e
> = 0;\n}\n\nstatic inline void\nloop_sched_2d(int nrow, int ncol, int
> colalign,\n int *rowb, int *rowe, int *colb, int *cole)\n{\n
> int tid = omp_get_thread_num();\n int nth = omp_get_num_threads();\n\n
> // Distribute threads\n int nrowth = gcd(nrow, nth);\n int ncolth
> = nth / nrowth;\n\n // Row and column indices for our thread\n int
> rowix = tid / ncolth;\n int colix = tid % ncolth;\n\n // Round up
> ncol to be a multiple of ncolth\n int rncol = ncol + ncolth - 1 - (ncol
> - 1) % ncolth;\n\n // Nominal tile size\n int ntilerow = nrow /
> nrowth;\n int ntilecol = rncol / ncolth;\n\n // Handle column
> alignment\n ntilecol += colalign - 1 - (ntilecol - 1) % colalign;\n\n
> // Assign the starting and ending row to each thread\n *rowb = ntilerow
> * rowix;\n *rowe = *rowb + ntilerow;\n\n // Assign the starting and
> ending column to each thread\n *colb = ntilecol * colix;\n *cole =
> min(*colb + ntilecol, ncol);\n\n // Clamp\n if (*colb >= ncol)\n
> *colb = *cole = 0;\n}\n\n\n\n\n\n\n\n\n\nvoid tflux(int _ny, int _nx,
> fpdtype_t* __restrict__ f_v, int ldf, const fpdtype_t* __restrict__
> smats_v, int ldsmats, const fpdtype_t* __restrict__ u_v, int ldu)\n
> {\n #define X_IDX (_xi + _xj)\n
> #define X_IDX_AOSOA(v, nv) ((_xi/SOA_SZ*(nv) +
> (v))*SOA_SZ + _xj)\n int align = PYFR_ALIGN_BYTES /
> sizeof(fpdtype_t);\n #pragma omp parallel\n
> {\n \n int rb, re, cb, ce;\n
> loop_sched_2d(_ny, _nx, align, &rb, &re, &cb, &ce);\n
> int nci = ((ce - cb) / SOA_SZ)*SOA_SZ;\n
> for (int _y = rb; _y < re; _y++)\n {\n
> for (int _xi = cb; _xi < cb + nci; _xi += SOA_SZ)\n
> {\n #pragma omp simd\n
> for (int _xj = 0; _xj < SOA_SZ; _xj++)\n
> {\n \n // Compute the flux\n
> fpdtype_t ftemp[2][4];\n fpdtype_t p, v[2];\n {\n\n fpdtype_t
> invrho_ = 1.0/u_v[ldu*_y + X_IDX_AOSOA(0, 4)], E_ = u_v[ldu*_y +
> X_IDX_AOSOA(3, 4)];\n\n // Compute the velocities\n fpdtype_t
> rhov_[2];\n rhov_[0] = u_v[ldu*_y + X_IDX_AOSOA(1, 4)];\n v[0] =
> invrho_*rhov_[0];\n rhov_[1] = u_v[ldu*_y + X_IDX_AOSOA(2, 4)];\n
> v[1] = invrho_*rhov_[1];\n\n // Compute the pressure\n p =
> 0.3999999999999999*(E_ - 0.5*invrho_*((rhov_[0])*(rhov_[0]) +
> (rhov_[1])*(rhov_[1])));\n\n // Density and energy fluxes\n
> ftemp[0][0] = rhov_[0];\n ftemp[0][3] = (E_ + p)*v[0];\n ftemp[1][0]
> = rhov_[1];\n ftemp[1][3] = (E_ + p)*v[1];\n\n // Momentum fluxes\n
> ftemp[0][1] = rhov_[0]*v[0] + p;\n ftemp[0][2] = rhov_[0]*v[1];\n
> ftemp[1][1] = rhov_[1]*v[0];\n ftemp[1][2] = rhov_[1]*v[1] +
> p;\n\n};\n\n // Transform the fluxes\n f_v[(0*_ny + _y)*ldf +
> X_IDX_AOSOA(0, 4)] = smats_v[(0*_ny + _y)*ldsmats + X_IDX_AOSOA(0,
> 2)]*ftemp[0][0] + smats_v[(0*_ny + _y)*ldsmats + X_IDX_AOSOA(1,
> 2)]*ftemp[1][0];\n f_v[(0*_ny + _y)*ldf + X_IDX_AOSOA(1, 4)] =
> smats_v[(0*_ny + _y)*ldsmats + X_IDX_AOSOA(0, 2)]*ftemp[0][1] +
> smats_v[(0*_ny + _y)*ldsmats + X_IDX_AOSOA(1, 2)]*ftemp[1][1];\n
> f_v[(0*_ny + _y)*ldf + X_IDX_AOSOA(2, 4)] = smats_v[(0*_ny + _y)*ldsmats +
> X_IDX_AOSOA(0, 2)]*ftemp[0][2] + smats_v[(0*_ny + _y)*ldsmats +
> X_IDX_AOSOA(1, 2)]*ftemp[1][2];\n f_v[(0*_ny + _y)*ldf + X_IDX_AOSOA(3,
> 4)] = smats_v[(0*_ny + _y)*ldsmats + X_IDX_AOSOA(0, 2)]*ftemp[0][3] +
> smats_v[(0*_ny + _y)*ldsmats + X_IDX_AOSOA(1, 2)]*ftemp[1][3];\n
> f_v[(1*_ny + _y)*ldf + X_IDX_AOSOA(0, 4)] = smats_v[(1*_ny + _y)*ldsmats +
> X_IDX_AOSOA(0, 2)]*ftemp[0][0] + smats_v[(1*_ny + _y)*ldsmats +
> X_IDX_AOSOA(1, 2)]*ftemp[1][0];\n f_v[(1*_ny + _y)*ldf + X_IDX_AOSOA(1,
> 4)] = smats_v[(1*_ny + _y)*ldsmats + X_IDX_AOSOA(0, 2)]*ftemp[0][1] +
> smats_v[(1*_ny + _y)*ldsmats + X_IDX_AOSOA(1, 2)]*ftemp[1][1];\n
> f_v[(1*_ny + _y)*ldf + X_IDX_AOSOA(2, 4)] = smats_v[(1*_ny + _y)*ldsmats +
> X_IDX_AOSOA(0, 2)]*ftemp[0][2] + smats_v[(1*_ny + _y)*ldsmats +
> X_IDX_AOSOA(1, 2)]*ftemp[1][2];\n f_v[(1*_ny + _y)*ldf + X_IDX_AOSOA(3,
> 4)] = smats_v[(1*_ny + _y)*ldsmats + X_IDX_AOSOA(0, 2)]*ftemp[0][3] +
> smats_v[(1*_ny + _y)*ldsmats + X_IDX_AOSOA(1, 2)]*ftemp[1][3];\n\n
> }\n }\n
> for (int _xi = cb + nci, _xj = 0; _xj < ce - _xi;\n
> _xj++)\n {\n \n
> // Compute the flux\n fpdtype_t ftemp[2][4];\n fpdtype_t p, v[2];\n
> {\n\n fpdtype_t invrho_ = 1.0/u_v[ldu*_y + X_IDX_AOSOA(0, 4)], E_ =
> u_v[ldu*_y + X_IDX_AOSOA(3, 4)];\n\n // Compute the velocities\n
> fpdtype_t rhov_[2];\n rhov_[0] = u_v[ldu*_y + X_IDX_AOSOA(1, 4)];\n
> v[0] = invrho_*rhov_[0];\n rhov_[1] = u_v[ldu*_y + X_IDX_AOSOA(2,
> 4)];\n v[1] = invrho_*rhov_[1];\n\n // Compute the pressure\n p =
> 0.3999999999999999*(E_ - 0.5*invrho_*((rhov_[0])*(rhov_[0]) +
> (rhov_[1])*(rhov_[1])));\n\n // Density and energy fluxes\n
> ftemp[0][0] = rhov_[0];\n ftemp[0][3] = (E_ + p)*v[0];\n ftemp[1][0]
> = rhov_[1];\n ftemp[1][3] = (E_ + p)*v[1];\n\n // Momentum fluxes\n
> ftemp[0][1] = rhov_[0]*v[0] + p;\n ftemp[0][2] = rhov_[0]*v[1];\n
> ftemp[1][1] = rhov_[1]*v[0];\n ftemp[1][2] = rhov_[1]*v[1] +
> p;\n\n};\n\n // Transform the fluxes\n f_v[(0*_ny + _y)*ldf +
> X_IDX_AOSOA(0, 4)] = smats_v[(0*_ny + _y)*ldsmats + X_IDX_AOSOA(0,
> 2)]*ftemp[0][0] + smats_v[(0*_ny + _y)*ldsmats + X_IDX_AOSOA(1,
> 2)]*ftemp[1][0];\n f_v[(0*_ny + _y)*ldf + X_IDX_AOSOA(1, 4)] =
> smats_v[(0*_ny + _y)*ldsmats + X_IDX_AOSOA(0, 2)]*ftemp[0][1] +
> smats_v[(0*_ny + _y)*ldsmats + X_IDX_AOSOA(1, 2)]*ftemp[1][1];\n
> f_v[(0*_ny + _y)*ldf + X_IDX_AOSOA(2, 4)] = smats_v[(0*_ny + _y)*ldsmats +
> X_IDX_AOSOA(0, 2)]*ftemp[0][2] + smats_v[(0*_ny + _y)*ldsmats +
> X_IDX_AOSOA(1, 2)]*ftemp[1][2];\n f_v[(0*_ny + _y)*ldf + X_IDX_AOSOA(3,
> 4)] = smats_v[(0*_ny + _y)*ldsmats + X_IDX_AOSOA(0, 2)]*ftemp[0][3] +
> smats_v[(0*_ny + _y)*ldsmats + X_IDX_AOSOA(1, 2)]*ftemp[1][3];\n
> f_v[(1*_ny + _y)*ldf + X_IDX_AOSOA(0, 4)] = smats_v[(1*_ny + _y)*ldsmats +
> X_IDX_AOSOA(0, 2)]*ftemp[0][0] + smats_v[(1*_ny + _y)*ldsmats +
> X_IDX_AOSOA(1, 2)]*ftemp[1][0];\n f_v[(1*_ny + _y)*ldf + X_IDX_AOSOA(1,
> 4)] = smats_v[(1*_ny + _y)*ldsmats + X_IDX_AOSOA(0, 2)]*ftemp[0][1] +
> smats_v[(1*_ny + _y)*ldsmats + X_IDX_AOSOA(1, 2)]*ftemp[1][1];\n
> f_v[(1*_ny + _y)*ldf + X_IDX_AOSOA(2, 4)] = smats_v[(1*_ny + _y)*ldsmats +
> X_IDX_AOSOA(0, 2)]*ftemp[0][2] + smats_v[(1*_ny + _y)*ldsmats +
> X_IDX_AOSOA(1, 2)]*ftemp[1][2];\n f_v[(1*_ny + _y)*ldf + X_IDX_AOSOA(3,
> 4)] = smats_v[(1*_ny + _y)*ldsmats + X_IDX_AOSOA(0, 2)]*ftemp[0][3] +
> smats_v[(1*_ny + _y)*ldsmats + X_IDX_AOSOA(1, 2)]*ftemp[1][3];\n\n
> }\n }\n }\n
> #undef X_IDX\n #undef X_IDX_AOSOA\n
> }\n\nq\x01]q\x02(cnumpy\nint32\nq\x03h\x03cnumpy\nint64\nq\x04h\x03h\x04h\x03h\x04h\x03e\x87q\x05.',
>
> b'\x80\x03}q\x00.')
>
> During handling of the above exception, another exception occurred:
>
> Traceback (most recent call last):
> File "/op/anaconda3/bin/pyfr", line 11, in <module>
> load_entry_point('pyfr==1.5.0', 'console_scripts', 'pyfr')()
> File
> "/op/anaconda3/lib/python3.5/site-packages/pyfr-1.5.0-py3.5.egg/pyfr/__main__.py",
>
> line 110, in main
> File
> "/op/anaconda3/lib/python3.5/site-packages/pyfr-1.5.0-py3.5.egg/pyfr/__main__.py",
>
> line 235, in process_run
> File
> "/op/anaconda3/lib/python3.5/site-packages/pyfr-1.5.0-py3.5.egg/pyfr/__main__.py",
>
> line 216, in _process_common
> File
> "/op/anaconda3/lib/python3.5/site-packages/pyfr-1.5.0-py3.5.egg/pyfr/solvers/__init__.py",
>
> line 14, in get_solver
> File
> "/op/anaconda3/lib/python3.5/site-packages/pyfr-1.5.0-py3.5.egg/pyfr/integrators/__init__.py",
>
> line 43, in get_integrator
> File
> "/op/anaconda3/lib/python3.5/site-packages/pyfr-1.5.0-py3.5.egg/pyfr/integrators/std/controllers.py",
>
> line 12, in __init__
> File
> "/op/anaconda3/lib/python3.5/site-packages/pyfr-1.5.0-py3.5.egg/pyfr/integrators/std/steppers.py",
>
> line 8, in __init__
> File
> "/op/anaconda3/lib/python3.5/site-packages/pyfr-1.5.0-py3.5.egg/pyfr/integrators/std/base.py",
>
> line 12, in __init__
> File
> "/op/anaconda3/lib/python3.5/site-packages/pyfr-1.5.0-py3.5.egg/pyfr/integrators/base.py",
>
> line 59, in __init__
> File
> "/op/anaconda3/lib/python3.5/site-packages/pyfr-1.5.0-py3.5.egg/pyfr/solvers/base/system.py",
>
> line 65, in __init__
> File
> "/op/anaconda3/lib/python3.5/site-packages/pyfr-1.5.0-py3.5.egg/pyfr/solvers/base/system.py",
>
> line 174, in _gen_kernels
> File
> "/op/anaconda3/lib/python3.5/site-packages/pyfr-1.5.0-py3.5.egg/pyfr/solvers/euler/elements.py",
>
> line 74, in <lambda>
> File
> "/op/anaconda3/lib/python3.5/site-packages/pyfr-1.5.0-py3.5.egg/pyfr/backends/base/backend.py",
>
> line 166, in kernel
> File
> "/op/anaconda3/lib/python3.5/site-packages/pyfr-1.5.0-py3.5.egg/pyfr/backends/base/kernels.py",
>
> line 161, in kernel_meth
> File
> "/op/anaconda3/lib/python3.5/site-packages/pyfr-1.5.0-py3.5.egg/pyfr/util.py",
>
> line 34, in __call__
> File
> "/op/anaconda3/lib/python3.5/site-packages/pyfr-1.5.0-py3.5.egg/pyfr/backends/openmp/provider.py",
>
> line 13, in _build_kernel
> File
> "/op/anaconda3/lib/python3.5/site-packages/pyfr-1.5.0-py3.5.egg/pyfr/backends/openmp/compiler.py",
>
> line 61, in __init__
> File
> "/op/anaconda3/lib/python3.5/site-packages/pyfr-1.5.0-py3.5.egg/pyfr/backends/openmp/compiler.py",
>
> line 33, in __init__
> File "/op/anaconda3/lib/python3.5/ctypes/__init__.py", line 347, in
> __init__
> self._handle = _dlopen(self._name, mode)
> OSError: /op/anaconda3/bin/../lib/libgomp.so.1: version `GOMP_4.0' not
> found (required by /tmp/pyfr-0-i5qtiki9/libtmp.so)
>
> It seems a conflict of GOMP libs. how to resolve this problem? I tried to
> use follow method to diagnose it
>
> [root@localhost couette_flow_2d]# ldd /tmp/pyfr-0-c6hurolh/libtmp.so
> ldd: /tmp/pyfr-0-c6hurolh/libtmp.so: No such file or directory
>
> But the temporary file is missing.
>
> Is there anyway to solve this problem? Is cflags in [backend-openmp]
> helpful to this kind of problem?
>
--
You received this message because you are subscribed to the Google Groups "PyFR
Mailing List" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To post to this group, send an email to [email protected].
Visit this group at https://groups.google.com/group/pyfrmailinglist.
For more options, visit https://groups.google.com/d/optout.