ros-industrial / ros_qtc_plugin

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

Unable to run setup.py for arm architecture #490

Closed MadhuriPatil1694 closed 6 months ago

MadhuriPatil1694 commented 7 months ago

Unable to run setup.py for arm architecture Followed steps : 1:$sudo apt install libgl1-mesa-dev ninja-build libyaml-cpp-dev libqtermwidget5-0-dev libutf8proc-dev $pip3 install pyyaml requests py7zr $git clone https://github.com/ros-industrial/ros_qtc_plugin.git -b devel $./setup.py Traceback (most recent call last): File "./setup.py", line 206, in dir_qtc = qtc_download_check_extract(cfg, dir_install) File "./setup.py", line 74, in qtc_download_check_extract arch = arch_map[cfg['arch']]) KeyError: 'aarch64'

christian-rauch commented 7 months ago

On which OS and architecture is this?

The setup.py script uses the arch_map: https://github.com/ros-industrial/ros_qtc_plugin/blob/0381f884ae615b117574623b2a06b1ec117b1df7/setup.py#L23-L27 to format the correct OS- and architecture-specific URL, e.g. https://download.qt.io/official_releases/qtcreator/12.0/12.0.1/installer_source/.

Are you trying to build this on Windows (i.e. windows_arm64) or Linux (i.e. linux_arm64)?

christian-rauch commented 7 months ago

Does it work after you add the mapping "aarch64": "arm64" to arch_map? If so, can you send a PR that fixes the setup script for you?

MadhuriPatil1694 commented 7 months ago

On which OS and architecture is this?

The setup.py script uses the arch_map:

https://github.com/ros-industrial/ros_qtc_plugin/blob/0381f884ae615b117574623b2a06b1ec117b1df7/setup.py#L23-L27

to format the correct OS- and architecture-specific URL, e.g. https://download.qt.io/official_releases/qtcreator/12.0/12.0.1/installer_source/.

Are you trying to build this on Windows (i.e. windows_arm64) or Linux (i.e. linux_arm64)? @christian-rauch sorry for my late response. I am trying to build it on linux_arm64

MadhuriPatil1694 commented 7 months ago

"aarch64": "arm64"

after adding this I get following error

download https://download.qt.io/official_releases/qtcreator/12.0/12.0.0/installer_source/linux_arm64//qtcreator.7z
download https://download.qt.io/official_releases/qtcreator/12.0/12.0.0/installer_source/linux_arm64//qtcreator_dev.7z
Traceback (most recent call last):
  File "./setup.py", line 210, in <module>
    dir_qt = qt_download_check_extract(cfg, dir_install)
  File "./setup.py", line 124, in qt_download_check_extract
    r = download_check_fail(base_url+"/Updates.xml", "application/xml")
  File "./setup.py", line 40, 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
christian-rauch commented 7 months ago

This configuration only supports Qt 6.7. There is no Qt 6.6 (qt6_660) only Qt 6.7 (qt6_670) under this URL: https://download.qt.io/online/qtsdkrepository/linux_arm64/desktop/.

Can you also change qt_version: "6.6" to qt_version: "6.7" in versions.yaml?

MadhuriPatil1694 commented 7 months ago

I am getting following error now after updating qt version

download https://download.qt.io/official_releases/qtcreator/12.0/12.0.0/installer_source/linux_arm64//qtcreator.7z
download https://download.qt.io/official_releases/qtcreator/12.0/12.0.0/installer_source/linux_arm64//qtcreator_dev.7z
Traceback (most recent call last):
  File "./setup.py", line 210, in <module>
    dir_qt = qt_download_check_extract(cfg, dir_install)
  File "./setup.py", line 128, in qt_download_check_extract
    compiler_bits = os_compiler[cfg['os']]+"_"+arch_bits[sys_arch]
KeyError: 'arm64'

This configuration only supports Qt 6.7. There is no Qt 6.6 (qt6_660) only Qt 6.7 (qt6_670) under this URL: https://download.qt.io/online/qtsdkrepository/linux_arm64/desktop/.

Can you also change qt_version: "6.6" to qt_version: "6.7" in versions.yaml?

christian-rauch commented 7 months ago

Well, can you just add the missing keys to the remaining dicts and see if the constructed URL can be resolved? In this particular case, the mapping in arch_bits is missing.

I would be grateful if you send a PR once this is working for you.