Mercurial > hg-stable
changeset 48278:c900d962e38b
pyoxidizer: disable using in-memory resources
It's possible that the errors are due to using an incompatible version of
PyOxidizer; unfortunately the README.md file in this directory says to fetch a
copy of PyOxidizer matching the commit in this pyoxidizer.bzl file, and yet the
pyoxidizer.bzl file does not actually have a commit mentioned in it.
By disabling in-memory modules, this appears to work on all platforms using the
current head version of PyOxidizer, so let's disable them for now.
Sample error (during `pyoxidizer build`):
```
error[PYOXIDIZER_PYTHON_EXECUTABLE]: adding PythonExtensionModule<name=hgext.fsmonitor.pywatchman.bser>
Caused by:
extension module hgext.fsmonitor.pywatchman.bser cannot be loaded from memory but memory loading required
--> ./pyoxidizer.bzl:140:5
|
140 | exe.add_python_resources(exe.pip_install(["--verbose", ROOT]))
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ add_python_resources()
error: adding PythonExtensionModule<name=hgext.fsmonitor.pywatchman.bser>
Caused by:
extension module hgext.fsmonitor.pywatchman.bser cannot be loaded from memory but memory loading required
```
Differential Revision: https://phab.mercurial-scm.org/D11697
author | Kyle Lippincott <spectral@google.com> |
---|---|
date | Mon, 18 Oct 2021 16:18:41 -0700 |
parents | 749946b6a641 |
children | 16c3fe46929a |
files | rust/hgcli/pyoxidizer.bzl |
diffstat | 1 files changed, 4 insertions(+), 3 deletions(-) [+] |
line wrap: on
line diff
--- a/rust/hgcli/pyoxidizer.bzl Wed Oct 20 00:21:41 2021 +0200 +++ b/rust/hgcli/pyoxidizer.bzl Mon Oct 18 16:18:41 2021 -0700 @@ -33,7 +33,8 @@ TIME_STAMP_SERVER_URL = VARS.get("TIME_STAMP_SERVER_URL", "http://timestamp.digicert.com") IS_WINDOWS = "windows" in BUILD_TARGET_TRIPLE -IS_MACOS = "darwin" in BUILD_TARGET_TRIPLE + +USE_IN_MEMORY_RESOURCES = False # Code to run in Python interpreter. RUN_CODE = """ @@ -84,7 +85,7 @@ return default_python_distribution(python_version = "3.9") def resource_callback(policy, resource): - if not (IS_WINDOWS or IS_MACOS): + if USE_IN_MEMORY_RESOURCES: resource.add_location = "in-memory" return @@ -115,7 +116,7 @@ # extensions. packaging_policy.extension_module_filter = "all" packaging_policy.resources_location = "in-memory" - if IS_WINDOWS or IS_MACOS: + if not USE_IN_MEMORY_RESOURCES: packaging_policy.resources_location_fallback = "filesystem-relative:lib" packaging_policy.register_resource_callback(resource_callback)