miurahr / aqtinstall

aqt: Another (unofficial) Qt CLI Installer on multi-platforms
https://aqtinstall.readthedocs.io/en/latest/
MIT License
922 stars 86 forks source link

[Bug]: Missing Libraries (libprotoc.so.23, libprotobuf.so.23) for Qt 6.7.2 on Ubuntu 20.04 ARM64 #815

Closed Jiangxumin closed 1 month ago

Jiangxumin commented 1 month ago

Bug description

I am trying to install Qt 6.7.2 using aqtinstall on an NVIDIA Jetson Orin AGX platform running Ubuntu 20.04 (aarch64). The installation command I used is:

python3 -m aqt install-qt -O ${HOME}/opt/Qt linux_arm64 desktop 6.7.2 -m qtlocation qtpositioning qtgrpc

After installation, I encountered an issue with missing shared libraries when running:

ldd ${HOME}/opt/Qt/6.7.2/gcc_arm64/libexec/qtgrpcgen

The output is:

libprotoc.so.23 => not found
libprotobuf.so.23 => not found
libstdc++.so.6 => /lib/aarch64-linux-gnu/libstdc++.so.6 (0x0000004001898000)
libgcc_s.so.1 => /lib/aarch64-linux-gnu/libgcc_s.so.1 (0x0000004001a7d000)
libpthread.so.0 => /lib/aarch64-linux-gnu/libpthread.so.0 (0x0000004001aa1000)
libc.so.6 => /lib/aarch64-linux-gnu/libc.so.6 (0x0000004001ad4000)
libm.so.6 => /lib/aarch64-linux-gnu/libm.so.6 (0x0000004001c47000)
/lib/ld-linux-aarch64.so.1 (0x0000004000000000)

It appears that libprotoc.so.23 and libprotobuf.so.23 are missing, which are not available on Ubuntu 20.04. These libraries are supported on Ubuntu 22.04, whereas Ubuntu 20.04 supports libprotoc.so.17 and libprotobuf.so.17.

sudo apt install  libprotoc23  libprotobuf23  --  by ubuntu22.04  

sudo apt install  libprotoc17  libprotobuf17  --  by ubuntu20.04  

Could you provide guidance on resolving this issue or updating the installation to be compatible with the libraries available on Ubuntu 20.04? Thank you.

This description clarifies the issue, provides the context and output, and requests assistance or a possible update.

Expected behavior

I was hoping that, similar to the x86_64 platform, qtgrpcgen on the ARM64 platform would be statically compiled and link against libprotoc.a and libprotobuf.a . For comparison, here is the ldd output from the x86_64 platform:

ldd ~/opt/Qt/6.7.2/gcc_64/libexec/qtgrpcgen
    linux-vdso.so.1 (0x00007ffeb0da4000)
    libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007f3c37324000)
    libstdc++.so.6 => /lib/x86_64-linux-gnu/libstdc++.so.6 (0x00007f3c37142000)
    libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007f3c36ff3000)
    libgcc_s.so.1 => /lib/x86_64-linux-gnu/libgcc_s.so.1 (0x00007f3c36fd8000)
    libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f3c36de6000)
    /lib64/ld-linux-x86-64.so.2 (0x00007f3c3763a000)

aqt and python version

aqtinstall(aqt) v3.1.18 on Python 3.10.12 [CPython GCC 11.4.0]

Operating System

Linux/Unix

Relevant log output

No response

Code of Conduct

pzhlkj6612 commented 1 month ago

Hi.

I was hoping that, similar to the x86_64 platform, qtgrpcgen on the ARM64 platform would be statically compiled and link against libprotoc.a and libprotobuf.a .

The aqtinstall is a tool for downloading files from Qt's server. This tool does not build Qt from the source code. I think you should raise a bug report on https://bugreports.qt.io/.

Jiangxumin commented 1 month ago

Hi. The aqtinstall is a tool for downloading files from Qt's server. This tool does not build Qt from the source code. I think you should raise a bug report on https://bugreports.qt.io/.

Thank you for the information. I understand that aqtinstall doesn't build Qt from source. I will go ahead and submit a bug report to Qt's bug tracker regarding the static compilation of qtgrpcgen on ARM64 and its linkage with libprotoc.a and libprotobuf.a. Thanks for your guidance!"