Compilation failure with openmp backend and artificial viscosity

Hi guys!

I am running the latest version PyFR v1.5.0 for supersonic cases.

Backend is OpenMP. When adding artificial viscosity in config,

[solver]
system = navier-stokes
order = 3
;anti-alias = flux
viscosity-correction = none
shock-capturing = artificial-viscosity

[solver-artificial-viscosity]
max-artvisc = 0.01
s0 = 0.01
kappa = 5.0

it returns error like this:

Traceback (most recent call last):
File "/usr/local/lib/python3.5/dist-packages/pyfr-1.5.0-py3.5.egg/pyfr/util.py", line 32, in __call__
KeyError: (<function OpenMPKernelProvider._build_kernel at 0x7fafc508a9d8>, b'\x80\x03X\x0b\x00\x00\x00shocksensorq\x00X\x818\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 16\n\n#define min(a, b) ((a) < (b) ? (a) : (b))\n#define max(a, b) ((a) > (b) ? (a) : (b))\n\n// Typedefs\ntypedef float 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\nvoid shocksensor(int _nx, fpdtype_t* __restrict__ artvisc_v, 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 cb, ce;\n loop_sched_1d(_nx, align, &cb, &ce);\n int nci = ((ce - cb) / SOA_SZ)*SOA_SZ;\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 // Smoothness indicator\n fpdtype_t totEn = 0.0f, pnEn = 1e-15f, tmp;\n\n tmp = 0.28502482785773026f*u_v[ldu*0 + X_IDX_AOSOA(0, 4)] + 0.05933405549618086f*u_v[ldu*1 + X_IDX_AOSOA(0, 4)] + 0.05933405549618086f*u_v[ldu*2 + X_IDX_AOSOA(0, 4)] + 0.05933405549618086f*u_v[ldu*3 + X_IDX_AOSOA(0, 4)] + 0.15853109467113707f*u_v[ldu*4 + X_IDX_AOSOA(0, 4)] + 0.15853109467113707f*u_v[ldu*5 + X_IDX_AOSOA(0, 4)] + 0.15853109467113707f*u_v[ldu*6 + X_IDX_AOSOA(0, 4)] + 0.15853109467113707f*u_v[ldu*7 + X_IDX_AOSOA(0, 4)] + 0.15853109467113707f*u_v[ldu*8 + X_IDX_AOSOA(0, 4)] + 0.15853109467113707f*u_v[ldu*9 + X_IDX_AOSOA(0, 4)];\n\n totEn += tmp*tmp;\n tmp = 0.13984743197938582f*u_v[ldu*1 + X_IDX_AOSOA(0, 4)] + -0.06992371598969294f*u_v[ldu*2 + X_IDX_AOSOA(0, 4)] + -0.06992371598969294f*u_v[ldu*3 + X_IDX_AOSOA(0, 4)] + -0.025423665347721516f*u_v[ldu*4 + X_IDX_AOSOA(0, 4)] + -0.025423665347721516f*u_v[ldu*5 + X_IDX_AOSOA(0, 4)] + -0.17694361695401856f*u_v[ldu*6 + X_IDX_AOSOA(0, 4)] + -0.17694361695401856f*u_v[ldu*7 + X_IDX_AOSOA(0, 4)] + 0.20236728230174011f*u_v[ldu*8 + X_IDX_AOSOA(0, 4)] + 0.20236728230174011f*u_v[ldu*9 + X_IDX_AOSOA(0, 4)];\n\n totEn += tmp*tmp;\n tmp = -0.27426526848231325f*u_v[ldu*0 + X_IDX_AOSOA(0, 4)] + 0.18395319285197836f*u_v[ldu*1 + X_IDX_AOSOA(0, 4)] + 0.06026010710330017f*u_v[ldu*2 + X_IDX_AOSOA(0, 4)] + 0.06026010710330017f*u_v[ldu*3 + X_IDX_AOSOA(0, 4)] + -0.13478444022110087f*u_v[ldu*4 + X_IDX_AOSOA(0, 4)] + -0.13478444022110087f*u_v[ldu*5 + X_IDX_AOSOA(0, 4)] + 0.13380860728687555f*u_v[ldu*6 + X_IDX_AOSOA(0, 4)] + 0.13380860728687555f*u_v[ldu*7 + X_IDX_AOSOA(0, 4)] + -0.01412823635390751f*u_v[ldu*8 + X_IDX_AOSOA(0, 4)] + -0.01412823635390751f*u_v[ldu*9 + X_IDX_AOSOA(0, 4)];\n\n totEn += tmp*tmp;\n tmp = 0.1839789435241348f*u_v[ldu*0 + X_IDX_AOSOA(0, 4)] + 0.16665430979703882f*u_v[ldu*1 + X_IDX_AOSOA(0, 4)] + -0.03419822994829057f*u_v[ldu*2 + X_IDX_AOSOA(0, 4)] + -0.03419822994829057f*u_v[ldu*3 + X_IDX_AOSOA(0, 4)] + 0.1284346305721225f*u_v[ldu*4 + X_IDX_AOSOA(0, 4)] + 0.1284346305721225f*u_v[ldu*5 + X_IDX_AOSOA(0, 4)] + -0.05349100861362495f*u_v[ldu*6 + X_IDX_AOSOA(0, 4)] + -0.05349100861362495f*u_v[ldu*7 + X_IDX_AOSOA(0, 4)] + -0.21606201867079383f*u_v[ldu*8 + X_IDX_AOSOA(0, 4)] + -0.21606201867079383f*u_v[ldu*9 + X_IDX_AOSOA(0, 4)];\n\n totEn += tmp*tmp;\n pnEn += tmp*tmp;\n tmp = 0.12111142874816451f*u_v[ldu*2 + X_IDX_AOSOA(0, 4)] + -0.12111142874816451f*u_v[ldu*3 + X_IDX_AOSOA(0, 4)] + 0.21899524979187118f*u_v[ldu*4 + X_IDX_AOSOA(0, 4)] + -0.21899524979187118f*u_v[ldu*5 + X_IDX_AOSOA(0, 4)] + -0.13151516494437648f*u_v[ldu*6 + X_IDX_AOSOA(0, 4)] + 0.13151516494437648f*u_v[ldu*7 + X_IDX_AOSOA(0, 4)] + -0.08748008484749475f*u_v[ldu*8 + X_IDX_AOSOA(0, 4)] + 0.08748008484749475f*u_v[ldu*9 + X_IDX_AOSOA(0, 4)];\n\n totEn += tmp*tmp;\n tmp = -0.10712135453084237f*u_v[ldu*2 + X_IDX_AOSOA(0, 4)] + 0.10712135453084237f*u_v[ldu*3 + X_IDX_AOSOA(0, 4)] + 0.12811706474860463f*u_v[ldu*4 + X_IDX_AOSOA(0, 4)] + -0.12811706474860463f*u_v[ldu*5 + X_IDX_AOSOA(0, 4)] + 0.1044913376731836f*u_v[ldu*6 + X_IDX_AOSOA(0, 4)] + -0.1044913376731836f*u_v[ldu*7 + X_IDX_AOSOA(0, 4)] + -0.23260840242178832f*u_v[ldu*8 + X_IDX_AOSOA(0, 4)] + 0.23260840242178832f*u_v[ldu*9 + X_IDX_AOSOA(0, 4)];\n\n totEn += tmp*tmp;\n tmp = 0.06957736073363158f*u_v[ldu*2 + X_IDX_AOSOA(0, 4)] + -0.06957736073363158f*u_v[ldu*3 + X_IDX_AOSOA(0, 4)] + -0.21444966530098136f*u_v[ldu*4 + X_IDX_AOSOA(0, 4)] + 0.21444966530098136f*u_v[ldu*5 + X_IDX_AOSOA(0, 4)] + -0.03879627554442675f*u_v[ldu*6 + X_IDX_AOSOA(0, 4)] + 0.03879627554442675f*u_v[ldu*7 + X_IDX_AOSOA(0, 4)] + -0.22115430550345153f*u_v[ldu*8 + X_IDX_AOSOA(0, 4)] + 0.22115430550345153f*u_v[ldu*9 + X_IDX_AOSOA(0, 4)];\n\n totEn += tmp*tmp;\n pnEn += tmp*tmp;\n tmp = -0.245310313677473f*u_v[ldu*0 + X_IDX_AOSOA(0, 4)] + -0.001418951290392127f*u_v[ldu*1 + X_IDX_AOSOA(0, 4)] + 0.13687412274998537f*u_v[ldu*2 + X_IDX_AOSOA(0, 4)] + 0.13687412274998537f*u_v[ldu*3 + X_IDX_AOSOA(0, 4)] + 0.14056146762227964f*u_v[ldu*4 + X_IDX_AOSOA(0, 4)] + 0.14056146762227964f*u_v[ldu*5 + X_IDX_AOSOA(0, 4)] + -0.15973468863355336f*u_v[ldu*6 + X_IDX_AOSOA(0, 4)] + -0.15973468863355336f*u_v[ldu*7 + X_IDX_AOSOA(0, 4)] + 0.0056637307452210486f*u_v[ldu*8 + X_IDX_AOSOA(0, 4)] + 0.0056637307452210486f*u_v[ldu*9 + X_IDX_AOSOA(0, 4)];\n\n totEn += tmp*tmp;\n tmp = -0.41138942414856006f*u_v[ldu*0 + X_IDX_AOSOA(0, 4)] + -0.013354419590260201f*u_v[ldu*1 + X_IDX_AOSOA(0, 4)] + -0.10317840605506703f*u_v[ldu*2 + X_IDX_AOSOA(0, 4)] + -0.10317840605506703f*u_v[ldu*3 + X_IDX_AOSOA(0, 4)] + 0.18365784409465846f*u_v[ldu*4 + X_IDX_AOSOA(0, 4)] + 0.18365784409465846f*u_v[ldu*5 + X_IDX_AOSOA(0, 4)] + 0.10229822488077245f*u_v[ldu*6 + X_IDX_AOSOA(0, 4)] + 0.10229822488077245f*u_v[ldu*7 + X_IDX_AOSOA(0, 4)] + 0.029594258949046187f*u_v[ldu*8 + X_IDX_AOSOA(0, 4)] + 0.029594258949046187f*u_v[ldu*9 + X_IDX_AOSOA(0, 4)];\n\n totEn += tmp*tmp;\n pnEn += tmp*tmp;\n tmp = 0.10628117407237161f*u_v[ldu*2 + X_IDX_AOSOA(0, 4)] + -0.10628117407237161f*u_v[ldu*3 + X_IDX_AOSOA(0, 4)] + 0.017498128285713434f*u_v[ldu*4 + X_IDX_AOSOA(0, 4)] + -0.017498128285713434f*u_v[ldu*5 + X_IDX_AOSOA(0, 4)] + 0.2858131131640441f*u_v[ldu*6 + X_IDX_AOSOA(0, 4)] + -0.2858131131640441f*u_v[ldu*7 + X_IDX_AOSOA(0, 4)] + 0.007256621207292163f*u_v[ldu*8 + X_IDX_AOSOA(0, 4)] + -0.007256621207292163f*u_v[ldu*9 + X_IDX_AOSOA(0, 4)];\n\n totEn += tmp*tmp;\n pnEn += tmp*tmp;\n\n fpdtype_t se = 0.43429448190325176f*log(pnEn/totEn);\n\n // Compute cell-wise artificial viscosity\n fpdtype_t mu = (se < -7.0f)\n ? 0.0f\n : 0.005f*(1.0f + sin(0.3141592653589793f*(se - -2.0f)));\n mu = (se < 3.0f) ? mu : 0.01f;\n\n artvisc_v[X_IDX] = mu;\n\n }\n }\n for (int _xi = cb + nci, _xj = 0; _xj < ce - _xi; _xj++)\n {\n \n // Smoothness indicator\n fpdtype_t totEn = 0.0f, pnEn = 1e-15f, tmp;\n\n tmp = 0.28502482785773026f*u_v[ldu*0 + X_IDX_AOSOA(0, 4)] + 0.05933405549618086f*u_v[ldu*1 + X_IDX_AOSOA(0, 4)] + 0.05933405549618086f*u_v[ldu*2 + X_IDX_AOSOA(0, 4)] + 0.05933405549618086f*u_v[ldu*3 + X_IDX_AOSOA(0, 4)] + 0.15853109467113707f*u_v[ldu*4 + X_IDX_AOSOA(0, 4)] + 0.15853109467113707f*u_v[ldu*5 + X_IDX_AOSOA(0, 4)] + 0.15853109467113707f*u_v[ldu*6 + X_IDX_AOSOA(0, 4)] + 0.15853109467113707f*u_v[ldu*7 + X_IDX_AOSOA(0, 4)] + 0.15853109467113707f*u_v[ldu*8 + X_IDX_AOSOA(0, 4)] + 0.15853109467113707f*u_v[ldu*9 + X_IDX_AOSOA(0, 4)];\n\n totEn += tmp*tmp;\n tmp = 0.13984743197938582f*u_v[ldu*1 + X_IDX_AOSOA(0, 4)] + -0.06992371598969294f*u_v[ldu*2 + X_IDX_AOSOA(0, 4)] + -0.06992371598969294f*u_v[ldu*3 + X_IDX_AOSOA(0, 4)] + -0.025423665347721516f*u_v[ldu*4 + X_IDX_AOSOA(0, 4)] + -0.025423665347721516f*u_v[ldu*5 + X_IDX_AOSOA(0, 4)] + -0.17694361695401856f*u_v[ldu*6 + X_IDX_AOSOA(0, 4)] + -0.17694361695401856f*u_v[ldu*7 + X_IDX_AOSOA(0, 4)] + 0.20236728230174011f*u_v[ldu*8 + X_IDX_AOSOA(0, 4)] + 0.20236728230174011f*u_v[ldu*9 + X_IDX_AOSOA(0, 4)];\n\n totEn += tmp*tmp;\n tmp = -0.27426526848231325f*u_v[ldu*0 + X_IDX_AOSOA(0, 4)] + 0.18395319285197836f*u_v[ldu*1 + X_IDX_AOSOA(0, 4)] + 0.06026010710330017f*u_v[ldu*2 + X_IDX_AOSOA(0, 4)] + 0.06026010710330017f*u_v[ldu*3 + X_IDX_AOSOA(0, 4)] + -0.13478444022110087f*u_v[ldu*4 + X_IDX_AOSOA(0, 4)] + -0.13478444022110087f*u_v[ldu*5 + X_IDX_AOSOA(0, 4)] + 0.13380860728687555f*u_v[ldu*6 + X_IDX_AOSOA(0, 4)] + 0.13380860728687555f*u_v[ldu*7 + X_IDX_AOSOA(0, 4)] + -0.01412823635390751f*u_v[ldu*8 + X_IDX_AOSOA(0, 4)] + -0.01412823635390751f*u_v[ldu*9 + X_IDX_AOSOA(0, 4)];\n\n totEn += tmp*tmp;\n tmp = 0.1839789435241348f*u_v[ldu*0 + X_IDX_AOSOA(0, 4)] + 0.16665430979703882f*u_v[ldu*1 + X_IDX_AOSOA(0, 4)] + -0.03419822994829057f*u_v[ldu*2 + X_IDX_AOSOA(0, 4)] + -0.03419822994829057f*u_v[ldu*3 + X_IDX_AOSOA(0, 4)] + 0.1284346305721225f*u_v[ldu*4 + X_IDX_AOSOA(0, 4)] + 0.1284346305721225f*u_v[ldu*5 + X_IDX_AOSOA(0, 4)] + -0.05349100861362495f*u_v[ldu*6 + X_IDX_AOSOA(0, 4)] + -0.05349100861362495f*u_v[ldu*7 + X_IDX_AOSOA(0, 4)] + -0.21606201867079383f*u_v[ldu*8 + X_IDX_AOSOA(0, 4)] + -0.21606201867079383f*u_v[ldu*9 + X_IDX_AOSOA(0, 4)];\n\n totEn += tmp*tmp;\n pnEn += tmp*tmp;\n tmp = 0.12111142874816451f*u_v[ldu*2 + X_IDX_AOSOA(0, 4)] + -0.12111142874816451f*u_v[ldu*3 + X_IDX_AOSOA(0, 4)] + 0.21899524979187118f*u_v[ldu*4 + X_IDX_AOSOA(0, 4)] + -0.21899524979187118f*u_v[ldu*5 + X_IDX_AOSOA(0, 4)] + -0.13151516494437648f*u_v[ldu*6 + X_IDX_AOSOA(0, 4)] + 0.13151516494437648f*u_v[ldu*7 + X_IDX_AOSOA(0, 4)] + -0.08748008484749475f*u_v[ldu*8 + X_IDX_AOSOA(0, 4)] + 0.08748008484749475f*u_v[ldu*9 + X_IDX_AOSOA(0, 4)];\n\n totEn += tmp*tmp;\n tmp = -0.10712135453084237f*u_v[ldu*2 + X_IDX_AOSOA(0, 4)] + 0.10712135453084237f*u_v[ldu*3 + X_IDX_AOSOA(0, 4)] + 0.12811706474860463f*u_v[ldu*4 + X_IDX_AOSOA(0, 4)] + -0.12811706474860463f*u_v[ldu*5 + X_IDX_AOSOA(0, 4)] + 0.1044913376731836f*u_v[ldu*6 + X_IDX_AOSOA(0, 4)] + -0.1044913376731836f*u_v[ldu*7 + X_IDX_AOSOA(0, 4)] + -0.23260840242178832f*u_v[ldu*8 + X_IDX_AOSOA(0, 4)] + 0.23260840242178832f*u_v[ldu*9 + X_IDX_AOSOA(0, 4)];\n\n totEn += tmp*tmp;\n tmp = 0.06957736073363158f*u_v[ldu*2 + X_IDX_AOSOA(0, 4)] + -0.06957736073363158f*u_v[ldu*3 + X_IDX_AOSOA(0, 4)] + -0.21444966530098136f*u_v[ldu*4 + X_IDX_AOSOA(0, 4)] + 0.21444966530098136f*u_v[ldu*5 + X_IDX_AOSOA(0, 4)] + -0.03879627554442675f*u_v[ldu*6 + X_IDX_AOSOA(0, 4)] + 0.03879627554442675f*u_v[ldu*7 + X_IDX_AOSOA(0, 4)] + -0.22115430550345153f*u_v[ldu*8 + X_IDX_AOSOA(0, 4)] + 0.22115430550345153f*u_v[ldu*9 + X_IDX_AOSOA(0, 4)];\n\n totEn += tmp*tmp;\n pnEn += tmp*tmp;\n tmp = -0.245310313677473f*u_v[ldu*0 + X_IDX_AOSOA(0, 4)] + -0.001418951290392127f*u_v[ldu*1 + X_IDX_AOSOA(0, 4)] + 0.13687412274998537f*u_v[ldu*2 + X_IDX_AOSOA(0, 4)] + 0.13687412274998537f*u_v[ldu*3 + X_IDX_AOSOA(0, 4)] + 0.14056146762227964f*u_v[ldu*4 + X_IDX_AOSOA(0, 4)] + 0.14056146762227964f*u_v[ldu*5 + X_IDX_AOSOA(0, 4)] + -0.15973468863355336f*u_v[ldu*6 + X_IDX_AOSOA(0, 4)] + -0.15973468863355336f*u_v[ldu*7 + X_IDX_AOSOA(0, 4)] + 0.0056637307452210486f*u_v[ldu*8 + X_IDX_AOSOA(0, 4)] + 0.0056637307452210486f*u_v[ldu*9 + X_IDX_AOSOA(0, 4)];\n\n totEn += tmp*tmp;\n tmp = -0.41138942414856006f*u_v[ldu*0 + X_IDX_AOSOA(0, 4)] + -0.013354419590260201f*u_v[ldu*1 + X_IDX_AOSOA(0, 4)] + -0.10317840605506703f*u_v[ldu*2 + X_IDX_AOSOA(0, 4)] + -0.10317840605506703f*u_v[ldu*3 + X_IDX_AOSOA(0, 4)] + 0.18365784409465846f*u_v[ldu*4 + X_IDX_AOSOA(0, 4)] + 0.18365784409465846f*u_v[ldu*5 + X_IDX_AOSOA(0, 4)] + 0.10229822488077245f*u_v[ldu*6 + X_IDX_AOSOA(0, 4)] + 0.10229822488077245f*u_v[ldu*7 + X_IDX_AOSOA(0, 4)] + 0.029594258949046187f*u_v[ldu*8 + X_IDX_AOSOA(0, 4)] + 0.029594258949046187f*u_v[ldu*9 + X_IDX_AOSOA(0, 4)];\n\n totEn += tmp*tmp;\n pnEn += tmp*tmp;\n tmp = 0.10628117407237161f*u_v[ldu*2 + X_IDX_AOSOA(0, 4)] + -0.10628117407237161f*u_v[ldu*3 + X_IDX_AOSOA(0, 4)] + 0.017498128285713434f*u_v[ldu*4 + X_IDX_AOSOA(0, 4)] + -0.017498128285713434f*u_v[ldu*5 + X_IDX_AOSOA(0, 4)] + 0.2858131131640441f*u_v[ldu*6 + X_IDX_AOSOA(0, 4)] + -0.2858131131640441f*u_v[ldu*7 + X_IDX_AOSOA(0, 4)] + 0.007256621207292163f*u_v[ldu*8 + X_IDX_AOSOA(0, 4)] + -0.007256621207292163f*u_v[ldu*9 + X_IDX_AOSOA(0, 4)];\n\n totEn += tmp*tmp;\n pnEn += tmp*tmp;\n\n fpdtype_t se = 0.43429448190325176f*log(pnEn/totEn);\n\n // Compute cell-wise artificial viscosity\n fpdtype_t mu = (se < -7.0f)\n ? 0.0f\n : 0.005f*(1.0f + sin(0.3141592653589793f*(se - -2.0f)));\n mu = (se < 3.0f) ? mu : 0.01f;\n\n artvisc_v[X_IDX] = mu;\n\n }\n }\n #undef X_IDX\n #undef X_IDX_AOSOA\n }\n\nq\x01]q\x02(cnumpy\nint32\nq\x03cnumpy\nint64\nq\x04h\x04h\x03e\x87q\x05.', b'\x80\x03}q\x00.')

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
File "/usr/local/bin/pyfr", line 9, in <module>
load_entry_point('pyfr==1.5.0', 'console_scripts', 'pyfr')()
File "/usr/local/lib/python3.5/dist-packages/pyfr-1.5.0-py3.5.egg/pyfr/__main__.py", line 110, in main
File "/usr/local/lib/python3.5/dist-packages/pyfr-1.5.0-py3.5.egg/pyfr/__main__.py", line 235, in process_run
File "/usr/local/lib/python3.5/dist-packages/pyfr-1.5.0-py3.5.egg/pyfr/__main__.py", line 216, in _process_common
File "/usr/local/lib/python3.5/dist-packages/pyfr-1.5.0-py3.5.egg/pyfr/solvers/__init__.py", line 14, in get_solver
File "/usr/local/lib/python3.5/dist-packages/pyfr-1.5.0-py3.5.egg/pyfr/integrators/__init__.py", line 43, in get_integrator
File "/usr/local/lib/python3.5/dist-packages/pyfr-1.5.0-py3.5.egg/pyfr/integrators/std/controllers.py", line 78, in __init__
File "/usr/local/lib/python3.5/dist-packages/pyfr-1.5.0-py3.5.egg/pyfr/integrators/std/controllers.py", line 12, in __init__
File "/usr/local/lib/python3.5/dist-packages/pyfr-1.5.0-py3.5.egg/pyfr/integrators/std/steppers.py", line 165, in __init__
File "/usr/local/lib/python3.5/dist-packages/pyfr-1.5.0-py3.5.egg/pyfr/integrators/std/steppers.py", line 8, in __init__
File "/usr/local/lib/python3.5/dist-packages/pyfr-1.5.0-py3.5.egg/pyfr/integrators/std/base.py", line 12, in __init__
File "/usr/local/lib/python3.5/dist-packages/pyfr-1.5.0-py3.5.egg/pyfr/integrators/base.py", line 59, in __init__
File "/usr/local/lib/python3.5/dist-packages/pyfr-1.5.0-py3.5.egg/pyfr/solvers/base/system.py", line 65, in __init__
File "/usr/local/lib/python3.5/dist-packages/pyfr-1.5.0-py3.5.egg/pyfr/solvers/base/system.py", line 174, in _gen_kernels
File "/usr/local/lib/python3.5/dist-packages/pyfr-1.5.0-py3.5.egg/pyfr/solvers/baseadvecdiff/elements.py", line 107, in <lambda>
File "/usr/local/lib/python3.5/dist-packages/pyfr-1.5.0-py3.5.egg/pyfr/backends/base/backend.py", line 166, in kernel
File "/usr/local/lib/python3.5/dist-packages/pyfr-1.5.0-py3.5.egg/pyfr/backends/base/kernels.py", line 161, in kernel_meth
File "/usr/local/lib/python3.5/dist-packages/pyfr-1.5.0-py3.5.egg/pyfr/util.py", line 34, in __call__
File "/usr/local/lib/python3.5/dist-packages/pyfr-1.5.0-py3.5.egg/pyfr/backends/openmp/provider.py", line 13, in _build_kernel
File "/usr/local/lib/python3.5/dist-packages/pyfr-1.5.0-py3.5.egg/pyfr/backends/openmp/compiler.py", line 61, in __init__
File "/usr/local/lib/python3.5/dist-packages/pyfr-1.5.0-py3.5.egg/pyfr/backends/openmp/compiler.py", line 33, in __init__
File "/usr/lib/python3.5/ctypes/__init__.py", line 347, in __init__
self._handle = _dlopen(self._name, mode)
OSError: /tmp/pyfr-8-h9fm36dc/libtmp.so: undefined symbol: _ZGVcN8v_sinf

While turning off shock capturing, the program runs fine.

I have tried the older versions and same error is shown.

No idea how to debug. Hopefully you guys can help. Thanks!

What compiler are you using?

Cheers

Peter

Hi,

For some compilers it is necessary to add:

[backend-openmp]
cflags = -lmvec

to your .ini file.

Regards, Freddie.

Hi!

After adding the cflags, OSError changed from
this

OSError: /tmp/pyfr-8-h9fm36dc/libtmp.so: undefined symbol: _ZGVcN8v_sinf
to

OSError: /tmp/pyfr-2-8wfed_td/libtmp.so: undefined symbol: _ZGVcN8v___logf_finite

Then I tried g++ and gfortran and the gfortran compiler worked!

Thanks anyways!

在 2016年10月13日星期四 UTC+8下午9:59:58,Freddie Witherden写道: