-
Notifications
You must be signed in to change notification settings - Fork 11
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Error Saying We Need to Compile Wheel On Older Toolchain #1
Comments
From the 3.9 ubuntu logs:
This seems consistent with the fact that GLIBCXX_3.4.30 comes with GCC 12.1.0 (according to this) and I see this in the conda env:
I don't know how OCCT and OCP (and possibly other things) were built, but is it possible to build them using an older version of GCC? GCC 10.1.0 uses GLIBCXX_3.4.28 and that is provided as part of the manylinux_2_31 standard. I found a commit which suggests this might be possible. Put another way, though I'm really out of my depth here, is it possible to build a OCP conda pkg that works with libstdcxx-ng-10.1.0? I tried imposing this condition on conda-install and it refused. The alternative is to wait for a manylinux_2_35 standard to be established. But this may take time, and I believe this also then restricts the wheel to environments where glibc 2.35 is available (ubuntu 22.04 and later, fedora 36 and later). |
Do you happen to know which dependency pulls in |
@mojca I'm not too familiar with conda either and wasn't able to figure out the dependencies. But I was able to create a pseudo-"manylinux_2_35" wheel simply by allowing GLIBCXX_3.4.30. Then I examined the libraries in the wheel, and found:
So it seems like those three VTK libs (as compiled for conda) need GLIBCXX_3.4.30. If there's a better way to analyze what dependencies the "manylinux_2_35" wheel has, please let me know and I can run it. |
vtk says that it needs gcc >= 4.8 (the code needs at least C++11) and wheels are provided for This is how they seem to build the wheels: It makes sense to start investigating what happens if one tries to install just vtk (via either |
@mojca I'm clearly not understanding something (or maybe everything), because I followed your suggestion:
This succeeds, but I still see:
@jmwright I've considered that idea before. I also just tried the following variant:
This produces a manylinux_2_31 that appears to work with CadQuery/cadquery#1156. |
Managed to get 7.6.3a0 manylinux_2_31 wheels built here: https://github.com/CadQuery/ocp-build-system/actions/runs/3169218456 @jmwright Is it safe to simply trigger the release workflow? |
@fpq473 Thanks! I believe that a tag for the release has to be created in this repo before running the release workflow. It also looks like version 7.5.3 is hard coded into the release workflow. I was probably just trying to get everything working and forgot to make it more generic later. https://github.com/CadQuery/ocp-build-system/blob/main/.github/workflows/release.yml |
The wheels seem to be properly named now, e.g.
So should I create a 7.6.3a0 release using these instructions (which include making the tag)? https://docs.github.com/en/repositories/releasing-projects-on-github/managing-releases-in-a-repository#creating-a-release And then trigger the release workflow? |
Sure.
|
Yes, I'll give it a shot now. |
I would say this issue has been addressed. Thanks again @fpq473 ! |
@fpq473 and @roipoussiere
I'm trying to update the wheel builds in CI to support OCP 7.6.*, and I'm getting this error. Did either of you experience this when you were originally figuring out this build method?
The text was updated successfully, but these errors were encountered: