Package Details: ros2-iron 2024.04.23-1

Git Clone URL: https://aur.archlinux.org/ros2-iron.git (read-only, click to copy)
Package Base: ros2-iron
Description: A set of software libraries and tools for building robot applications
Upstream URL: https://docs.ros.org/en/iron/
Licenses: Apache-2.0
Submitter: 14mRh4X0r
Maintainer: None
Last Packager: 14mRh4X0r
Votes: 0
Popularity: 0.000000
First Submitted: 2023-05-30 08:03 (UTC)
Last Updated: 2024-07-02 16:01 (UTC)

Required by (0)

Sources (2)

Pinned Comments

14mRh4X0r commented on 2024-07-02 16:03 (UTC)

I tried getting 2024.04.23 working with python_qt_binding without success (none of the backends built in a clean chroot), but after the upgrade to Python 3.12, none of them will build even in my host environment. This, combined with long build times and the faster update pace of Arch compared to ROS causing dependency issues, has led me to decide to disown this package.

Latest Comments

« First ‹ Previous 1 2 3 4 Next › Last »

14mRh4X0r commented on 2023-08-19 21:03 (UTC) (edited on 2023-08-19 21:11 (UTC) by 14mRh4X0r)

Unfortunately, python_qt_binding requires SIP 4, so the PKGBUILD skips all packages depending on that one, as per the macOS instructions.

I'm currently investigating PySide2 as an option, but building the package takes time.

MarsSeed commented on 2023-08-12 23:02 (UTC)

The missing sip dependency has been added to ros2-arch-deps.

Please kindly try the build again.

(Or preferably, try to build the latest release-iron-20230717 tag.)

MarsSeed commented on 2023-08-10 08:38 (UTC) (edited on 2023-08-10 08:38 (UTC) by MarsSeed)

In re @kistlin's comment from 2023-08-08 02:02 (UTC):

On a relatively fresh Arch install, this fails at

Starting >>> qt_gui_cpp
--- stderr: qt_gui_cpp
CMake Warning (dev) at ros2-iron/src/install/share/python_qt_binding/cmake/shiboken_helper.cmake:1 (find_package):
  Policy CMP0148 is not set: The FindPythonInterp and FindPythonLibs modules
  are removed.  Run "cmake --help-policy CMP0148" for policy details.  Use
  the cmake_policy command to set the policy and suppress this warning.

Call Stack (most recent call first):
  src/qt_gui_cpp_shiboken/CMakeLists.txt:43 (include)
This warning is for project developers.  Use -Wno-dev to suppress it.

CMake Warning (dev) at ros2-iron/src/install/share/python_qt_binding/cmake/shiboken_helper.cmake:37 (find_package):
  Policy CMP0148 is not set: The FindPythonInterp and FindPythonLibs modules
  are removed.  Run "cmake --help-policy CMP0148" for policy details.  Use
  the cmake_policy command to set the policy and suppress this warning.

Call Stack (most recent call first):
  src/qt_gui_cpp_shiboken/CMakeLists.txt:43 (include)
This warning is for project developers.  Use -Wno-dev to suppress it.

CMake Error at CMakeLists.txt:67 (message):
  No Python binding generator found.
...
==> ERROR: A failure occurred in build().
    Aborting...
error: failed to build 'ros2-iron-2023.05.23-1':
error: packages failed to build: ros2-iron-2023.05.23-1

It seems that ROS' confusing Python Qt bindings configuration (using either sip or shiboken, PyQt or PySide) has been raised as issue #114.

14mRh4X0r commented on 2023-08-09 08:18 (UTC)

Just a heads up: I'm working on the update, I just want to make sure it's correct.

MarsSeed commented on 2023-08-08 20:14 (UTC)

This latest version of sip (6.7) should be compatible with both Qt 5 and the newest Qt 6 as well.

MarsSeed commented on 2023-08-08 20:11 (UTC) (edited on 2023-08-08 20:12 (UTC) by MarsSeed)

It is not sip4 that is missing, so you should be safe installing the current version of sip.

I've mentioned this to the maintainer of ros2-arch-deps, and asked them to add 'sip' as an explicit dependency to that package.

kistlin commented on 2023-08-08 16:06 (UTC) (edited on 2023-08-08 16:31 (UTC) by kistlin)

After installing sip4 python-sip4 I got past that point.

Now I have Qt6 dependency issues.

