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
[Cherry-pick] Fix builds from source and pip tar.gz on s390x systems #5986
Conversation
### Description * Cherry-pick (#5984) - Fix builds from source and pip tar.gz on s390x systems * Revert (#5195) and replace with fix from [this comment](#5194 (comment)) from the original issue (#5194) ### Motivation and Context * Building on s390x (and other environments depending on python setup) fails * The issue also can also appear when installing `1.16.0rc1` from TestPyPI for environments where we don't have pre-built wheels * Failures include not being able to find pacakges despite them being installed ``` pip3 install -e . ... -- Could NOT find pybind11 (missing: pybind11_DIR) ... Traceback (most recent call last): File "/onnx/.setuptools-cmake-build/tools/protoc-gen-mypy.py", line 28, in <module> import google.protobuf.descriptor_pb2 as d_typed ``` * The issue is cased by (#5195) which was to fix (#5194) * The original fix bypasses the pip venv PYTHONPATH and attempts to rely on sys.path. However without the pip venv PYTHONPATH, some modules may not be found even if they are installed. * For reference, the pip venv PYTHONPATH gets set to `/tmp/pip-build-env-bn_o_cjc/site` which contains `sitecustomize.py` which comes from https://github.com/pypa/pip/blob/main/tests/lib/venv.py#L171-L189 * Instead of bypassing the pip venv PYTHONPATH, [this comment](#5194 (comment)) from the original issue shows how to address the issue using pyproject.toml's `[build-system]` * I replicated the origial issue and confirmed this fix resolves it. * I confirmed the builds work on s390x with this fix Signed-off-by: Charles Volzka <cjvolzka@us.ibm.com>
Codecov ReportAll modified and coverable lines are covered by tests ✅
Additional details and impacted files@@ Coverage Diff @@
## rel-1.16.0 #5986 +/- ##
=============================================
Coverage ? 56.82%
=============================================
Files ? 506
Lines ? 30365
Branches ? 4590
=============================================
Hits ? 17254
Misses ? 12283
Partials ? 828 ☔ View full report in Codecov by Sentry. |
Looks like there are build errors: Could NOT find pybind11 (missing: pybind11_DIR) |
|
I'm a little confused as to why this passed on Is this possibly something broken with the build nodes themselves? I tried comparing the successful recent tests for main against the failing tests for this PR. Outside of timestamps and randomized temp names, the builds are the same until this point The tests that are failing are both "external-protobuf" so shouldn't it be expected that protobuf already be installed in these test scenarios, and if it's not, could that be whats causing the tests to fail? |
### Description * Cherry-pick #5975 into `rel-1.16.0` fix find libprotobuf which is suggested by https://gitlab.kitware.com/cmake/cmake/-/issues/25704 ### Motivation and Context * Required so cherry-pick #5986 can pass tests --------- Signed-off-by: Liqun Fu <liqfu@microsoft.com>
It looks like there's a few things going on. The immediate issue, the reason this is failing here and not in Long term. When protobuf isn't found, it appears the ONNX builder attempts to build it. However it wants to install protobuf 22.3 by default which requires abseil. Abseil build then blows up on Windows due to abseil bug abseil/abseil-cpp#1432. It looks like that's been fixed in newer abseils, but it's not in the 20230125 series used by protobuff 22.5 (the latest protobuf 22). So options there (beyond scope for 1.16.0, in my opinion)
|
…5997) ### Description * Cherry-pick #5975 into `rel-1.16.0` fix find libprotobuf which is suggested by https://gitlab.kitware.com/cmake/cmake/-/issues/25704 ### Motivation and Context * Required so cherry-pick #5986 can pass tests Signed-off-by: Liqun Fu <liqfu@microsoft.com> Co-authored-by: liqun Fu <liqfu@microsoft.com>
Description
Motivation and Context
1.16.0rc1
from TestPyPI for environments where we don't have pre-built wheels * Failures include not being able to find pacakges despite them being installedpip3 install -e . ... -- Could NOT find pybind11 (missing: pybind11_DIR) ... Traceback (most recent call last): File "/onnx/.setuptools-cmake-build/tools/protoc-gen-mypy.py", line 28, in <module> import google.protobuf.descriptor_pb2 as d_typed
/tmp/pip-build-env-bn_o_cjc/site
which containssitecustomize.py
which comes from https://github.com/pypa/pip/blob/main/tests/lib/venv.py#L171-L189 * Instead of bypassing the pip venv PYTHONPATH, this comment from the original issue shows how to address the issue using pyproject.toml's[build-system]