@@ -83,10 +83,30 @@ if [ -n "$BLAS_DIR" ]; then
8383 " $TEMPLATE " > " $OUTPUT "
8484else
8585 # For system libraries (OpenBLAS/FlexiBLAS)
86- sed -e " s|^ARCH.*=.*Linux_.*|ARCH = $ARCH |" \
87- -e " s|^MPinc.*=.*-I/usr/include/openmpi.*|MPinc = -I$MPI_INC |" \
88- -e " s|^LAlib.*=.*|LAlib = \$ (LAdir)/$BLAS_LIB |" \
89- " $TEMPLATE " > " $OUTPUT "
86+ # Detect if Ubuntu - needs different library paths
87+ if [[ " $MPI_INC " == * " x86_64-linux-gnu" * ]]; then
88+ # Ubuntu x86_64 uses multiarch paths
89+ sed -e " s|^ARCH.*=.*Linux_.*|ARCH = $ARCH |" \
90+ -e " s|^MPdir.*=.*|MPdir = /usr/lib/x86_64-linux-gnu/openmpi|" \
91+ -e " s|^MPinc.*=.*-I/usr/include/openmpi.*|MPinc = -I$MPI_INC |" \
92+ -e " s|^LAdir.*=.*|LAdir = /usr/lib/x86_64-linux-gnu|" \
93+ -e " s|^LAlib.*=.*|LAlib = \$ (LAdir)/$BLAS_LIB |" \
94+ " $TEMPLATE " > " $OUTPUT "
95+ elif [[ " $MPI_INC " == * " aarch64-linux-gnu" * ]]; then
96+ # Ubuntu aarch64 uses multiarch paths
97+ sed -e " s|^ARCH.*=.*Linux_.*|ARCH = $ARCH |" \
98+ -e " s|^MPdir.*=.*|MPdir = /usr/lib/aarch64-linux-gnu/openmpi|" \
99+ -e " s|^MPinc.*=.*-I/usr/include/openmpi.*|MPinc = -I$MPI_INC |" \
100+ -e " s|^LAdir.*=.*|LAdir = /usr/lib/aarch64-linux-gnu|" \
101+ -e " s|^LAlib.*=.*|LAlib = \$ (LAdir)/$BLAS_LIB |" \
102+ " $TEMPLATE " > " $OUTPUT "
103+ else
104+ # RHEL, Amazon Linux, SLES use standard paths
105+ sed -e " s|^ARCH.*=.*Linux_.*|ARCH = $ARCH |" \
106+ -e " s|^MPinc.*=.*-I/usr/include/openmpi.*|MPinc = -I$MPI_INC |" \
107+ -e " s|^LAlib.*=.*|LAlib = \$ (LAdir)/$BLAS_LIB |" \
108+ " $TEMPLATE " > " $OUTPUT "
109+ fi
90110fi
91111
92112if [ $? -eq 0 ]; then
0 commit comments