Error when building a flatpak depending on Scipy

I am trying to build a new application for Gnome using python. My application depends on some python packages that are not in the default flatpak runtime, so I have to bundle then myself. I used a “flatpak-pip-generator” script to turn a list of pip packages my app depended on into several JSON files describing how to build those packages. Then I referenced those files in my main flatpak JSON manifest. Most of the pip packages build fine, except SciPy witch throws an error.

Would anyone here have an idea on what the error means and how to fix it?

Is there a better way of including pip packages in a flatpak build?

Main Flatpak manifest:

{
    "app-id" : "com.github.CoderThomasB.Thump",
    "runtime" : "org.gnome.Platform",
    "runtime-version" : "master",
    "sdk" : "org.gnome.Sdk",
    "command" : "thump",
    "finish-args" : [
        "--share=network",
        "--share=ipc",
        "--socket=fallback-x11",
        "--device=dri",
        "--socket=wayland"
    ],
    "cleanup" : [
        "/include",
        "/lib/pkgconfig",
        "/man",
        "/share/doc",
        "/share/gtk-doc",
        "/share/man",
        "/share/pkgconfig",
        "*.la",
        "*.a"
    ],
    "modules" : [
        "python3-numpy.json",
        "python3-scipy.json",
        {
            "name" : "thump",
            "buildsystem" : "meson",
            "builddir" : true,
            "sources" : [
                {
                    "type" : "git",
                    "url" : "file:///home/thomas/Projects/thump"
                }
            ]
        }
    ]
}

python3-scipy.json:

{
    "name": "python3-scipy",
    "buildsystem": "simple",
    "build-commands": [
        "pip3 install --verbose --exists-action=i --no-index --find-links=\"file://${PWD}\" --prefix=${FLATPAK_DEST} \"scipy\" --no-build-isolation"
    ],
    "sources": [
        {
            "type": "file",
            "url": "https://files.pythonhosted.org/packages/a0/41/8f53eff8e969dd8576ddfb45e7ed315407d27c7518ae49418be8ed532b07/numpy-1.25.2.tar.gz",
            "sha256": "fd608e19c8d7c55021dffd43bfe5492fab8cc105cc8986f813f8c3c048b38760"
        },
        {
            "type": "file",
            "url": "https://files.pythonhosted.org/packages/9c/ef/87a5565907645998d7c62e76b84b0ca9f0b7c25cd433f5617a968051cec3/scipy-1.11.2.tar.gz",
            "sha256": "b29318a5e39bd200ca4381d80b065cdf3076c7d7281c5e36569e99273867f61d"
        }
    ]
}

Gnome builder output when building after clean:

Emptying app dir '/home/thomas/.var/app/org.gnome.Builder.Devel/cache/gnome-builder/projects/thump/flatpak/staging/x86_64-unversioned'
Starting build of com.github.CoderThomasB.Thump
Cache hit for python3-numpy, skipping build
Cache miss, checking out last cache hit

** (flatpak-builder:112): WARNING **: 18:25:44.440: rofiles-fuse not available, doing without
========================================================================
Building module python3-scipy in /home/thomas/Projects/thump/.flatpak-builder/build/python3-scipy-3
========================================================================
Running: pip3 install --verbose --exists-action=i --no-index --find-links="file://${PWD}" --prefix=${FLATPAK_DEST} "scipy" --no-build-isolation
Using pip 23.2.1 from /usr/lib/python3.11/site-packages/pip (python 3.11)
Looking in links: file:///run/build/python3-scipy
Processing ./scipy-1.11.2.tar.gz
  Running command Preparing metadata (pyproject.toml)
  Preparing metadata (pyproject.toml) ... done
ERROR: Exception:
Traceback (most recent call last):
  File "/usr/lib/python3.11/site-packages/pip/_internal/cli/base_command.py", line 180, in exc_logging_wrapper
    status = run_func(*args)
             ^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/site-packages/pip/_internal/cli/req_command.py", line 248, in wrapper
    return func(self, options, args)
           ^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/site-packages/pip/_internal/commands/install.py", line 377, in run
    requirement_set = resolver.resolve(
                      ^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/site-packages/pip/_internal/resolution/resolvelib/resolver.py", line 92, in resolve
    result = self._result = resolver.resolve(
                            ^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/site-packages/pip/_vendor/resolvelib/resolvers.py", line 546, in resolve
    state = resolution.resolve(requirements, max_rounds=max_rounds)
            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/site-packages/pip/_vendor/resolvelib/resolvers.py", line 397, in resolve
    self._add_to_criteria(self.state.criteria, r, parent=None)
  File "/usr/lib/python3.11/site-packages/pip/_vendor/resolvelib/resolvers.py", line 173, in _add_to_criteria
    if not criterion.candidates:
  File "/usr/lib/python3.11/site-packages/pip/_vendor/resolvelib/structs.py", line 156, in __bool__
    return bool(self._sequence)
           ^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/site-packages/pip/_internal/resolution/resolvelib/found_candidates.py", line 155, in __bool__
    return any(self)
           ^^^^^^^^^
  File "/usr/lib/python3.11/site-packages/pip/_internal/resolution/resolvelib/found_candidates.py", line 143, in <genexpr>
    return (c for c in iterator if id(c) not in self._incompatible_ids)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/site-packages/pip/_internal/resolution/resolvelib/found_candidates.py", line 47, in _iter_built
    candidate = func()
                ^^^^^^
  File "/usr/lib/python3.11/site-packages/pip/_internal/resolution/resolvelib/factory.py", line 206, in _make_candidate_from_link
    self._link_candidate_cache[link] = LinkCandidate(
                                       ^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/site-packages/pip/_internal/resolution/resolvelib/candidates.py", line 293, in __init__
    super().__init__(
  File "/usr/lib/python3.11/site-packages/pip/_internal/resolution/resolvelib/candidates.py", line 156, in __init__
    self.dist = self._prepare()
                ^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/site-packages/pip/_internal/resolution/resolvelib/candidates.py", line 225, in _prepare
    dist = self._prepare_distribution()
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/site-packages/pip/_internal/resolution/resolvelib/candidates.py", line 304, in _prepare_distribution
    return preparer.prepare_linked_requirement(self._ireq, parallel_builds=True)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/site-packages/pip/_internal/operations/prepare.py", line 538, in prepare_linked_requirement
    return self._prepare_linked_requirement(req, parallel_builds)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/site-packages/pip/_internal/operations/prepare.py", line 653, in _prepare_linked_requirement
    dist = _get_prepared_distribution(
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/site-packages/pip/_internal/operations/prepare.py", line 69, in _get_prepared_distribution
    abstract_dist.prepare_distribution_metadata(
  File "/usr/lib/python3.11/site-packages/pip/_internal/distributions/sdist.py", line 61, in prepare_distribution_metadata
    self.req.prepare_metadata()
  File "/usr/lib/python3.11/site-packages/pip/_internal/req/req_install.py", line 562, in prepare_metadata
    self.metadata_directory = generate_metadata(
                              ^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/site-packages/pip/_internal/operations/build/metadata.py", line 35, in generate_metadata
    distinfo_dir = backend.prepare_metadata_for_build_wheel(metadata_dir)
                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/site-packages/pip/_internal/utils/misc.py", line 718, in prepare_metadata_for_build_wheel
    return super().prepare_metadata_for_build_wheel(
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/site-packages/pip/_vendor/pyproject_hooks/_impl.py", line 186, in prepare_metadata_for_build_wheel
    return self._call_hook('prepare_metadata_for_build_wheel', {
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/site-packages/pip/_vendor/pyproject_hooks/_impl.py", line 321, in _call_hook
    raise BackendUnavailable(data.get('traceback', ''))
pip._vendor.pyproject_hooks._impl.BackendUnavailable: Traceback (most recent call last):
  File "/usr/lib/python3.11/site-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py", line 77, in _build_backend
    obj = import_module(mod_path)
          ^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/importlib/__init__.py", line 126, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "<frozen importlib._bootstrap>", line 1204, in _gcd_import
  File "<frozen importlib._bootstrap>", line 1176, in _find_and_load
  File "<frozen importlib._bootstrap>", line 1140, in _find_and_load_unlocked
ModuleNotFoundError: No module named 'mesonpy'

Error: module python3-scipy: Child process exited with code 2

SciPy seems to have build-time dependencies, and I’m guessing that flatpak-pip-generator doesn’t take them in consideration. I would check their pyproject.toml and also bundle those dependencies, mesonpy for example.

I ran into the same issue with my manifest file when building with flatpak-builder:

Manifest:

{   
  "app-id": "com.github.NarmisE.Dexviewer",
  "runtime": "org.freedesktop.Platform",
  "runtime-version": "23.08",
  "sdk": "org.freedesktop.Sdk",
  "name": "dexviewer",
  "command": "dexviewer",
  "finish-args" : [
    "--share=network",
    "--share=ipc",
    "--socket=fallback-x11",
    "--device=dri",
    "--socket=wayland"
  ],
  "modules": [
    "python3-dexviewer.json"
  ]
}

here is python3-dexviewer.json:

{
    "name": "python3-dexviewer",
    "buildsystem": "simple",
    "build-commands": [
        "pip3 install --verbose --exists-action=i --no-index --find-links=\"file://${PWD}\" --prefix=${FLATPAK_DEST} \"dexviewer\" --no-build-isolation"
    ],
    "sources": [
        {
            "type": "file",
            "url": "https://files.pythonhosted.org/packages/80/d7/c4b258c9098b469c4a4e77b0a99b5f4fd21e359c2e486c977d231f52fc71/Pillow-10.1.0.tar.gz",
            "sha256": "e6bf8de6c36ed96c86ea3b6e1d5273c53f46ef518a062464cd7ef5dd2cf92e38"
        },
        {
            "type": "file",
            "url": "https://files.pythonhosted.org/packages/ac/4a/f24ddf1d20cc4b56affc7921e29928559a06c922eb60077448392792b914/PyGObject-3.46.0.tar.gz",
            "sha256": "481437b05af0a66b7c366ea052710eb3aacbb979d22d30b797f7ec29347ab1e6"
        },
        {
            "type": "file",
            "url": "https://files.pythonhosted.org/packages/4c/dd/2234eab22353ffc7d94e8d13177aaa050113286e93e7b40eae01fbf7c3d9/certifi-2023.7.22-py3-none-any.whl",
            "sha256": "92d6037539857d8206b8f6ae472e8b77db8058fec5937a1ef3f54304089edbb9"
        },
        {
            "type": "file",
            "url": "https://files.pythonhosted.org/packages/cf/ac/e89b2f2f75f51e9859979b56d2ec162f7f893221975d244d8d5277aa9489/charset-normalizer-3.3.0.tar.gz",
            "sha256": "63563193aec44bce707e0c5ca64ff69fa72ed7cf34ce6e11d5127555756fd2f6"
        },
        {
            "type": "file",
            "url": "https://files.pythonhosted.org/packages/b1/7d/087ee4295e7580d3f7eb8a8a4e0ec8c7847e60f34135248ccf831cf5bbfc/contourpy-1.1.1.tar.gz",
            "sha256": "96ba37c2e24b7212a77da85004c38e7c4d155d3e72a45eeaf22c1f03f607e8ab"
        },
        {
            "type": "file",
            "url": "https://files.pythonhosted.org/packages/e7/05/c19819d5e3d95294a6f5947fb9b9629efb316b96de511b418c53d245aae6/cycler-0.12.1-py3-none-any.whl",
            "sha256": "85cef7cff222d8644161529808465972e51340599459b8ac3ccbac5a854e0d30"
        },
        {
            "type": "file",
            "url": "https://files.pythonhosted.org/packages/ae/1b/924b4daf64e648d23056ea4d063e7eca41f2935ca5d9db9645649ae567cd/dexviewer-1.0.3-py3-none-any.whl",
            "sha256": "8a8e729a5216f89bd2565514aab6af76a0444edb18521737bba1d732f53587e5"
        },
        {
            "type": "file",
            "url": "https://files.pythonhosted.org/packages/43/bc/6051ee22b88c5d9d39ea68e8e2422d3036d9b52ac2afc559f7397d59bc64/fonttools-4.43.1.tar.gz",
            "sha256": "17dbc2eeafb38d5d0e865dcce16e313c58265a6d2d20081c435f84dc5a9d8212"
        },
        {
            "type": "file",
            "url": "https://files.pythonhosted.org/packages/fc/34/3030de6f1370931b9dbb4dad48f6ab1015ab1d32447850b9fc94e60097be/idna-3.4-py3-none-any.whl",
            "sha256": "90b77e79eaa3eba6de819a0c442c0b4ceefc341a7a2ab77d7562bf49f425c5c2"
        },
        {
            "type": "file",
            "url": "https://files.pythonhosted.org/packages/b9/2d/226779e405724344fc678fcc025b812587617ea1a48b9442628b688e85ea/kiwisolver-1.4.5.tar.gz",
            "sha256": "e57e563a57fb22a142da34f38acc2fc1a5c864bc29ca1517a88abc963e60d6ec"
        },
        {
            "type": "file",
            "url": "https://files.pythonhosted.org/packages/23/e1/77016194621fb1356aafeb2186f07b5dede62ea2043bf03f82325c4fccc5/matplotlib-3.8.0.tar.gz",
            "sha256": "df8505e1c19d5c2c26aff3497a7cbd3ccfc2e97043d1e4db3e76afa399164b69"
        },
        {
            "type": "file",
            "url": "https://files.pythonhosted.org/packages/78/23/f78fd8311e0f710fe1d065d50b92ce0057fe877b8ed7fd41b28ad6865bfc/numpy-1.26.1.tar.gz",
            "sha256": "c8c6c72d4a9f831f328efb1312642a1cafafaa88981d9ab76368d50d07d93cbe"
        },
        {
            "type": "file",
            "url": "https://files.pythonhosted.org/packages/ec/1a/610693ac4ee14fcdf2d9bf3c493370e4f2ef7ae2e19217d7a237ff42367d/packaging-23.2-py3-none-any.whl",
            "sha256": "8c491190033a9af7e1d931d0b5dacc2ef47509b34dd0de67ed209b5203fc88c7"
        },
        {
            "type": "file",
            "url": "https://files.pythonhosted.org/packages/3d/0e/2c225d7a5de6ca0ec7d729aff6ef560544596f3a9bfed77f6dbc1713dbb5/pandas-2.1.1.tar.gz",
            "sha256": "fecb198dc389429be557cde50a2d46da8434a17fe37d7d41ff102e3987fd947b"
        },
        {
            "type": "file",
            "url": "https://files.pythonhosted.org/packages/db/f1/45f288a45215e12dea5a107a2e686e33902701d5485219437b5d64d1080a/pycairo-1.25.0.tar.gz",
            "sha256": "37842b9bfa6339c45a5025f752e1d78d5840b1a0f82303bdd5610846ad8b5c4f"
        },
        {
            "type": "file",
            "url": "https://files.pythonhosted.org/packages/32/bc/a5465e84da0461f526b81d5eaa8b8dfa343bc96cbb33d88dc2c1b8327064/pydexcom-0.3.2-py3-none-any.whl",
            "sha256": "3a3f1674342590943cbddfd1625693994d6b3d15de94a5344a6459065d925766"
        },
        {
            "type": "file",
            "url": "https://files.pythonhosted.org/packages/39/92/8486ede85fcc088f1b3dba4ce92dd29d126fd96b0008ea213167940a2475/pyparsing-3.1.1-py3-none-any.whl",
            "sha256": "32c7c0b711493c72ff18a981d24f28aaf9c1fb7ed5e9667c9e84e3db623bdbfb"
        },
        {
            "type": "file",
            "url": "https://files.pythonhosted.org/packages/36/7a/87837f39d0296e723bb9b62bbb257d0355c7f6128853c78955f57342a56d/python_dateutil-2.8.2-py2.py3-none-any.whl",
            "sha256": "961d03dc3453ebbc59dbdea9e4e11c5651520a876d0f4db161e8674aae935da9"
        },
        {
            "type": "file",
            "url": "https://files.pythonhosted.org/packages/32/4d/aaf7eff5deb402fd9a24a1449a8119f00d74ae9c2efa79f8ef9994261fc2/pytz-2023.3.post1-py2.py3-none-any.whl",
            "sha256": "ce42d816b81b68506614c11e8937d3aa9e41007ceb50bfdcb0749b921bf646c7"
        },
        {
            "type": "file",
            "url": "https://files.pythonhosted.org/packages/70/8e/0e2d847013cb52cd35b38c009bb167a1a26b2ce6cd6965bf26b47bc0bf44/requests-2.31.0-py3-none-any.whl",
            "sha256": "58cd2187c01e70e6e26505bca751777aa9f2ee0b7f4300988b709f44e013003f"
        },
        {
            "type": "file",
            "url": "https://files.pythonhosted.org/packages/d5/fb/a79efcab32b8a1f1ddca7f35109a50e4a80d42ac1c9187ab46522b2407d7/tzdata-2023.3-py2.py3-none-any.whl",
            "sha256": "7e65763eef3120314099b6939b5546db7adce1e7d6f2e179e3df563c70511eda"
        },
        {
            "type": "file",
            "url": "https://files.pythonhosted.org/packages/86/06/369125aa34e9b6d83001c636cdd1c77473aac5d5f6b446047cf20a25c88a/meson_python-0.14.0-py3-none-any.whl",
            "sha256": "fa69fa2a074d8c6772223b1efe679c34d572f3c817d601a7cbd4681a81c40077"
        },
        {
            "type": "file",
            "url": "https://files.pythonhosted.org/packages/c4/cb/4678dfd70cd2f2d8969e571cdc1bb1e9293c698f8d1cf428fadcf48d6e9f/pyproject_metadata-0.7.1-py3-none-any.whl",
            "sha256": "28691fbb36266a819ec56c9fa1ecaf36f879d6944dfde5411e87fc4ff793aa60"
        },
        {
            "type": "file",
            "url": "https://files.pythonhosted.org/packages/d2/b2/b157855192a68541a91ba7b2bbcb91f1b4faa51f8bae38d8005c034be524/urllib3-2.0.7-py3-none-any.whl",
            "sha256": "fdb6d215c776278489906c2f8916e6e7d4f5a9b602ccbcfdf7f016fc8da0596e"
        }
    ]
}

and I get a similar error after it prepares the meta data for pandas?:

Downloading sources
Starting build of com.github.NarmisE.Dexviewer
Cache miss, checking out last cache hit
========================================================================
Building module python3-dexviewer in /home/narmis/Downloads/git/.flatpak-builder/build/python3-dexviewer-7
========================================================================
Running: pip3 install --verbose --exists-action=i --no-index --find-links="file://${PWD}" --prefix=${FLATPAK_DEST} "dexviewer" --no-build-isolation
Using pip 23.2.1 from /usr/lib/python3.11/site-packages/pip (python 3.11)
Looking in links: file:///run/build/python3-dexviewer
Processing ./dexviewer-1.0.3-py3-none-any.whl
Processing ./PyGObject-3.46.0.tar.gz (from dexviewer)
  Running command Preparing metadata (pyproject.toml)
  running dist_info
  creating /tmp/pip-modern-metadata-k4j_2m41/PyGObject.egg-info
  writing /tmp/pip-modern-metadata-k4j_2m41/PyGObject.egg-info/PKG-INFO
  writing dependency_links to /tmp/pip-modern-metadata-k4j_2m41/PyGObject.egg-info/dependency_links.txt
  writing requirements to /tmp/pip-modern-metadata-k4j_2m41/PyGObject.egg-info/requires.txt
  writing top-level names to /tmp/pip-modern-metadata-k4j_2m41/PyGObject.egg-info/top_level.txt
  writing manifest file '/tmp/pip-modern-metadata-k4j_2m41/PyGObject.egg-info/SOURCES.txt'
  dependency /tmp/pip-install-6sem1087/pygobject_864e656900d54683b4eef1b46e86bb3f/gi/pygspawn.h won't be automatically included in the manifest: the path must be relative
  dependency /tmp/pip-install-6sem1087/pygobject_864e656900d54683b4eef1b46e86bb3f/gi/pygpointer.h won't be automatically included in the manifest: the path must be relative
  dependency /tmp/pip-install-6sem1087/pygobject_864e656900d54683b4eef1b46e86bb3f/gi/pygparamspec.h won't be automatically included in the manifest: the path must be relative
  dependency /tmp/pip-install-6sem1087/pygobject_864e656900d54683b4eef1b46e86bb3f/gi/pygoptiongroup.h won't be automatically included in the manifest: the path must be relative
  dependency /tmp/pip-install-6sem1087/pygobject_864e656900d54683b4eef1b46e86bb3f/gi/pygoptioncontext.h won't be automatically included in the manifest: the path must be relative
  dependency /tmp/pip-install-6sem1087/pygobject_864e656900d54683b4eef1b46e86bb3f/gi/pygobject.h won't be automatically included in the manifest: the path must be relative
  dependency /tmp/pip-install-6sem1087/pygobject_864e656900d54683b4eef1b46e86bb3f/gi/pygobject-object.h won't be automatically included in the manifest: the path must be relative
  dependency /tmp/pip-install-6sem1087/pygobject_864e656900d54683b4eef1b46e86bb3f/gi/pygobject-internal.h won't be automatically included in the manifest: the path must be relative
  dependency /tmp/pip-install-6sem1087/pygobject_864e656900d54683b4eef1b46e86bb3f/gi/pyginterface.h won't be automatically included in the manifest: the path must be relative
  dependency /tmp/pip-install-6sem1087/pygobject_864e656900d54683b4eef1b46e86bb3f/gi/pygi-value.h won't be automatically included in the manifest: the path must be relative
  dependency /tmp/pip-install-6sem1087/pygobject_864e656900d54683b4eef1b46e86bb3f/gi/pygi-util.h won't be automatically included in the manifest: the path must be relative
  dependency /tmp/pip-install-6sem1087/pygobject_864e656900d54683b4eef1b46e86bb3f/gi/pygi-type.h won't be automatically included in the manifest: the path must be relative
  dependency /tmp/pip-install-6sem1087/pygobject_864e656900d54683b4eef1b46e86bb3f/gi/pygi-struct.h won't be automatically included in the manifest: the path must be relative
  dependency /tmp/pip-install-6sem1087/pygobject_864e656900d54683b4eef1b46e86bb3f/gi/pygi-struct-marshal.h won't be automatically included in the manifest: the path must be relative
  dependency /tmp/pip-install-6sem1087/pygobject_864e656900d54683b4eef1b46e86bb3f/gi/pygi-source.h won't be automatically included in the manifest: the path must be relative
  dependency /tmp/pip-install-6sem1087/pygobject_864e656900d54683b4eef1b46e86bb3f/gi/pygi-signal-closure.h won't be automatically included in the manifest: the path must be relative
  dependency /tmp/pip-install-6sem1087/pygobject_864e656900d54683b4eef1b46e86bb3f/gi/pygi-resulttuple.h won't be automatically included in the manifest: the path must be relative
  dependency /tmp/pip-install-6sem1087/pygobject_864e656900d54683b4eef1b46e86bb3f/gi/pygi-repository.h won't be automatically included in the manifest: the path must be relative
  dependency /tmp/pip-install-6sem1087/pygobject_864e656900d54683b4eef1b46e86bb3f/gi/pygi-property.h won't be automatically included in the manifest: the path must be relative
  dependency /tmp/pip-install-6sem1087/pygobject_864e656900d54683b4eef1b46e86bb3f/gi/pygi-object.h won't be automatically included in the manifest: the path must be relative
  dependency /tmp/pip-install-6sem1087/pygobject_864e656900d54683b4eef1b46e86bb3f/gi/pygi-marshal-cleanup.h won't be automatically included in the manifest: the path must be relative
  dependency /tmp/pip-install-6sem1087/pygobject_864e656900d54683b4eef1b46e86bb3f/gi/pygi-list.h won't be automatically included in the manifest: the path must be relative
  dependency /tmp/pip-install-6sem1087/pygobject_864e656900d54683b4eef1b46e86bb3f/gi/pygi-invoke.h won't be automatically included in the manifest: the path must be relative
  dependency /tmp/pip-install-6sem1087/pygobject_864e656900d54683b4eef1b46e86bb3f/gi/pygi-invoke-state-struct.h won't be automatically included in the manifest: the path must be relative
  dependency /tmp/pip-install-6sem1087/pygobject_864e656900d54683b4eef1b46e86bb3f/gi/pygi-info.h won't be automatically included in the manifest: the path must be relative
  dependency /tmp/pip-install-6sem1087/pygobject_864e656900d54683b4eef1b46e86bb3f/gi/pygi-hashtable.h won't be automatically included in the manifest: the path must be relative
  dependency /tmp/pip-install-6sem1087/pygobject_864e656900d54683b4eef1b46e86bb3f/gi/pygi-foreign.h won't be automatically included in the manifest: the path must be relative
  dependency /tmp/pip-install-6sem1087/pygobject_864e656900d54683b4eef1b46e86bb3f/gi/pygi-foreign-api.h won't be automatically included in the manifest: the path must be relative
  dependency /tmp/pip-install-6sem1087/pygobject_864e656900d54683b4eef1b46e86bb3f/gi/pygi-error.h won't be automatically included in the manifest: the path must be relative
  dependency /tmp/pip-install-6sem1087/pygobject_864e656900d54683b4eef1b46e86bb3f/gi/pygi-enum-marshal.h won't be automatically included in the manifest: the path must be relative
  dependency /tmp/pip-install-6sem1087/pygobject_864e656900d54683b4eef1b46e86bb3f/gi/pygi-closure.h won't be automatically included in the manifest: the path must be relative
  dependency /tmp/pip-install-6sem1087/pygobject_864e656900d54683b4eef1b46e86bb3f/gi/pygi-ccallback.h won't be automatically included in the manifest: the path must be relative
  dependency /tmp/pip-install-6sem1087/pygobject_864e656900d54683b4eef1b46e86bb3f/gi/pygi-cache.h won't be automatically included in the manifest: the path must be relative
  dependency /tmp/pip-install-6sem1087/pygobject_864e656900d54683b4eef1b46e86bb3f/gi/pygi-boxed.h won't be automatically included in the manifest: the path must be relative
  dependency /tmp/pip-install-6sem1087/pygobject_864e656900d54683b4eef1b46e86bb3f/gi/pygi-basictype.h won't be automatically included in the manifest: the path must be relative
  dependency /tmp/pip-install-6sem1087/pygobject_864e656900d54683b4eef1b46e86bb3f/gi/pygi-array.h won't be automatically included in the manifest: the path must be relative
  dependency /tmp/pip-install-6sem1087/pygobject_864e656900d54683b4eef1b46e86bb3f/gi/pygi-argument.h won't be automatically included in the manifest: the path must be relative
  dependency /tmp/pip-install-6sem1087/pygobject_864e656900d54683b4eef1b46e86bb3f/gi/pygflags.h won't be automatically included in the manifest: the path must be relative
  dependency /tmp/pip-install-6sem1087/pygobject_864e656900d54683b4eef1b46e86bb3f/gi/pygenum.h won't be automatically included in the manifest: the path must be relative
  dependency /tmp/pip-install-6sem1087/pygobject_864e656900d54683b4eef1b46e86bb3f/gi/pygboxed.h won't be automatically included in the manifest: the path must be relative
  dependency /tmp/pip-install-6sem1087/pygobject_864e656900d54683b4eef1b46e86bb3f/gi/gimodule.h won't be automatically included in the manifest: the path must be relative
  dependency /tmp/pip-install-6sem1087/pygobject_864e656900d54683b4eef1b46e86bb3f/gi/pygspawn.h won't be automatically included in the manifest: the path must be relative
  dependency /tmp/pip-install-6sem1087/pygobject_864e656900d54683b4eef1b46e86bb3f/gi/pygpointer.h won't be automatically included in the manifest: the path must be relative
  dependency /tmp/pip-install-6sem1087/pygobject_864e656900d54683b4eef1b46e86bb3f/gi/pygparamspec.h won't be automatically included in the manifest: the path must be relative
  dependency /tmp/pip-install-6sem1087/pygobject_864e656900d54683b4eef1b46e86bb3f/gi/pygoptiongroup.h won't be automatically included in the manifest: the path must be relative
  dependency /tmp/pip-install-6sem1087/pygobject_864e656900d54683b4eef1b46e86bb3f/gi/pygoptioncontext.h won't be automatically included in the manifest: the path must be relative
  dependency /tmp/pip-install-6sem1087/pygobject_864e656900d54683b4eef1b46e86bb3f/gi/pygobject.h won't be automatically included in the manifest: the path must be relative
  dependency /tmp/pip-install-6sem1087/pygobject_864e656900d54683b4eef1b46e86bb3f/gi/pygobject-object.h won't be automatically included in the manifest: the path must be relative
  dependency /tmp/pip-install-6sem1087/pygobject_864e656900d54683b4eef1b46e86bb3f/gi/pygobject-internal.h won't be automatically included in the manifest: the path must be relative
  dependency /tmp/pip-install-6sem1087/pygobject_864e656900d54683b4eef1b46e86bb3f/gi/pyginterface.h won't be automatically included in the manifest: the path must be relative
  dependency /tmp/pip-install-6sem1087/pygobject_864e656900d54683b4eef1b46e86bb3f/gi/pygi-value.h won't be automatically included in the manifest: the path must be relative
  dependency /tmp/pip-install-6sem1087/pygobject_864e656900d54683b4eef1b46e86bb3f/gi/pygi-util.h won't be automatically included in the manifest: the path must be relative
  dependency /tmp/pip-install-6sem1087/pygobject_864e656900d54683b4eef1b46e86bb3f/gi/pygi-type.h won't be automatically included in the manifest: the path must be relative
  dependency /tmp/pip-install-6sem1087/pygobject_864e656900d54683b4eef1b46e86bb3f/gi/pygi-struct.h won't be automatically included in the manifest: the path must be relative
  dependency /tmp/pip-install-6sem1087/pygobject_864e656900d54683b4eef1b46e86bb3f/gi/pygi-struct-marshal.h won't be automatically included in the manifest: the path must be relative
  dependency /tmp/pip-install-6sem1087/pygobject_864e656900d54683b4eef1b46e86bb3f/gi/pygi-source.h won't be automatically included in the manifest: the path must be relative
  dependency /tmp/pip-install-6sem1087/pygobject_864e656900d54683b4eef1b46e86bb3f/gi/pygi-signal-closure.h won't be automatically included in the manifest: the path must be relative
  dependency /tmp/pip-install-6sem1087/pygobject_864e656900d54683b4eef1b46e86bb3f/gi/pygi-resulttuple.h won't be automatically included in the manifest: the path must be relative
  dependency /tmp/pip-install-6sem1087/pygobject_864e656900d54683b4eef1b46e86bb3f/gi/pygi-repository.h won't be automatically included in the manifest: the path must be relative
  dependency /tmp/pip-install-6sem1087/pygobject_864e656900d54683b4eef1b46e86bb3f/gi/pygi-property.h won't be automatically included in the manifest: the path must be relative
  dependency /tmp/pip-install-6sem1087/pygobject_864e656900d54683b4eef1b46e86bb3f/gi/pygi-object.h won't be automatically included in the manifest: the path must be relative
  dependency /tmp/pip-install-6sem1087/pygobject_864e656900d54683b4eef1b46e86bb3f/gi/pygi-marshal-cleanup.h won't be automatically included in the manifest: the path must be relative
  dependency /tmp/pip-install-6sem1087/pygobject_864e656900d54683b4eef1b46e86bb3f/gi/pygi-list.h won't be automatically included in the manifest: the path must be relative
  dependency /tmp/pip-install-6sem1087/pygobject_864e656900d54683b4eef1b46e86bb3f/gi/pygi-invoke.h won't be automatically included in the manifest: the path must be relative
  dependency /tmp/pip-install-6sem1087/pygobject_864e656900d54683b4eef1b46e86bb3f/gi/pygi-invoke-state-struct.h won't be automatically included in the manifest: the path must be relative
  dependency /tmp/pip-install-6sem1087/pygobject_864e656900d54683b4eef1b46e86bb3f/gi/pygi-info.h won't be automatically included in the manifest: the path must be relative
  dependency /tmp/pip-install-6sem1087/pygobject_864e656900d54683b4eef1b46e86bb3f/gi/pygi-hashtable.h won't be automatically included in the manifest: the path must be relative
  dependency /tmp/pip-install-6sem1087/pygobject_864e656900d54683b4eef1b46e86bb3f/gi/pygi-foreign.h won't be automatically included in the manifest: the path must be relative
  dependency /tmp/pip-install-6sem1087/pygobject_864e656900d54683b4eef1b46e86bb3f/gi/pygi-foreign-api.h won't be automatically included in the manifest: the path must be relative
  dependency /tmp/pip-install-6sem1087/pygobject_864e656900d54683b4eef1b46e86bb3f/gi/pygi-error.h won't be automatically included in the manifest: the path must be relative
  dependency /tmp/pip-install-6sem1087/pygobject_864e656900d54683b4eef1b46e86bb3f/gi/pygi-enum-marshal.h won't be automatically included in the manifest: the path must be relative
  dependency /tmp/pip-install-6sem1087/pygobject_864e656900d54683b4eef1b46e86bb3f/gi/pygi-closure.h won't be automatically included in the manifest: the path must be relative
  dependency /tmp/pip-install-6sem1087/pygobject_864e656900d54683b4eef1b46e86bb3f/gi/pygi-ccallback.h won't be automatically included in the manifest: the path must be relative
  dependency /tmp/pip-install-6sem1087/pygobject_864e656900d54683b4eef1b46e86bb3f/gi/pygi-cache.h won't be automatically included in the manifest: the path must be relative
  dependency /tmp/pip-install-6sem1087/pygobject_864e656900d54683b4eef1b46e86bb3f/gi/pygi-boxed.h won't be automatically included in the manifest: the path must be relative
  dependency /tmp/pip-install-6sem1087/pygobject_864e656900d54683b4eef1b46e86bb3f/gi/pygi-basictype.h won't be automatically included in the manifest: the path must be relative
  dependency /tmp/pip-install-6sem1087/pygobject_864e656900d54683b4eef1b46e86bb3f/gi/pygi-array.h won't be automatically included in the manifest: the path must be relative
  dependency /tmp/pip-install-6sem1087/pygobject_864e656900d54683b4eef1b46e86bb3f/gi/pygi-argument.h won't be automatically included in the manifest: the path must be relative
  dependency /tmp/pip-install-6sem1087/pygobject_864e656900d54683b4eef1b46e86bb3f/gi/pygflags.h won't be automatically included in the manifest: the path must be relative
  dependency /tmp/pip-install-6sem1087/pygobject_864e656900d54683b4eef1b46e86bb3f/gi/pygenum.h won't be automatically included in the manifest: the path must be relative
  dependency /tmp/pip-install-6sem1087/pygobject_864e656900d54683b4eef1b46e86bb3f/gi/pygboxed.h won't be automatically included in the manifest: the path must be relative
  dependency /tmp/pip-install-6sem1087/pygobject_864e656900d54683b4eef1b46e86bb3f/gi/gimodule.h won't be automatically included in the manifest: the path must be relative
  reading manifest file '/tmp/pip-modern-metadata-k4j_2m41/PyGObject.egg-info/SOURCES.txt'
  reading manifest template 'MANIFEST.in'
  adding license file 'COPYING'
  writing manifest file '/tmp/pip-modern-metadata-k4j_2m41/PyGObject.egg-info/SOURCES.txt'
  creating '/tmp/pip-modern-metadata-k4j_2m41/PyGObject-3.46.0.dist-info'
  Preparing metadata (pyproject.toml) ... done
Processing ./pandas-2.1.1.tar.gz (from dexviewer)
  Running command Preparing metadata (pyproject.toml)
  Preparing metadata (pyproject.toml) ... done
ERROR: Exception:
Traceback (most recent call last):
  File "/usr/lib/python3.11/site-packages/pip/_internal/cli/base_command.py", line 180, in exc_logging_wrapper
    status = run_func(*args)
             ^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/site-packages/pip/_internal/cli/req_command.py", line 248, in wrapper
    return func(self, options, args)
           ^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/site-packages/pip/_internal/commands/install.py", line 377, in run
    requirement_set = resolver.resolve(
                      ^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/site-packages/pip/_internal/resolution/resolvelib/resolver.py", line 92, in resolve
    result = self._result = resolver.resolve(
                            ^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/site-packages/pip/_vendor/resolvelib/resolvers.py", line 546, in resolve
    state = resolution.resolve(requirements, max_rounds=max_rounds)
            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/site-packages/pip/_vendor/resolvelib/resolvers.py", line 427, in resolve
    failure_causes = self._attempt_to_pin_criterion(name)
                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/site-packages/pip/_vendor/resolvelib/resolvers.py", line 239, in _attempt_to_pin_criterion
    criteria = self._get_updated_criteria(candidate)
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/site-packages/pip/_vendor/resolvelib/resolvers.py", line 230, in _get_updated_criteria
    self._add_to_criteria(criteria, requirement, parent=candidate)
  File "/usr/lib/python3.11/site-packages/pip/_vendor/resolvelib/resolvers.py", line 173, in _add_to_criteria
    if not criterion.candidates:
  File "/usr/lib/python3.11/site-packages/pip/_vendor/resolvelib/structs.py", line 156, in __bool__
    return bool(self._sequence)
           ^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/site-packages/pip/_internal/resolution/resolvelib/found_candidates.py", line 155, in __bool__
    return any(self)
           ^^^^^^^^^
  File "/usr/lib/python3.11/site-packages/pip/_internal/resolution/resolvelib/found_candidates.py", line 143, in <genexpr>
    return (c for c in iterator if id(c) not in self._incompatible_ids)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/site-packages/pip/_internal/resolution/resolvelib/found_candidates.py", line 47, in _iter_built
    candidate = func()
                ^^^^^^
  File "/usr/lib/python3.11/site-packages/pip/_internal/resolution/resolvelib/factory.py", line 206, in _make_candidate_from_link
    self._link_candidate_cache[link] = LinkCandidate(
                                       ^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/site-packages/pip/_internal/resolution/resolvelib/candidates.py", line 293, in __init__
    super().__init__(
  File "/usr/lib/python3.11/site-packages/pip/_internal/resolution/resolvelib/candidates.py", line 156, in __init__
    self.dist = self._prepare()
                ^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/site-packages/pip/_internal/resolution/resolvelib/candidates.py", line 225, in _prepare
    dist = self._prepare_distribution()
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/site-packages/pip/_internal/resolution/resolvelib/candidates.py", line 304, in _prepare_distribution
    return preparer.prepare_linked_requirement(self._ireq, parallel_builds=True)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/site-packages/pip/_internal/operations/prepare.py", line 538, in prepare_linked_requirement
    return self._prepare_linked_requirement(req, parallel_builds)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/site-packages/pip/_internal/operations/prepare.py", line 653, in _prepare_linked_requirement
    dist = _get_prepared_distribution(
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/site-packages/pip/_internal/operations/prepare.py", line 69, in _get_prepared_distribution
    abstract_dist.prepare_distribution_metadata(
  File "/usr/lib/python3.11/site-packages/pip/_internal/distributions/sdist.py", line 61, in prepare_distribution_metadata
    self.req.prepare_metadata()
  File "/usr/lib/python3.11/site-packages/pip/_internal/req/req_install.py", line 562, in prepare_metadata
    self.metadata_directory = generate_metadata(
                              ^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/site-packages/pip/_internal/operations/build/metadata.py", line 35, in generate_metadata
    distinfo_dir = backend.prepare_metadata_for_build_wheel(metadata_dir)
                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/site-packages/pip/_internal/utils/misc.py", line 718, in prepare_metadata_for_build_wheel
    return super().prepare_metadata_for_build_wheel(
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/site-packages/pip/_vendor/pyproject_hooks/_impl.py", line 186, in prepare_metadata_for_build_wheel
    return self._call_hook('prepare_metadata_for_build_wheel', {
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/site-packages/pip/_vendor/pyproject_hooks/_impl.py", line 321, in _call_hook
    raise BackendUnavailable(data.get('traceback', ''))
pip._vendor.pyproject_hooks._impl.BackendUnavailable: Traceback (most recent call last):
  File "/usr/lib/python3.11/site-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py", line 77, in _build_backend
    obj = import_module(mod_path)
          ^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/importlib/__init__.py", line 126, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "<frozen importlib._bootstrap>", line 1204, in _gcd_import
  File "<frozen importlib._bootstrap>", line 1176, in _find_and_load
  File "<frozen importlib._bootstrap>", line 1140, in _find_and_load_unlocked
ModuleNotFoundError: No module named 'mesonpy'

Error: module python3-dexviewer: Child process exited with code 2

This was even after I tried adding it and its dependencies which I got from running the pip-generator on meson-python:

{
    "name": "python3-meson-python",
    "buildsystem": "simple",
    "build-commands": [
        "pip3 install --verbose --exists-action=i --no-index --find-links=\"file://${PWD}\" --prefix=${FLATPAK_DEST} \"meson-python\" --no-build-isolation"
    ],
    "sources": [
        {
            "type": "file",
            "url": "https://files.pythonhosted.org/packages/86/06/369125aa34e9b6d83001c636cdd1c77473aac5d5f6b446047cf20a25c88a/meson_python-0.14.0-py3-none-any.whl",
            "sha256": "fa69fa2a074d8c6772223b1efe679c34d572f3c817d601a7cbd4681a81c40077"
        },
        {
            "type": "file",
            "url": "https://files.pythonhosted.org/packages/ec/1a/610693ac4ee14fcdf2d9bf3c493370e4f2ef7ae2e19217d7a237ff42367d/packaging-23.2-py3-none-any.whl",
            "sha256": "8c491190033a9af7e1d931d0b5dacc2ef47509b34dd0de67ed209b5203fc88c7"
        },
        {
            "type": "file",
            "url": "https://files.pythonhosted.org/packages/c4/cb/4678dfd70cd2f2d8969e571cdc1bb1e9293c698f8d1cf428fadcf48d6e9f/pyproject_metadata-0.7.1-py3-none-any.whl",
            "sha256": "28691fbb36266a819ec56c9fa1ecaf36f879d6944dfde5411e87fc4ff793aa60"
        }
    ]
}

Would I need to do this for pandas instead?

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.