Two directories in BLT MPI link path cause -rpath to appear in quotes
- Dominant language
- C++
- Stars
- 296
- Forks
- 66
- Avg merge
- 1h 3m
- Merged PRs (30d)
- 1
Description
Hi,
I've encountered this issue on Quartz when compiling Conduit through Ascent's uberenv.
In this particular case I'm using my local compilation of MPICH. Here are the excerpts from the compilation log:
-- BLT Version: 0.3.0
-- CMake Version: 3.14.5
-- BLT MPI Link Flags: -Wl,-rpath -Wl,/g/g92/shudler1/install/mpich/lib;-Wl,-rpath -Wl,/g/g92/shudler1/install/mpich/lib
...
[ 6%] Linking CXX executable ../../../tests/blt_mpi_smoke
...
/usr/tce/packages/gcc/gcc-4.9.3/bin/g++ -O2 -g -DNDEBUG -rdynamic -Wl,-rpath -Wl,/g/g92/shudler1/install/mpich/lib "-Wl,-rpath -Wl,/g/g92/shudler1/install/mpich/lib" CMakeFiles/blt_mpi_smoke.dir/blt_mpi_smoke.cpp.o -o ../../../tests/blt_mpi_smoke -Wl,-rpath,/g/g92/shudler1/install/mpich/lib /g/g92/shudler1/install/mpich/lib/libmpi.so /g/g92/shudler1/install/mpich/lib/libmpicxx.so /g/g92/shudler1/install/mpich/lib/libmpifort.so
It looks like the link parameters after ';' are put inside quotes.
When I use the Mvapich2 installation this issue doesn't happen because there is only one directory in the flags:
-- BLT MPI Link Flags: -Wl,-rpath -Wl,/usr/tce/packages/mvapich2/mvapich2-2.2-gcc-4.9.3/lib
This issue looks related to #266
Thanks,
Sergei
Contributor guide
Research direction
Start by reproducing the BLT MPI link flags with an MPI installation containing two library directories, then trace how the semicolon-separated flags are generated and passed to the linker. Done means the resulting command does not quote the combined -Wl,-rpath arguments and the blt_mpi_smoke executable links successfully.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- cmake, cpp
- Domain
- build-system
- Issue type
- Bug
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 42/100