ros-industrial / ros_qtc_plugin

ROS Qt Creator Plug-in (https://ros-qtc-plugin.readthedocs.io)
396 stars 213 forks source link

There is wrong when I run setup.py for arm architecture #503

Closed Mark9999999 closed 3 months ago

Mark9999999 commented 4 months ago

qt version: 5.15.3 qt creator version: 6.0.2 ros_qtc_plugin version: 0.5.0 os : ubuntu22.04

Unable to run setup.py for arm architecture. I have already added the mapping "aarch64": "arm64" to arch_map. Followed steps : 1 cd ros_qtc_plugin-0.5.0 2 ./setup.py

Traceback (most recent call last): File "/home/orangepi/ros_qtc_plugin-0.5.0/./setup.py", line 203, in dir_qtc = qtc_download_check_extract(cfg, dir_install) File "/home/orangepi/ros_qtc_plugin-0.5.0/./setup.py", line 77, in qtc_download_check_extract md5sums_raw = download_check_fail(base_url+"/md5sums.txt", "text/plain").text File "/home/orangepi/ros_qtc_plugin-0.5.0/./setup.py", line 40, in download_check_fail raise RuntimeError("error retrieving "+response.url) RuntimeError: error retrieving https://download.qt.io/official_releases/qtcreator/6.0/6.0.0/installer_source/linux_arm64//md5sums.txt

christian-rauch commented 3 months ago

Is there a particular reason why you have to install an older Qt Creator version (6.0) and not the most recent version (13.0)? The setup.py script uses binary distributions for Qt and Qt Creator. The arm64 version of Qt Creator is only available in binary form from version 12.0 onwards (https://download.qt.io/official_releases/qtcreator/12.0/12.0.2/installer_source/).

If you need an older Qt Creator version, then you will have to compile Qt Creator from source.

I recommend using the latest version in any case.

Mark9999999 commented 3 months ago

Is there a particular reason why you have to install an older Qt Creator version (6.0) and not the most recent version (13.0)? The setup.py script uses binary distributions for Qt and Qt Creator. The arm64 version of Qt Creator is only available in binary form from version 12.0 onwards (https://download.qt.io/official_releases/qtcreator/12.0/12.0.2/installer_source/).

If you need an older Qt Creator version, then you will have to compile Qt Creator from source.

I recommend using the latest version in any case.

thanks your reply. Because the previous versions of qtcreator for the project were 6.0.2,so I can not change it. Is ros_qtcplugin 0.5.0 compatible with qtcreator 6.0.2. I still want to ask how ros_qt_plugin can be installed on this version of qtcreator.

christian-rauch commented 3 months ago

You can take the binary version of the plugin that is compatible with Qt Creator 6 from here: https://github.com/ros-industrial/ros_qtc_plugin/releases/tag/0.5.0.

Mark9999999 commented 3 months ago

Is there a particular reason why you have to install an older Qt Creator version (6.0) and not the most recent version (13.0)? The setup.py script uses binary distributions for Qt and Qt Creator. The arm64 version of Qt Creator is only available in binary form from version 12.0 onwards (https://download.qt.io/official_releases/qtcreator/12.0/12.0.2/installer_source/).

If you need an older Qt Creator version, then you will have to compile Qt Creator from source.

I recommend using the latest version in any case.

The qt and qtcreator versions are shown as follows: (Software display) Qt creator 13.0.1 Based on Qt 6.6.3(GCC 10.2.1 20210110, arm64)

I installed the most recent version (13.1) of ros_qtc_plugin. Unable to run setup.py, and terminal display:

orangepi@orangepi5plus:~/Downloads/ros_qtc_plugin-13.1$ ./setup.py --install_path ~/Downloads/
download URL: https://download.qt.io/official_releases/qtcreator/13.0/13.0.0/installer_source/linux_arm64//md5sums.txt
download URL: https://download.qt.io/official_releases/qtcreator/13.0/13.0.0/installer_source/linux_arm64//qtcreator.7z
qtcreator.7z: 985MB [00:12, 77.9MB/s]                                           
download URL: https://download.qt.io/official_releases/qtcreator/13.0/13.0.0/installer_source/linux_arm64//qtcreator_dev.7z
qtcreator_dev.7z: 440MB [00:05, 83.0MB/s]                                       
download URL: https://download.qt.io/online/qtsdkrepository/linux_arm64/desktop/qt6_660//Updates.xml
Traceback (most recent call last):
  File "/home/orangepi/Downloads/ros_qtc_plugin-13.1/./setup.py", line 241, in <module>
    dir_qt = qt_download_check_extract(cfg, dir_install)
  File "/home/orangepi/Downloads/ros_qtc_plugin-13.1/./setup.py", line 159, in qt_download_check_extract
    r = download_check_fail(base_url+"/Updates.xml", "application/xml")
  File "/home/orangepi/Downloads/ros_qtc_plugin-13.1/./setup.py", line 54, in download_check_fail
    raise RuntimeError("error retrieving "+response.url)
RuntimeError: error retrieving https://download.qt.io/online/qtsdkrepository/linux_arm64/desktop/qt6_660//Updates.xml

But in linux-x86, the same qt, qtcreator and ros_qtc_plugin versions can run successfully. And then, I found that the URL reporting the error does not have a directory for qt6_660.

christian-rauch commented 3 months ago

As you already recognised, there is no qt6_660 (i.e. Qt 6.6) at https://download.qt.io/online/qtsdkrepository/linux_arm64/desktop/. This Qt version is defined in the versions.yaml as this is also used by the binary distributed Qt Creator.

The script should work by changing this to:

qt_version: "6.7"
Mark9999999 commented 3 months ago

As you already recognised, there is no qt6_660 (i.e. Qt 6.6) at https://download.qt.io/online/qtsdkrepository/linux_arm64/desktop/. This Qt version is defined in the versions.yaml as this is also used by the binary distributed Qt Creator.

The script should work by changing this to:

qt_version: "6.7"

A plug-in called ROSProjectManager-13.1-Linux-aarch64.zip has now been generated. The path is /hom/orangepi/Downloads/ros_qtc_plugin-13.1/build. But when I install it into qt creator, an error will be reported, as follows:

/home/orangepi/.local/share/data/QtProject/qtcreator/plugins/13.0.1/lib/qtcreator/plugins/libROSProjectManager.so: plugin“/home/orangepi/.local/share/data/QtProject/qtcreator/plugins/13.0.1/lib/qtcreator/plugins/libROSProjectManager.so”Incompatible Qt library used. (6.7.0) [release]

christian-rauch commented 3 months ago

The script only downloads the archives from the servers. The arm64 binary distributed version of Qt is only available from Qt 6.7 onwards but the binary distribution of Qt Creator 13 still uses Qt 6.6. It looks like you won't be able to use the script to download matching binary versions of Qt and Qt Creator.

If you just want to use Qt Creator you can try using the snap package. Otherwise, you will need to obtain a binary version of Qt or Qt Creator yourself or compile everything from scratch.