/usr/sbin/ld: warning: libQt6Test.so.6, needed by /usr/lib/libopencv_highgui.so.4.8.0, not found (try using -rpath or -rpath-link)
/usr/sbin/ld: warning: libQt6OpenGLWidgets.so.6, needed by /usr/lib/libopencv_highgui.so.4.8.0, not found (try using -rpath or -rpath-link)
/usr/sbin/ld: warning: libQt6Widgets.so.6, needed by /usr/lib/libopencv_highgui.so.4.8.0, not found (try using -rpath or -rpath-link)
/usr/sbin/ld: warning: libQt6Gui.so.6, needed by /usr/lib/libopencv_highgui.so.4.8.0, not found (try using -rpath or -rpath-link)
/usr/sbin/ld: warning: libQt6Core.so.6, needed by /usr/lib/libopencv_highgui.so.4.8.0, not found (try using -rpath or -rpath-link)
/usr/sbin/ld: /usr/lib/libopencv_highgui.so.4.8.0: undefined reference to `QWidget::focusNextPrevChild(bool)@Qt_6'
/usr/sbin/ld: /usr/lib/libopencv_highgui.so.4.8.0: undefined reference to `QLayout::geometry() const@Qt_6'
/usr/sbin/ld: /usr/lib/libopencv_highgui.so.4.8.0: undefined reference to `QString::toUtf8_helper(QString const&)@Qt_6'
/usr/sbin/ld: /usr/lib/libopencv_highgui.so.4.8.0: undefined reference to `QPainter::setFont(QFont const&)@Qt_6'
/usr/sbin/ld: /usr/lib/libopencv_highgui.so.4.8.0: undefined reference to `QWidget::dragEnterEvent(QDragEnterEvent*)@Qt_6'
/usr/sbin/ld: /usr/lib/libopencv_highgui.so.4.8.0: undefined reference to `QFutureInterfaceBase::isCanceled() const@Qt_6'

I'm currently trying to compile with Qt6 installed. And after installing qt6-base everything compiled successful.

kistlin commented on 2023-08-08 15:26 (UTC) (edited on 2023-08-08 15:27 (UTC) by kistlin)

Based on ros2-iron/src/install/share/python_qt_binding/cmake/sip_helper.cmake sip cannot be found I think. When installing for example python-sip4. And then executing python -c "import sipconfig; print(sipconfig.Configuration().sip_bin)" it prints /usr/bin/sip. Then I get a different error.

Traceback (most recent call last):
  File "/home/user/.cache/paru/clone/ros2-iron/src/install/share/python_qt_binding/cmake/sip_configure.py", line 123, in <module>
    subprocess.check_call(cmd)
  File "/usr/lib/python3.11/subprocess.py", line 408, in check_call
    retcode = call(*popenargs, **kwargs)
              ^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/subprocess.py", line 389, in call
    with Popen(*popenargs, **kwargs) as p:
         ^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/subprocess.py", line 1024, in __init__
    self._execute_child(args, executable, preexec_fn, close_fds,
  File "/usr/lib/python3.11/subprocess.py", line 1917, in _execute_child
    raise child_exception_type(errno_num, err_msg, err_filename)
FileNotFoundError: [Errno 2] No such file or directory: '/usr/bin/sip'
make[2]: *** [src/qt_gui_cpp_sip/CMakeFiles/libqt_gui_cpp_sip.dir/build.make:103: sip/qt_gui_cpp_sip/Makefile] Error 1
make[1]: *** [CMakeFiles/Makefile2:253: src/qt_gui_cpp_sip/CMakeFiles/libqt_gui_cpp_sip.dir/all] Error 2
make: *** [Makefile:146: all] Error 2

python-pyqt5-sip4 looks like it was not installed, and it seems to be a dependency of ros2-arch-deps and there of python-pyqt5. But after installing it was still not working. Something with this sip is wrong.

kistlin commented on 2023-08-08 11:57 (UTC)

@MarsSeed I don't think it's the warnings. It's

CMake Error at CMakeLists.txt:67 (message):
  No Python binding generator found.

It is maybe in some CMake file searching for sip or so. I'll have to dig later on.

MarsSeed commented on 2023-08-08 08:49 (UTC)

Warnings should not be treated as errors. Is such configured on your system? (Does CPPFLAGS contain "-Werror" in yourmakepkg.conf`?)