Full message:
On the remote process, dlopen() failed. The error message sent back from the sink is /var/volatile/tmp/coi_procs/1/5414/load_lib/ifortoutjAzgEs: undefined symbol: cdata_
offload error: cannot load library to the device 0 (error code 20)
On the sink, dlopen() returned NULL. The result of dlerror() is "/var/volatile/tmp/coi_procs/1/5414/load_lib/ifortoutjAzgEs: undefined symbol: cdata_"
I don't know why dlopen should be involved. The source code fragment:
#pragma omp declare target
extern "C" struct {
double array[2000*2000];
}
cdata_;
#pragma omp end declare target
In the MIC.s file, the cdata_ references look the same as in a working Fortran equivalent.
Compilation with -Wl,-zdefs doesn't produce any messages.