Details
-
Bug
-
Status: Resolved
-
Blocker
-
Resolution: Fixed
-
Impala 4.3.0
-
None
-
ghx-label-7
Description
On Redhat 9, bootstrapping the impala-python virtualenv seems to call system gcc directly rather than using the CC environment variable. Because system GCC is newer than Impala's toolchain gcc, it fails to execute because it needs symbols that are not in Impala toolchain's libstdc++:
gcc -shared -L/mnt/build/bzip2-1.0.8-p2/lib -L/mnt/build/bzip2-1.0.8-p2/lib build/temp.linux-x86_64-3.7/src/base64.o build/temp.linux-x86_64-3.7/src/kerberos.o build/temp.linux-x86_64-3.7/src/kerberosbasic.o build/temp.linux-x86_64-3.7/src/kerberosgss.o build/temp.linux-x86_64-3.7/src/kerberospw.o -o build/lib.linux-x86_64-3.7/kerberos.cpython-37m-x86_64-linux-gnu.so -Wl,-z,relro -Wl,--as-needed -Wl,-z,now -lgssapi_krb5 -lkrb5 -lk5crypto -lcom_err gcc: /home/joe/impala/toolchain/toolchain-packages-gcc10.4.0/gcc-10.4.0/lib64/libstdc++.so.6: version `GLIBCXX_3.4.29' not found (required by gcc)
It's unclear why there is a direct call to system gcc. Oddly, this does not reproduce on Rocky 9.2.
Probably the simplest solution is for bootstrap_virtualenv.py to add gcc's bin directory to the PATH so that any direct calls use our gcc/g++.