@@ -16,7 +16,9 @@ unzip -qq "$wheelfile" -d "$workdir"
16
16
cd " $workdir "
17
17
18
18
whlname=$( basename " $wheelfile " )
19
- pkgname=${whlname%% -* }
19
+ whlinfo=${whlname%% -py* }
20
+ pkgname=${whlinfo%% -* }
21
+ version=${whlinfo##* -}
20
22
mpiname=${pkgname}
21
23
22
24
data=$( ls -d " $pkgname " -* .data/data)
@@ -29,6 +31,9 @@ if test "$(uname)" = Linux; then
29
31
libsdir=.libs
30
32
print-runpath () { patchelf --print-rpath " $1 " ; }
31
33
print-needed () { patchelf --print-needed " $1 " ; }
34
+ if test -f " $data " /lib/libfabric.so; then
35
+ runlibs=$runlibs ' |libfabric' $soregex
36
+ fi
32
37
if test -f " $data " /lib/libucp.so; then
33
38
runlibs=$runlibs ' |libuc(m|p|s|t)' $soregex
34
39
fi
@@ -41,6 +46,9 @@ if test "$(uname)" = Darwin; then
41
46
libsdir=.dylibs
42
47
print-runpath () { otool -l " $1 " | sed -n ' /RPATH/{n;n;p;}' ; }
43
48
print-needed () { otool -L " $1 " | sed 1,1d; }
49
+ if test -f " $data " /lib/libfabric.dylib; then
50
+ runlibs=$runlibs ' |libfabric' $soregex
51
+ fi
44
52
if test -f " $data " /lib/libucp.dylib; then
45
53
runlibs=$runlibs ' |libuc(m|p|s|t)' $soregex
46
54
fi
@@ -67,7 +75,12 @@ if test "$mpiname" = "mpich"; then
67
75
libraries=(
68
76
" $data " /lib/libmpi.*
69
77
)
70
- if test -d " $data " /lib/ucx; then
78
+ if ls " $data " /lib/libfabric.* > /dev/null 2>&1 ; then
79
+ libraries+=(
80
+ " $data " /lib/libfabric.*
81
+ )
82
+ fi
83
+ if ls " $data " /lib/libuct.* > /dev/null 2>&1 ; then
71
84
libraries+=(
72
85
" $data " /lib/libuc[mpst]* .*
73
86
" $data " /lib/ucx/libuc* .*
@@ -96,14 +109,22 @@ if test "$mpiname" = "openmpi"; then
96
109
" $data " /lib/libmpi.*
97
110
" $data " /lib/libopen-* .*
98
111
)
112
+ if test " ${version%% .* } " -ge 5; then
113
+ libraries+=(
114
+ " $data " /lib/libevent* .*
115
+ " $data " /lib/libhwloc.*
116
+ " $data " /lib/libpmix.*
117
+ " $data " /lib/libprrte.*
118
+ )
119
+ fi
99
120
runlibs+=' |lib(z|util|event.*|hwloc)' $soregex
100
121
runlibs+=' |lib(open-(pal|rte)|pmix|prrte)' $soregex
101
122
fi
102
123
103
124
check-binary () {
104
125
local dso=$1 out1=" " out2=" "
105
126
echo checking " $dso " ...
106
- test -f " $dso " || printf " ERROR: file not found\n"
127
+ test -f " $dso " || ( printf " ERROR: file not found\n" ; exit 1)
107
128
out1=" $( print-runpath " $dso " | grep -vE " $runpath " || true) "
108
129
test -z " $out1 " || printf " ERROR: RUNPATH\n%s\n" " $out1 "
109
130
out2=" $( print-needed " $dso " | grep -vE " $runlibs " || true) "
@@ -114,15 +135,15 @@ check-binary() {
114
135
for header in " ${headers[@]-} " ; do
115
136
test -n " $header " || break
116
137
echo checking " $header " ...
117
- test -f " $header "
138
+ test -f " $header " || (printf " ERROR: file not found\n " ; exit 1)
118
139
out=$( grep -E ' ^#include\s+"mpicxx\.h"' " $header " || true)
119
140
test -z " $out " || printf " ERROR: include\n%s\n" " $out "
120
141
test -z " $out "
121
142
done
122
143
for script in " ${scripts[@]-} " ; do
123
144
test -n " $script " || break
124
145
echo checking " $script " ...
125
- test -f " $script "
146
+ test -f " $script " || (printf " ERROR: file not found\n " ; exit 1)
126
147
out=$( grep -E " /opt/$mpiname " " $script " || true)
127
148
test -z " $out " || printf " ERROR: prefix\n%s\n" " $out "
128
149
test -z " $out "
0 commit comments