Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Groups
  • Search
  • Get Qt Extensions
  • Unsolved
Collapse
Brand Logo
  1. Home
  2. Qt Development
  3. Mobile and Embedded
  4. Libjpeg conflict while building qt
Forum Updated to NodeBB v4.3 + New Features

Libjpeg conflict while building qt

Scheduled Pinned Locked Moved Unsolved Mobile and Embedded
embedded linuxbuilding qtlibjpegconfigureubuntu 18.04
12 Posts 2 Posters 2.4k Views 1 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.
  • U Offline
    U Offline
    Ucn_
    wrote on 5 Oct 2020, 17:07 last edited by
    #1

    Hello. I am trying to build Qt-5.12.9 from source on Nvidia Jetson Nano, ubuntu 18.04.5 LTS (GNU/Linux 4.9.140-tegra aarch64). I would like to use sytem libjpeg. At the configuration time I specify -system-libjpeg with -v. After the configuration is done I get this:

    JPEG ................................. yes
          Using system libjpeg ............... yes
        PNG .................................. yes
          Using system libpng ................ yes
    

    And

    Checking for libjpeg... 
    Trying source 0 (type inline) of library libjpeg ...
      => source failed condition 'config.msvc'.
    Trying source 1 (type inline) of library libjpeg ...
    + cd /home/ath/Documents/SourceCode/qtBuild/config.tests/libjpeg && /home/ath/Documents/SourceCode/qtBuild/qtbase/bin/qmake "CONFIG -= qt debug_and_release app_bundle lib_bundle" "CONFIG += shared use_gold_linker warn_off console single_arch" 'QMAKE_USE += libjpeg' 'QMAKE_LIBS_LIBJPEG = /usr/lib/aarch64-linux-gnu/libjpeg.so' /home/ath/Documents/SourceCode/qtBuild/config.tests/libjpeg
    + cd /home/ath/Documents/SourceCode/qtBuild/config.tests/libjpeg && MAKEFLAGS= /usr/bin/make
    > g++ -c -pipe -O2 -w -fPIC  -I. -I/home/ath/Documents/SourceCode/qt12Source/qtbase/mkspecs/linux-g++ -o main.o main.cpp
    > g++ -Wl,-O1 -fuse-ld=gold -o libjpeg main.o   /usr/lib/aarch64-linux-gnu/libjpeg.so   
     => source accepted.
    test config.qtbase_gui.libraries.libjpeg succeeded
    

    If I continue with the configuration and build. when I run my app I receive this:

    JPEG prarameter struct mismatch: library thinks size is 584, caller expects
    

    In my app:

    ldd myapp
    .....
    libjpeg.so.8 => /usr/lib/aarch64-linux-gnu/libjpeg.so.8 (0x0000007fa6283000)
    .....
    

    In my system:

    ldconfig -p | grep libjpeg
    	libjpeg.so.8 (libc6,AArch64) => /usr/lib/aarch64-linux-gnu/libjpeg.so.8
    	libjpeg.so (libc6,AArch64) => /usr/lib/aarch64-linux-gnu/libjpeg.so
    dpkg -l
    ii  libjpeg-dev:arm64             8c-2ubuntu8         arm64               Independent JPEG Group's JPEG runtime library (dependency packag
    ii  libjpeg-turbo8:arm64          1.5.2-0ubuntu5.18.0 arm64               IJG JPEG compliant runtime library.
    ii  libjpeg-turbo8-dev:arm64      1.5.2-0ubuntu5.18.0 arm64               Development files for the IJG JPEG library
    ii  libjpeg8:arm64                8c-2ubuntu8         arm64               Independent JPEG Group's JPEG runtime library (dependency packag
    ii  libjpeg8-dev:arm64            8c-2ubuntu8         arm64               Independent JPEG Group's JPEG runtime library (dependency packag
    
    

    How do I link only with libjpeg8 so -system-libjpeg will find only this? Thank you

    1 Reply Last reply
    0
    • S Offline
      S Offline
      SGaist
      Lifetime Qt Champion
      wrote on 5 Oct 2020, 17:59 last edited by
      #2

      Hi,

      I think the easiest would be to remove the development package of the version you do not want to use. It will avoid its detection.

      Interested in AI ? www.idiap.ch
      Please read the Qt Code of Conduct - https://forum.qt.io/topic/113070/qt-code-of-conduct

      U 1 Reply Last reply 5 Oct 2020, 18:01
      0
      • S SGaist
        5 Oct 2020, 17:59

        Hi,

        I think the easiest would be to remove the development package of the version you do not want to use. It will avoid its detection.

        U Offline
        U Offline
        Ucn_
        wrote on 5 Oct 2020, 18:01 last edited by
        #3

        @SGaist Thanks for replying. Actually I tried to remove, however it seems that libjpeg-turbo8-dev install the rest as dependencies. So when removing it warns about the depencencies and if I remove then install again it will install all.

        1 Reply Last reply
        0
        • S Offline
          S Offline
          SGaist
          Lifetime Qt Champion
          wrote on 5 Oct 2020, 18:04 last edited by
          #4

          Something is not clear what exactly depends on libjpeg-turbo-dev ?

          Interested in AI ? www.idiap.ch
          Please read the Qt Code of Conduct - https://forum.qt.io/topic/113070/qt-code-of-conduct

          U 1 Reply Last reply 5 Oct 2020, 18:53
          0
          • S SGaist
            5 Oct 2020, 18:04

            Something is not clear what exactly depends on libjpeg-turbo-dev ?

            U Offline
            U Offline
            Ucn_
            wrote on 5 Oct 2020, 18:53 last edited by
            #5

            @SGaist :

            dpkg: libjpeg-turbo8-dev:arm64: dependency problems, but removing anyway as you requested:
             libjpeg8-dev:arm64 depends on libjpeg-turbo8-dev (>= 1.1.90+svn722-1ubuntu6).
            
            dpkg: libjpeg8-dev:arm64: dependency problems, but removing anyway as you requested:
             libjpeg-dev:arm64 depends on libjpeg8-dev.
            
            (Reading database ... 142774 files and directories currently installed.)
            Removing libjpeg8-dev:arm64 (8c-2ubuntu8) ...
            dpkg: libjpeg-dev:arm64: dependency problems, but removing anyway as you requested:
             libcupsimage2-dev:arm64 depends on libjpeg-dev.
             libtiff5-dev:arm64 depends on libjpeg-dev.
            
            Removing libjpeg-dev:arm64 (8c-2ubuntu8) ...
            dpkg: libjpeg8:arm64: dependency problems, but removing anyway as you requested:
             vlc-plugin-base:arm64 depends on libjpeg8 (>= 8c).
             liblcms2-utils depends on libjpeg8 (>= 8c).
             libraw16:arm64 depends on libjpeg8 (>= 8c).
             libwmf0.2-7:arm64 depends on libjpeg8 (>= 8c).
             sane-utils depends on libjpeg8 (>= 8c).
             libgs9:arm64 depends on libjpeg8 (>= 8c).
             libsdl-image1.2:arm64 depends on libjpeg8 (>= 8c).
             gstreamer1.0-plugins-good:arm64 depends on libjpeg8 (>= 8c).
             libsane1:arm64 depends on libjpeg8 (>= 8c).
             netpbm depends on libjpeg8 (>= 8c).
             libopencv depends on libjpeg8 (>= 8c).
             libgxps2:arm64 depends on libjpeg8 (>= 8c).
             libqt5gui5:arm64 depends on libjpeg8 (>= 8c).
             libpoppler73:arm64 depends on libjpeg8 (>= 8c).
             eog depends on libjpeg8 (>= 8c).
             libcupsfilters1:arm64 depends on libjpeg8 (>= 8c).
             libmng2:arm64 depends on libjpeg8 (>= 8c).
             libreoffice-core depends on libjpeg8 (>= 8c).
             libtiff5:arm64 depends on libjpeg8 (>= 8c).
             libgd3:arm64 depends on libjpeg8 (>= 8c).
             libgphoto2-6:arm64 depends on libjpeg8 (>= 8c).
             libvncclient1:arm64 depends on libjpeg8 (>= 8c).
             gstreamer1.0-gl:arm64 depends on libjpeg8 (>= 8c).
             libgdk-pixbuf2.0-0:arm64 depends on libjpeg8 (>= 8c).
             libv4lconvert0:arm64 depends on libjpeg8 (>= 8c).
             libfreerdp2-2:arm64 depends on libjpeg8 (>= 8c).
             libwebkit2gtk-4.0-37:arm64 depends on libjpeg8 (>= 8c).
             libqt5webkit5:arm64 depends on libjpeg8 (>= 8c).
             libdjvulibre21:arm64 depends on libjpeg8 (>= 8c).
             libzbar0:arm64 depends on libjpeg8 (>= 8c).
             vino depends on libjpeg8 (>= 8c).
             libmagickcore-6.q16-3:arm64 depends on libjpeg8 (>= 8c).
             libqtgui4:arm64 depends on libjpeg8 (>= 8c).
             xloadimage depends on libjpeg8 (>= 8c).
            
            

            If I try to install only what I need:

            sudo apt-get install libjpeg8 libjpeg8-dev
            Reading package lists... Done
            Building dependency tree       
            Reading state information... Done
            You might want to run 'apt --fix-broken install' to correct these.
            The following packages have unmet dependencies:
             libcupsimage2-dev : Depends: libjpeg-dev
                                 Recommends: libcupsfilters-dev (>= 1.0~b1) but it is not going to be installed
             libjpeg8 : Depends: libjpeg-turbo8 (>= 1.1.90+svn722-1ubuntu6) but it is not going to be installed
             libjpeg8-dev : Depends: libjpeg-turbo8-dev (>= 1.1.90+svn722-1ubuntu6) but it is not going to be installed
             libtiff5-dev : Depends: libjpeg-dev
             nvidia-l4t-weston : Depends: libjpeg-turbo8 but it is not going to be installed
            E: Unmet dependencies. Try 'apt --fix-broken install' with no packages (or specify a solution).
            

            And if I install libjpeg-turbo8-dev:

            sudo apt-get install libjpeg-turbo8  libjpeg-turbo8-dev
            Reading package lists... Done
            Building dependency tree       
            Reading state information... Done
            You might want to run 'apt --fix-broken install' to correct these.
            The following packages have unmet dependencies:
             eog : Depends: libjpeg8 (>= 8c) but it is not going to be installed
             gstreamer1.0-gl : Depends: libjpeg8 (>= 8c) but it is not going to be installed
             gstreamer1.0-plugins-good : Depends: libjpeg8 (>= 8c) but it is not going to be installed
             libcupsfilters1 : Depends: libjpeg8 (>= 8c) but it is not going to be installed
             libdjvulibre21 : Depends: libjpeg8 (>= 8c) but it is not going to be installed
             libfreerdp2-2 : Depends: libjpeg8 (>= 8c) but it is not going to be installed
             libgd3 : Depends: libjpeg8 (>= 8c) but it is not going to be installed
             libgdk-pixbuf2.0-0 : Depends: libjpeg8 (>= 8c) but it is not going to be installed
             libgphoto2-6 : Depends: libjpeg8 (>= 8c) but it is not going to be installed
             libgs9 : Depends: libjpeg8 (>= 8c) but it is not going to be installed
             libgxps2 : Depends: libjpeg8 (>= 8c) but it is not going to be installed
             liblcms2-utils : Depends: libjpeg8 (>= 8c) but it is not going to be installed
             libmagickcore-6.q16-3 : Depends: libjpeg8 (>= 8c) but it is not going to be installed
             libmng2 : Depends: libjpeg8 (>= 8c) but it is not going to be installed
             libopencv : Depends: libjpeg8 (>= 8c) but it is not going to be installed
             libpoppler73 : Depends: libjpeg8 (>= 8c) but it is not going to be installed
             libqt5gui5 : Depends: libjpeg8 (>= 8c) but it is not going to be installed
             libqt5webkit5 : Depends: libjpeg8 (>= 8c) but it is not going to be installed
             libqtgui4 : Depends: libjpeg8 (>= 8c) but it is not going to be installed
             libraw16 : Depends: libjpeg8 (>= 8c) but it is not going to be installed
             libreoffice-core : Depends: libjpeg8 (>= 8c) but it is not going to be installed
             libsane1 : Depends: libjpeg8 (>= 8c) but it is not going to be installed
             libsdl-image1.2 : Depends: libjpeg8 (>= 8c) but it is not going to be installed
             libtiff5 : Depends: libjpeg8 (>= 8c) but it is not going to be installed
             libv4lconvert0 : Depends: libjpeg8 (>= 8c) but it is not going to be installed
             libvncclient1 : Depends: libjpeg8 (>= 8c) but it is not going to be installed
             libwebkit2gtk-4.0-37 : Depends: libjpeg8 (>= 8c) but it is not going to be installed
             libwmf0.2-7 : Depends: libjpeg8 (>= 8c) but it is not going to be installed
             libzbar0 : Depends: libjpeg8 (>= 8c) but it is not going to be installed
             netpbm : Depends: libjpeg8 (>= 8c) but it is not going to be installed
             sane-utils : Depends: libjpeg8 (>= 8c) but it is not going to be installed
             vino : Depends: libjpeg8 (>= 8c) but it is not going to be installed
             vlc-plugin-base : Depends: libjpeg8 (>= 8c) but it is not going to be installed
             xloadimage : Depends: libjpeg8 (>= 8c) but it is not going to be installed
            E: Unmet dependencies. Try 'apt --fix-broken install' with no packages (or specify a solution).
            
            
            1 Reply Last reply
            0
            • S Offline
              S Offline
              SGaist
              Lifetime Qt Champion
              wrote on 5 Oct 2020, 18:57 last edited by
              #6

              Sorry, it just realized I misread your issue.

              You built Qt successfully but have a problem with your application.

              Are you loading a specific file that triggers this error or does it happen for all jpeg files ?

              Interested in AI ? www.idiap.ch
              Please read the Qt Code of Conduct - https://forum.qt.io/topic/113070/qt-code-of-conduct

              U 1 Reply Last reply 5 Oct 2020, 19:03
              0
              • S SGaist
                5 Oct 2020, 18:57

                Sorry, it just realized I misread your issue.

                You built Qt successfully but have a problem with your application.

                Are you loading a specific file that triggers this error or does it happen for all jpeg files ?

                U Offline
                U Offline
                Ucn_
                wrote on 5 Oct 2020, 19:03 last edited by
                #7

                @SGaist Just camera and opencv however the same code runs well without problems on a Raspberry Pi with Qt 5.11.3

                U 1 Reply Last reply 5 Oct 2020, 19:07
                0
                • U Ucn_
                  5 Oct 2020, 19:03

                  @SGaist Just camera and opencv however the same code runs well without problems on a Raspberry Pi with Qt 5.11.3

                  U Offline
                  U Offline
                  Ucn_
                  wrote on 5 Oct 2020, 19:07 last edited by
                  #8

                  @SGaist I believe this libjpeg mismatch:

                  ldd myapp
                  .....
                  libjpeg.so.8 => /usr/lib/aarch64-linux-gnu/libjpeg.so.8 (0x0000007fa6283000)
                  .....
                  

                  and qt configure with -system-libjpeg

                  Checking for libjpeg... 
                  Trying source 0 (type inline) of library libjpeg ...
                    => source failed condition 'config.msvc'.
                  Trying source 1 (type inline) of library libjpeg ...
                  + cd /home/ath/Documents/SourceCode/qtBuild/config.tests/libjpeg && /home/ath/Documents/SourceCode/qtBuild/qtbase/bin/qmake "CONFIG -= qt debug_and_release app_bundle lib_bundle" "CONFIG += shared use_gold_linker warn_off console single_arch" 'QMAKE_USE += libjpeg' 'QMAKE_LIBS_LIBJPEG = /usr/lib/aarch64-linux-gnu/libjpeg.so' /home/ath/Documents/SourceCode/qtBuild/config.tests/libjpeg
                  + cd /home/ath/Documents/SourceCode/qtBuild/config.tests/libjpeg && MAKEFLAGS= /usr/bin/make
                  > g++ -c -pipe -O2 -w -fPIC  -I. -I/home/ath/Documents/SourceCode/qt12Source/qtbase/mkspecs/linux-g++ -o main.o main.cpp
                  > g++ -Wl,-O1 -fuse-ld=gold -o libjpeg main.o   /usr/lib/aarch64-linux-gnu/libjpeg.so   
                   => source accepted.
                  test config.qtbase_gui.libraries.libjpeg succeeded
                  
                  1 Reply Last reply
                  0
                  • S Offline
                    S Offline
                    SGaist
                    Lifetime Qt Champion
                    wrote on 5 Oct 2020, 20:13 last edited by
                    #9

                    libjpeg.so is likely a symbolic link to libjpeg.so.8

                    Interested in AI ? www.idiap.ch
                    Please read the Qt Code of Conduct - https://forum.qt.io/topic/113070/qt-code-of-conduct

                    U 1 Reply Last reply 5 Oct 2020, 20:32
                    0
                    • S SGaist
                      5 Oct 2020, 20:13

                      libjpeg.so is likely a symbolic link to libjpeg.so.8

                      U Offline
                      U Offline
                      Ucn_
                      wrote on 5 Oct 2020, 20:32 last edited by
                      #10
                      This post is deleted!
                      U 1 Reply Last reply 5 Oct 2020, 20:35
                      0
                      • U Ucn_
                        5 Oct 2020, 20:32

                        This post is deleted!

                        U Offline
                        U Offline
                        Ucn_
                        wrote on 5 Oct 2020, 20:35 last edited by Ucn_ 10 May 2020, 20:36
                        #11

                        This is the one installing

                        sudo apt-get build-dep qt5-default
                        
                        The following NEW packages will be installed:
                        default-libmysqlclient-dev dh-exec firebird-dev firebird3.0-common firebird3.0-common-doc freetds-common freetds-dev libatk-bridge2.0-dev
                          libatk1.0-dev libatspi2.0-dev libcairo-script-interpreter2 libcairo2-dev libct4 libcups2-dev libcupsimage2-dev libdbus-1-dev
                          libdouble-conversion-dev libepoxy-dev libevdev-dev libfbclient2 libfontconfig1-dev libfreetype6-dev libgbm-dev libgdk-pixbuf2.0-dev
                          libgtk-3-dev libib-util libinput-dev libjbig-dev libjpeg-dev libjpeg-turbo8-dev libjpeg8-dev liblzma-dev libmtdev-dev libmysqlclient-dev
                          libodbc1 libpango1.0-dev libpixman-1-dev libpng-dev libpq-dev libpq5 libproxy-dev libpulse-dev libqt5designercomponents5 libqt5sql5-sqlite
                          libsqlite3-dev libssl-dev libsybdb5 libtiff-dev libtiff5-dev libtiffxx5 libtommath1 libudev-dev libwacom-dev libxcb-icccm4-dev
                          libxcb-image0-dev libxcb-keysyms1-dev libxcb-render-util0-dev libxcb-shm0-dev libxcb-xinerama0-dev libxcb-xkb-dev libxcomposite-dev
                          libxcursor-dev libxft-dev libxinerama-dev libxkbcommon-dev libxkbcommon-x11-dev libxtst-dev odbcinst odbcinst1debian2 pkg-kde-tools
                          qt5-assistant qttools5-dev-tools unixodbc-dev wayland-protocols x11proto-composite-dev x11proto-record-dev x11proto-xinerama-dev
                        
                        
                        1 Reply Last reply
                        0
                        • S Offline
                          S Offline
                          SGaist
                          Lifetime Qt Champion
                          wrote on 6 Oct 2020, 18:28 last edited by
                          #12

                          So everything looks correct...

                          How are you loading your image in your application ?

                          Interested in AI ? www.idiap.ch
                          Please read the Qt Code of Conduct - https://forum.qt.io/topic/113070/qt-code-of-conduct

                          1 Reply Last reply
                          0

                          2/12

                          5 Oct 2020, 17:59

                          10 unread
                          • Login

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