Greetings,
I am not sure how to access the archive for this list so please forgive me if this is a known issue (or user error for that matter).
I'm seeing this with the default oneapi module on yarrow/arcticus (oneapi/2021.04.30.004), using spack to build upcxx (and similar errors for a few other packages) for E4S environment testing.
576 /usr/bin/ld: warning: libze_loader.so.1, needed by /soft/restricted/CNDA/mpich/drop41.1/mpich-ofi-sockets-icc-default-ats-drop41/lib/libmpicxx.so, not found (try using -rpath or -rpath-link)
>> 577 /usr/bin/ld: /soft/restricted/CNDA/mpich/drop41.1/mpich-ofi-sockets-icc-default-ats-drop41/lib/libmpi.so: undefined reference to `zeMemGetAllocProperties'
...numerous other symbols...
(bonus example from hdf5:
26 /usr/bin/ld: warning: libze_loader.so.1, needed by /soft/restricted/CNDA/mpich/drop41.1/mpich-ofi-sockets-icc-default-ats-drop41/lib/libmpi.so, not found (try using -rpath or -rpath-link)
>> 27 /usr/bin/ld: /soft/restricted/CNDA/mpich/drop41.1/mpich-ofi-sockets-icc-default-ats-drop41/lib/libmpi.so: undefined reference to `zeMemGetAllocProperties'
)
I have the spack oneapi compiler definition set to load the oneapi module, but no others.
Outside of spack I get undefined ze symbols from nm on libmpi.so:
nm /soft/restricted/CNDA/mpich/drop41.1/mpich-ofi-sockets-icc-default-ats-drop41/lib/libmpi.so | grep zeDeviceGet
U zeDeviceGet
U zeDeviceGetCommandQueueGroupProperties
U zeDeviceGetProperties
U zeDeviceGetSubDevices
But maybe that is expected?
These are defined in: /soft/libraries/intel-level-zero/api_+_loader/v1.2.3-Release-2021.06.01/lib64/libze_loader.so.1
But I'm not sure why the spack build environment would be unable to find that. The directory seems to be loaded into the LD_LIBRARY_PATH when the oneapi module is loaded.
Thanks for any advice.
Wyatt Spear