mirror of
https://github.com/apache/impala.git
synced 2025-12-19 18:12:08 -05:00
On some systems, we have seen the build for the impala-python virtualenv refer to system gcc directly, even though we have specified Impala toolchain's gcc via CC. When the system gcc is newer than Impala's gcc, it fails to execute because it needs symbols that are not present in Impala's libstdc++: 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) This adds the toolchain gcc to the PATH when building the impala-python virtualenv. This means that any direct reference to gcc will use our compiler rather than system gcc. We continue to have CC pointed to our compiler. Testing: - Ran a build on Redhat 9 where the issue presented Change-Id: Ia5ddd6a88b41a3f8ba04d13538b3de2d9499cbf5 Reviewed-on: http://gerrit.cloudera.org:8080/20114 Reviewed-by: Michael Smith <michael.smith@cloudera.com> Tested-by: Impala Public Jenkins <impala-public-jenkins@cloudera.com>
To install new packages: 1) Add your package to deps/requirements.txt, or deps/compiled-requirements.txt if the the package needs a C/C++ compiler to build . You should specify the version number using the "foo == x.y.z" notation so future upgrades can be done automatically. 2) Run deps/download_requirements, it will download the package to the deps dir. 3) Run the "impala-python" command, this should detect that requirements.txt changed and automatically rebuild the virtualenv. 4) Now in the python prompt, you should be able to import the new module. To upgrade a package: 1) Edit deps/requirement.txt to use the version you need. 2) Go to step 2 above.