Open vanderwb opened 2 years ago
The colon is only part of the error message, it is not in the actual link line.
-ltirpc is one of the libraries i've recommended in common - it is a Sun RPC compatibility layer AFAIK for things like XDR and <rpc/xdr.h> that used to be widely available. Not sure why cce wants this and others don't though...
FWIW, I have this lib installed in my sandbox:
benkirk@gust02(6)$ pwd
/glade/gust/scratch/benkirk/spack-tests
benkirk@gust02(7)$ lfs find common -type f -name "libtirpc*"
common/22.08/envs/build/.spack-env/repos/builtin/packages/libtirpc/libtirpc-remove-pipe-flag-for-nvhpc.patch
common/22.08/envs/build/opt/__spack_path_placeholder__/__spack_path_placeholder__/__spac/libtirpc/1.2.6/gcc/7.5.0/lib/libtirpc.a
common/22.08/envs/build/opt/__spack_path_placeholder__/__spack_path_placeholder__/__spac/libtirpc/1.2.6/gcc/7.5.0/lib/pkgconfig/libtirpc.pc
common/22.08/envs/build/opt/__spack_path_placeholder__/__spack_path_placeholder__/__spac/libtirpc/1.2.6/gcc/7.5.0/lib/libtirpc.so.3.0.0
[build] benkirk@gust02(19)$ spack info libtirpc
AutotoolsPackage: libtirpc
Description:
Libtirpc is a port of Suns Transport-Independent RPC library to Linux.
Homepage: https://sourceforge.net/projects/libtirpc/
Preferred version:
1.2.6 https://sourceforge.net/projects/libtirpc/files/libtirpc/1.2.6/libtirpc-1.2.6.tar.bz2/download
Safe versions:
1.2.6 https://sourceforge.net/projects/libtirpc/files/libtirpc/1.2.6/libtirpc-1.2.6.tar.bz2/download
1.1.4 https://sourceforge.net/projects/libtirpc/files/libtirpc/1.1.4/libtirpc-1.1.4.tar.bz2/download
Deprecated versions:
None
Variants:
None
Build Dependencies:
gnuconfig krb5
Link Dependencies:
krb5
Run Dependencies:
None
Hi Ben - yes, you are correct on second inspection. Apologies for the red herring. However, libtirpc is installed into common already and is being happily used by the other four compilers, so why cce cannot is still a mystery to me.
Found the root cause here. Turns out unlike every other compiler, crayftn
does not support LIBRARY_PATH. Even craycc
and crayCC
support it via their clang-based linker, so I think it's fair to ask for matching behavior here in an RFE.
For some reason, it produces an error at build time that does not appear with the other compilers. Will need to try a build outside of Spack to identify root cause.
Note the colon at the end of
-ltirpc
. Where is this coming from?