llnl / llnl/blt

Two directories in BLT MPI link path cause -rpath to appear in quotes

Open
#363 6 comments 0 reactions 0 assignees View on GitHub
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

Open the contributing 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.