@@ -103,12 +103,6 @@ RUN ln -sfn /usr/local/bin/python3.9 /usr/bin/python3 && \
103
103
# Only x64 requires gcc 12+ for k-NN avx512_spr fp16 feature
104
104
# https://github.com/opensearch-project/opensearch-build/issues/5226
105
105
# Due to cross-compilation being too slow on arm64, it will stay on gcc 10 for the time being
106
- # nmslib needs gcc 10 while faiss needs gcc 12+
107
- # https://github.com/opensearch-project/k-NN/issues/2484#issuecomment-2640950082
108
- RUN yum install -y gcc10* && \
109
- mv -v /usr/bin/gcc /usr/bin/gcc7-gcc && \
110
- mv -v /usr/bin/g++ /usr/bin/gcc7-g++ && \
111
- mv -v /usr/bin/gfortran /usr/bin/gcc7-gfortran
112
106
RUN if [ `uname -m` = "x86_64" ]; then \
113
107
curl -SL https://ci.opensearch.org/ci/dbc/tools/gcc/gcc-12.4.0.tar.gz -o gcc12.tgz && \
114
108
tar -xzf gcc12.tgz && cd gcc-12.4.0 && \
@@ -121,7 +115,16 @@ RUN if [ `uname -m` = "x86_64" ]; then \
121
115
ln -sfn libstdc++.so.6 libstdc++.so && \
122
116
ln -sfn libstdc++.so.6.0.24 libstdc++.so.6 && \
123
117
rm -v libstdc++.so.6.0.30* ; \
124
- else \
118
+ fi
119
+
120
+ # nmslib needs gcc 10 while faiss needs gcc 12+
121
+ # https://github.com/opensearch-project/k-NN/issues/2484#issuecomment-2640950082
122
+ # Must install after gcc12 is compiled to avoid conflicts between gcc 7 10 12
123
+ RUN yum install -y gcc10* && \
124
+ if [ `uname -m` != "x86_64" ]; then \
125
+ mv -v /usr/bin/gcc /usr/bin/gcc7-gcc && \
126
+ mv -v /usr/bin/g++ /usr/bin/gcc7-g++ && \
127
+ mv -v /usr/bin/gfortran /usr/bin/gcc7-gfortran && \
125
128
update-alternatives --install /usr/bin/gcc gcc $(which gcc10-gcc) 1 && \
126
129
update-alternatives --install /usr/bin/g++ g++ $(which gcc10-g++) 1 && \
127
130
update-alternatives --install /usr/bin/gfortran gfortran $(which gcc10-gfortran) 1; \
0 commit comments