Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Groups
  • Search
  • Get Qt Extensions
  • Unsolved
Collapse
Brand Logo
  1. Home
  2. Qt Development
  3. Installation and Deployment
  4. Qt and Shared Libs (libicui18n.so, libicudata.so, libicuuc.so)
Forum Updated to NodeBB v4.3 + New Features

Qt and Shared Libs (libicui18n.so, libicudata.so, libicuuc.so)

Scheduled Pinned Locked Moved Unsolved Installation and Deployment
2 Posts 2 Posters 2.3k Views 2 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • CryptikC Offline
    CryptikC Offline
    Cryptik
    wrote on last edited by Cryptik
    #1

    With some significant effort, I was able to get Qt 5.15.2 built and installed on my Ubuntu Linux ARM based system following these abbreviated steps.

    I downloaded Qt 5.15.2 source from download.qt.io and extracted it to a folder on my system.

    Then... after fixing numerous issues that I was able to resolve from various posts, I was able to successfully build and install the kit using the following:

    mkdir build && cd build
    ../configure -debug -prefix /opt/Qt5.15.2 -opensource -nomake tests -skip webengine -qt-xcb -qt-xkbcommon
    make -j4
    sudo make install
    make docs
    

    I then configured my environment variables as follows:

    PATH=/opt/Qt5.15.2/bin:$PATH
    export LD_LIBRARY_PATH=/opt/Qt5.15.2/lib:$LD_LIBRARY_PATH
    

    The resulting kit can then be added to QTCreator with no issues. My problem is that when building an application that needs to use the kit using qmake and make, I get errors such as this one:

    Post Link Common
    cp: cannot stat '/opt/Qt5.15.2/lib/libicui18n.so*': No such file or directory
    make: *** [Makefile:2475: staging/QGroundControl] Error 1
    

    The above errors are generated for three systems libraries

    libicui18n.so
    libicudata.so
    libicuuc.so
    

    These libraries exist on the system in the /usr/lib/aarch64-linux-gnu/ folder. Utilities such as whereis finds them with no problems. Looking at the error message, the build wants to find them in the Qt install folder rather than the system lib folder. I tried adding the system lib folder to LD_LIBRARY_PATH, but the errors don't go away. The only way I could fix this was to create symlinks from the three system libraries to the /opt/Qt5.15.2/lib/ folder where Qt is installed. After that, the compile of QGroundControl worked fine and runs fine. I don't think this is a QGroundControl problem.

    My question is why does the build want to find these libraries in the Qt install folder? Is there a way to fix this without creating the symlinks?

    kshegunovK 1 Reply Last reply
    0
    • CryptikC Cryptik

      With some significant effort, I was able to get Qt 5.15.2 built and installed on my Ubuntu Linux ARM based system following these abbreviated steps.

      I downloaded Qt 5.15.2 source from download.qt.io and extracted it to a folder on my system.

      Then... after fixing numerous issues that I was able to resolve from various posts, I was able to successfully build and install the kit using the following:

      mkdir build && cd build
      ../configure -debug -prefix /opt/Qt5.15.2 -opensource -nomake tests -skip webengine -qt-xcb -qt-xkbcommon
      make -j4
      sudo make install
      make docs
      

      I then configured my environment variables as follows:

      PATH=/opt/Qt5.15.2/bin:$PATH
      export LD_LIBRARY_PATH=/opt/Qt5.15.2/lib:$LD_LIBRARY_PATH
      

      The resulting kit can then be added to QTCreator with no issues. My problem is that when building an application that needs to use the kit using qmake and make, I get errors such as this one:

      Post Link Common
      cp: cannot stat '/opt/Qt5.15.2/lib/libicui18n.so*': No such file or directory
      make: *** [Makefile:2475: staging/QGroundControl] Error 1
      

      The above errors are generated for three systems libraries

      libicui18n.so
      libicudata.so
      libicuuc.so
      

      These libraries exist on the system in the /usr/lib/aarch64-linux-gnu/ folder. Utilities such as whereis finds them with no problems. Looking at the error message, the build wants to find them in the Qt install folder rather than the system lib folder. I tried adding the system lib folder to LD_LIBRARY_PATH, but the errors don't go away. The only way I could fix this was to create symlinks from the three system libraries to the /opt/Qt5.15.2/lib/ folder where Qt is installed. After that, the compile of QGroundControl worked fine and runs fine. I don't think this is a QGroundControl problem.

      My question is why does the build want to find these libraries in the Qt install folder? Is there a way to fix this without creating the symlinks?

      kshegunovK Offline
      kshegunovK Offline
      kshegunov
      Moderators
      wrote on last edited by
      #2

      @Cryptik said in Qt and Shared Libs (libicui18n.so, libicudata.so, libicuuc.so):

      The resulting kit can then be added to QTCreator with no issues. My problem is that when building an application that needs to use the kit using qmake and make, I get errors such as this one:

      Don't modify the system environment! Instead where you configure the kit in Qt creator add a Qt version and point it to the correct qmake binary. qmake already knows where the libraries are located.

      Read and abide by the Qt Code of Conduct

      1 Reply Last reply
      1

      • Login

      • Login or register to search.
      • First post
        Last post
      0
      • Categories
      • Recent
      • Tags
      • Popular
      • Users
      • Groups
      • Search
      • Get Qt Extensions
      • Unsolved