Nightly Docker container build fails due to missing GLIBCXX library #2836
Labels
cloud
Stuff that has to do with adapting PUDL to work in cloud computing context.
nightly-builds
Anything having to do with nightly builds or continuous deployment.
For the last week or so the Docker container builds associated with our nightly deployments have been failing.
Ultimately the error comes from attempting to run
pudl_setup
-- so the environment has been solved and the container is essentially built, but we get a runtime error, apparently having to do with pandas. It may be that this error is related to the upgrade to pandas 2.0?Attempting to reproduce the problem locally
Building the container myself I noticed some things:
mambaforge
image that we have been using is more than a year out of date.google-cloud-sdk
package pinned to a very old version.pudl-test
environment because it claims there's nogoogle-cloud-sdk
package available, but that package definitely appears to exist and installs just fine locally. I have no trouble creating thepudl-test
environment.google-cloud-sdk
and still got the same error:Despite:
Wondering if it might be different on different hardware platforms... seems like it's there just fine for Linux too:
However, when running the
build-deploy-pudl
action on GitHub with the new versions it has no trouble building the environment, so not sure what the issue is here locally.The eventual call to
pudl_dev
still fails with the new software environment. I note that the following packages don't have any wheels available for download from PyPI, and the wheels are being built by pip instead:Another thing that seems a little funny is the need to uninstall the most recent versions of a few packages at the end of the pip install step, which I assume is because they were installed by
conda
and then found to be in conflict with other dependencies inpip
and so were downgraded to whatever version was required to satisfy thepip
dependenciesThe final installed versions were:
urllib3==1.26.16
numpy==1.24.4
pandas==2.0.3
I added version pins for these packages to the
test-environment.yml
file so that they wouldn't get replaced by the latterpip
install, and that did not fix the missingGLIBCXX
problem. Still can't test locally because mamba can't findgoogle-cloud-sdk
when inside the Docker build for reasons I do not understand.Looking more closely at when the docker build issue started, it was actually on August 29th which was a day before the Pandas 2.0 branch got merged in. This is the first failure and it uses pandas 1.5.3. So maybe it's not related to that at all... What got merged into
dev
on August 28th?Turns out the culprit was the update to PyArrow 13.
The text was updated successfully, but these errors were encountered: