Uploaded image for project: 'Qt for Python'
  1. Qt for Python
  2. PYSIDE-2885

Build fails if Qt to build against is read-only

    XMLWordPrintable

Details

    • Linux/Wayland
    • 39b0b466b (dev), 29afca660 (6.8), d9f2ed4bd (tqtc/lts-6.5)

    Description

      If Qt is installed on a read-only file system or if writable flag is cleared from binaries (for example: {{cd installPath; find -type f -exec chmod -w '{}' \; }}), PySide build will fail when it tries to run patchelf to adjust rpath.

      [INFO]: -- Compiling module pyside-tools...
      ninja: no work to do.
      [INFO]: -- Skipped documentation generation. Enable with '--build-docs'
      [INFO]: Installing module pyside-tools...
      [0/1] Install the project...
      -- Install configuration: "Release"
      [INFO]: Using /usr/bin/patchelf ...
      [INFO]: Preparing setup tools build directory.
      [INFO]: Removing /home/user/work/pyside-setup/build/qfp-py3.10-qt6.7.3-64bit-release/package
      [INFO]: Copying files...
      [INFO]: Making file /home/user/work/pyside-setup/build/qfp-py3.10-qt6.7.3-64bit-release/package/PySide6/scripts/__init__.py.
      [INFO]: /home/user/work/pyside-setup/build/qfp-py3.10-qt6.7.3-64bit-release/package/PySide6/QtAsyncio/__init__.py is up to date.
      [INFO]: /home/user/work/pyside-setup/build/qfp-py3.10-qt6.7.3-64bit-release/package/PySide6/QtAsyncio/events.py is up to date.
      [INFO]: /home/user/work/pyside-setup/build/qfp-py3.10-qt6.7.3-64bit-release/package/PySide6/QtAsyncio/tasks.py is up to date.
      [INFO]: /home/user/work/pyside-setup/build/qfp-py3.10-qt6.7.3-64bit-release/package/PySide6/QtAsyncio/futures.py is up to date.
      [INFO]: Copying files...
      [INFO]: Checking if QtCore library needs a new rpath to make it work with ICU libs.
      [INFO]: **Skipping copy tree
        /home/user/work/qt/build/qtbase/inst/qml to
        /home/user/work/pyside-setup/build/qfp-py3.10-qt6.7.3-64bit-release/package/PySide6/Qt/qml
        Source does not exist. filter=None. ignore=['*.debug'].
      [INFO]: **Skipping copy tree
        /home/user/work/qt/build/qtbase/inst/translations to
        /home/user/work/pyside-setup/build/qfp-py3.10-qt6.7.3-64bit-release/package/PySide6/Qt/translations
        Source does not exist. filter=['*.qm', '*.pak']. ignore=None.
      patchelf: open: Permission denied
      Traceback (most recent call last):
        File "/home/user/work/pyside-setup/setup.py", line 42, in <module>
          setup_runner.run_setup()
        File "/home/user/work/pyside-setup/build_scripts/setup_runner.py", line 207, in run_setup
          self.run_setuptools_setup()
        File "/home/user/work/pyside-setup/build_scripts/setup_runner.py", line 280, in run_setuptools_setup
          setup(**kwargs)
        File "/home/user/.local/lib/python3.10/site-packages/setuptools/__init__.py", line 103, in setup
          return distutils.core.setup(**attrs)
        File "/home/user/.local/lib/python3.10/site-packages/setuptools/_distutils/core.py", line 185, in setup
          return run_commands(dist)
        File "/home/user/.local/lib/python3.10/site-packages/setuptools/_distutils/core.py", line 201, in run_commands
          dist.run_commands()
        File "/home/user/.local/lib/python3.10/site-packages/setuptools/_distutils/dist.py", line 969, in run_commands
          self.run_command(cmd)
        File "/home/user/.local/lib/python3.10/site-packages/setuptools/dist.py", line 963, in run_command
          super().run_command(command)
        File "/home/user/.local/lib/python3.10/site-packages/setuptools/_distutils/dist.py", line 988, in run_command
          cmd_obj.run()
        File "/home/user/work/pyside-setup/build_scripts/main.py", line 214, in run
          _install.run(self)
        File "/home/user/.local/lib/python3.10/site-packages/setuptools/command/install.py", line 82, in run
          orig.install.run(self)
        File "/home/user/.local/lib/python3.10/site-packages/setuptools/_distutils/command/install.py", line 697, in run
          self.run_command('build')
        File "/home/user/.local/lib/python3.10/site-packages/setuptools/_distutils/cmd.py", line 318, in run_command
          self.distribution.run_command(command)
        File "/home/user/.local/lib/python3.10/site-packages/setuptools/dist.py", line 963, in run_command
          super().run_command(command)
        File "/home/user/.local/lib/python3.10/site-packages/setuptools/_distutils/dist.py", line 988, in run_command
          cmd_obj.run()
        File "/home/user/work/pyside-setup/build_scripts/main.py", line 428, in run
          self.prepare_packages()
        File "/home/user/work/pyside-setup/build_scripts/main.py", line 983, in prepare_packages
          return prepare_packages_posix(self, _vars, self.is_cross_compile)
        File "/home/user/work/pyside-setup/build_scripts/platforms/unix.py", line 253, in prepare_packages_posix
          pyside_build.update_rpath(libexec_executables, libexec=True)
        File "/home/user/work/pyside-setup/build_scripts/main.py", line 1182, in update_rpath
          rpath_cmd(executable)
        File "/home/user/work/pyside-setup/build_scripts/main.py", line 1154, in rpath_cmd
          linux_fix_rpaths_for_library(self._patchelf_path, srcpath, final_rpath,
        File "/home/user/work/pyside-setup/build_scripts/utils.py", line 906, in linux_fix_rpaths_for_library
          linux_set_rpaths(patchelf, executable_path, rpaths_string)
        File "/home/user/work/pyside-setup/build_scripts/utils.py", line 800, in linux_set_rpaths
          raise RuntimeError(f"Error patching rpath in {executable_path}")
      RuntimeError: Error patching rpath in /home/user/work/pyside-setup/build/qfp-py3.10-qt6.7.3-64bit-release/package/PySide6/Qt/libexec/uic
      Traceback (most recent call last):
        File "/home/user/work/pyside-setup/setup.py", line 42, in <module>
          setup_runner.run_setup()
        File "/home/user/work/pyside-setup/build_scripts/setup_runner.py", line 263, in run_setup
          raise RuntimeError(msg)
      RuntimeError: 
      setup.py invocation failed with exit code: 1.
      

      Attachments

        For Gerrit Dashboard: PYSIDE-2885
        # Subject Branch Project Status CR V

        Activity

          People

            kleint Friedemann Kleint
            poikelin Joni Poikelin
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Gerrit Reviews

                There are no open Gerrit changes