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. How to install Qt for 32-bit compilation on an Ubuntu x86_64 machine
Forum Updated to NodeBB v4.3 + New Features

How to install Qt for 32-bit compilation on an Ubuntu x86_64 machine

Scheduled Pinned Locked Moved Solved Installation and Deployment
27 Posts 4 Posters 5.5k Views
  • 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.
  • JonBJ JonB

    @JonexElectronic
    OK, so you must be getting somewhere! It must indeed be some 32-bit on 64-bit issue.

    For which I remind you I wrote initially

    I will just say that I played around trying to do this a year or so ago, and gave up, couldn't be bothered. It seemed a lot simpler to just compile for 64-bit. My recollection is you had to get so much 32-bit stuff for system libraries it was a pain

    Best of luck then, because I found it too difficult....

    J Offline
    J Offline
    JonexElectronic
    wrote on last edited by
    #18

    @JonB Thanks, I will share all process

    1 Reply Last reply
    0
    • J JonexElectronic

      @JonB
      Yes it exist

      ls -l /lib/ld-linux.so.2
      lrwxrwxrwx 1 root root 25 abr 21  2021 /lib/ld-linux.so.2 -> i386-linux-gnu/ld-2.23.so
      
      

      Also I tried to install more things from apt

      sudo apt-get install libc6:i386 libncurses5:i386 libstdc++6:i386
      
      

      Now it gives me the next error

      sudo ./qt-opensource-linux-x86-5.5.1.run 
      ./qt-opensource-linux-x86-5.5.1.run: error while loading shared libraries: libX11.so.6: cannot open shared object file: No such file or directory
      
      

      I Installed

      $ sudo apt-get install libx11-6:i386 
      

      And...

      $./qt-opensource-linux-x86-5.5.1.run ./qt-opensource-linux-x86-5.5.1.run: error while loading shared libraries: libX11-xcb.so.1: cannot open shared object file: No such file or directory
      

      Install

      sudo apt-get install libx11-xcb1:i386
      

      and..

      error while loading shared libraries: libfontconfig.so.1: cannot open shared object file: No such file or directory
      

      Install:

      sudo apt-get install libfontconfig1:i386
      

      and..

      ./qt-opensource-linux-x86-5.5.1.run
      Could not register file downloader for https protocol: QSslSocket::supportsSsl() returns false
      [9] Warning: QSslSocket: cannot call unresolved function d2i_X509
      [9] Warning: QSslSocket: cannot call unresolved function d2i_X509
      [9] Warning: QSslSocket: cannot call unresolved function d2i_X509
      Segmentation fault (core dumped)
      

      I Tried to solve with:

      sudo apt-get install libssl1.0.0:i386
      sudo apt-get install libssl-dev:i386
      

      and..

      lt-light@ltlight-NF894:~$ sudo ./Desktop/qt-opensource-linux-x86-5.5.1.run 
      qt.network.ssl: QSslSocket: cannot resolve SSLv2_client_method
      qt.network.ssl: QSslSocket: cannot resolve SSLv2_server_method
      Segmentation fault (core dumped)
      
      

      Tried

      sudo apt-get update
      sudo apt-get install libutil1:i386
      sudo apt-get install libx11-6:i386
      sudo apt-get install libx11-xcb1:i386
      sudo apt-get install libxcb1:i386
      sudo apt-get install libfontconfig1:i386
      sudo apt-get install libfreetype6:i386
      sudo apt-get install libdl2:i386
      sudo apt-get install librt1:i386
      sudo apt-get install libpthread0:i386
      sudo apt-get install libstdc++6:i386
      sudo apt-get install libm6:i386
      sudo apt-get install libgcc1:i386
      sudo apt-get install libc6:i386
      sudo apt-get install libxau6:i386
      sudo apt-get install libxdmcp6:i386
      sudo apt-get install libexpat1:i386
      sudo apt-get install libz1:i386
      sudo apt-get install libpng12-0:i386
      
      jsulmJ Offline
      jsulmJ Offline
      jsulm
      Lifetime Qt Champion
      wrote on last edited by
      #19

      @JonexElectronic said in How to install Qt for 32-bit compilation on an Ubuntu x86_64 machine:

      libX11.so.6

      You would need to also install 32bit version of this lib. Maybe there is a way to install without opening UI? Can you try

      ./qt-opensource-linux-x86-5.5.1.run -h
      

      to see what parameters it supports?

      https://forum.qt.io/topic/113070/qt-code-of-conduct

      J 1 Reply Last reply
      0
      • jsulmJ jsulm

        @JonexElectronic said in How to install Qt for 32-bit compilation on an Ubuntu x86_64 machine:

        libX11.so.6

        You would need to also install 32bit version of this lib. Maybe there is a way to install without opening UI? Can you try

        ./qt-opensource-linux-x86-5.5.1.run -h
        

        to see what parameters it supports?

        J Offline
        J Offline
        JonexElectronic
        wrote on last edited by JonexElectronic
        #20

        @jsulm
        After many installations, I have:

        ./qt-opensource-linux-x86-5.5.1.run -h
        Usage: ./qt-opensource-linux-x86-5.5.1.run [options] Key=Value
        
        Options:
          -h, --help                           Displays this help.
          --version                            Displays version information.
          --framework-version                  Displays the version of the Qt Installer
                                               Framework.
          -v, --verbose                        Verbose mode. Prints out more
                                               information.
          --proxy                              Use system proxy on Windows and Linux.
                                               This option has no effect on OS X.
          --script <file>                      Execute the script given as argument.
          --checkupdates                       Check for updates and return an XML
                                               description.
          --updater                            Start application in updater mode.
          --manage-packages                    Start application in package manager
                                               mode.
          --no-force-installations             Allow deselecting components that are
                                               marked as forced.
          --show-virtual-components            Show virtual components in installer and
                                               package manager.
          --logging-rules <rules>              Enables logging according to passed
                                               rules. Comma separated logging rules have
                                               the following syntax:
                                               loggingCategory=true/false. Passing empty
                                               logging rules enables all logging
                                               categories. The following rules enable a
                                               single category:
                                               ifw.*=false,ifw.category=true The
                                               following logging categories are
                                               available:
                                               ifw.componentChecker
                                               ifw.resources
                                               ifw.translations
          --create-local-repository            Create a local repository inside the
                                               installation directory. This option has
                                               no effect on online installers.
          --addRepository <URI,...>            Add a local or remote repository to the
                                               list of user defined repositories.
          --addTempRepository <URI,...>        Add a local or remote repository to the
                                               list of temporary available repositories.
          --setTempRepository <URI,...>        Set a local or remote repository as
                                               temporary repository, it is the only one
                                               used during fetch.
                                               Note: URI must be prefixed with the
                                               protocol, i.e. file:///, https://,
                                               http:// or ftp://.
          --startserver <mode,socketname,key>  Starts the application as headless
                                               process waiting for commands to execute.
                                               Mode can be DEBUG or PRODUCTION. In DEBUG
                                               mode, the option values can be
                                               omitted.Note: The server will not
                                               shutdown on his own, you need to quit the
                                               process by hand.
          --startclient <socketname,key>       Starts the application to debug the
                                               client-server communication. If a value
                                               is omitted, the client will use a default
                                               instead. Note: The server process is not
                                               started by the client application in that
                                               case, you need to start it on your own.
        
        Arguments:
          Key=Value                            Key Value pair to be set.
        
        

        How could I Install?

        JonBJ 1 Reply Last reply
        0
        • J JonexElectronic

          @jsulm
          After many installations, I have:

          ./qt-opensource-linux-x86-5.5.1.run -h
          Usage: ./qt-opensource-linux-x86-5.5.1.run [options] Key=Value
          
          Options:
            -h, --help                           Displays this help.
            --version                            Displays version information.
            --framework-version                  Displays the version of the Qt Installer
                                                 Framework.
            -v, --verbose                        Verbose mode. Prints out more
                                                 information.
            --proxy                              Use system proxy on Windows and Linux.
                                                 This option has no effect on OS X.
            --script <file>                      Execute the script given as argument.
            --checkupdates                       Check for updates and return an XML
                                                 description.
            --updater                            Start application in updater mode.
            --manage-packages                    Start application in package manager
                                                 mode.
            --no-force-installations             Allow deselecting components that are
                                                 marked as forced.
            --show-virtual-components            Show virtual components in installer and
                                                 package manager.
            --logging-rules <rules>              Enables logging according to passed
                                                 rules. Comma separated logging rules have
                                                 the following syntax:
                                                 loggingCategory=true/false. Passing empty
                                                 logging rules enables all logging
                                                 categories. The following rules enable a
                                                 single category:
                                                 ifw.*=false,ifw.category=true The
                                                 following logging categories are
                                                 available:
                                                 ifw.componentChecker
                                                 ifw.resources
                                                 ifw.translations
            --create-local-repository            Create a local repository inside the
                                                 installation directory. This option has
                                                 no effect on online installers.
            --addRepository <URI,...>            Add a local or remote repository to the
                                                 list of user defined repositories.
            --addTempRepository <URI,...>        Add a local or remote repository to the
                                                 list of temporary available repositories.
            --setTempRepository <URI,...>        Set a local or remote repository as
                                                 temporary repository, it is the only one
                                                 used during fetch.
                                                 Note: URI must be prefixed with the
                                                 protocol, i.e. file:///, https://,
                                                 http:// or ftp://.
            --startserver <mode,socketname,key>  Starts the application as headless
                                                 process waiting for commands to execute.
                                                 Mode can be DEBUG or PRODUCTION. In DEBUG
                                                 mode, the option values can be
                                                 omitted.Note: The server will not
                                                 shutdown on his own, you need to quit the
                                                 process by hand.
            --startclient <socketname,key>       Starts the application to debug the
                                                 client-server communication. If a value
                                                 is omitted, the client will use a default
                                                 instead. Note: The server process is not
                                                 started by the client application in that
                                                 case, you need to start it on your own.
          
          Arguments:
            Key=Value                            Key Value pair to be set.
          
          

          How could I Install?

          JonBJ Offline
          JonBJ Offline
          JonB
          wrote on last edited by
          #21

          @JonexElectronic
          I don't understand whether/how you say you have got it to run now.

          If you still need help identifying missing 32-bit libraries I would try following https://superuser.com/a/908417, copying ldd and changing it along the lines of

          Changing this line to RTLDLIST="/lib32/ld-linux.so.2 /lib64/..." immediately fixed the problem.

          J 1 Reply Last reply
          0
          • JonBJ JonB

            @JonexElectronic
            I don't understand whether/how you say you have got it to run now.

            If you still need help identifying missing 32-bit libraries I would try following https://superuser.com/a/908417, copying ldd and changing it along the lines of

            Changing this line to RTLDLIST="/lib32/ld-linux.so.2 /lib64/..." immediately fixed the problem.

            J Offline
            J Offline
            JonexElectronic
            wrote on last edited by
            #22

            @JonB I do not understand what you said. where should I change it?

            JonBJ 1 Reply Last reply
            0
            • J JonexElectronic

              @JonB I do not understand what you said. where should I change it?

              JonBJ Offline
              JonBJ Offline
              JonB
              wrote on last edited by
              #23

              @JonexElectronic
              I do not understand what you don't understand!? That post says to (copy and) make a change to the ldd script file, and then run that changed copy against your executable.

              J 2 Replies Last reply
              0
              • JonBJ JonB

                @JonexElectronic
                I do not understand what you don't understand!? That post says to (copy and) make a change to the ldd script file, and then run that changed copy against your executable.

                J Offline
                J Offline
                JonexElectronic
                wrote on last edited by
                #24

                @JonB
                Done, rebooted and the same problem

                1 Reply Last reply
                0
                • JonBJ JonB

                  @JonexElectronic
                  I do not understand what you don't understand!? That post says to (copy and) make a change to the ldd script file, and then run that changed copy against your executable.

                  J Offline
                  J Offline
                  JonexElectronic
                  wrote on last edited by JonexElectronic
                  #25

                  @JonB @jsulm
                  I had othe pc where this was installed originally. And when I execute:

                  $ ldd qt-opensource-linux-x86-5.5.1.run 
                  	linux-gate.so.1 =>  (0xf7edf000)
                  	libutil.so.1 => /lib/i386-linux-gnu/libutil.so.1 (0xf7eb0000)
                  	libX11.so.6 => /usr/lib/i386-linux-gnu/libX11.so.6 (0xf7d65000)
                  	libX11-xcb.so.1 => /usr/lib/i386-linux-gnu/libX11-xcb.so.1 (0xf7d62000)
                  	libxcb.so.1 => /usr/lib/i386-linux-gnu/libxcb.so.1 (0xf7d3c000)
                  	libfontconfig.so.1 => /usr/lib/i386-linux-gnu/libfontconfig.so.1 (0xf7cf2000)
                  	libfreetype.so.6 => /usr/lib/i386-linux-gnu/libfreetype.so.6 (0xf7c42000)
                  	libdl.so.2 => /lib/i386-linux-gnu/libdl.so.2 (0xf7c3d000)
                  	librt.so.1 => /lib/i386-linux-gnu/librt.so.1 (0xf7c34000)
                  	libpthread.so.0 => /lib/i386-linux-gnu/libpthread.so.0 (0xf7c17000)
                  	libstdc++.so.6 => /usr/lib/i386-linux-gnu/libstdc++.so.6 (0xf7a9f000)
                  	libm.so.6 => /lib/i386-linux-gnu/libm.so.6 (0xf7a4a000)
                  	libgcc_s.so.1 => /lib/i386-linux-gnu/libgcc_s.so.1 (0xf7a2d000)
                  	libc.so.6 => /lib/i386-linux-gnu/libc.so.6 (0xf7876000)
                  	/lib/ld-linux.so.2 (0xf7ee1000)
                  	libXau.so.6 => /usr/lib/i386-linux-gnu/libXau.so.6 (0xf7872000)
                  	libXdmcp.so.6 => /usr/lib/i386-linux-gnu/libXdmcp.so.6 (0xf786a000)
                  	libexpat.so.1 => /lib/i386-linux-gnu/libexpat.so.1 (0xf7840000)
                  	libz.so.1 => /lib/i386-linux-gnu/libz.so.1 (0xf7825000)
                  	libpng12.so.0 => /lib/i386-linux-gnu/libpng12.so.0 (0xf77fa000)
                  
                  JonBJ 1 Reply Last reply
                  0
                  • J JonexElectronic

                    @JonB @jsulm
                    I had othe pc where this was installed originally. And when I execute:

                    $ ldd qt-opensource-linux-x86-5.5.1.run 
                    	linux-gate.so.1 =>  (0xf7edf000)
                    	libutil.so.1 => /lib/i386-linux-gnu/libutil.so.1 (0xf7eb0000)
                    	libX11.so.6 => /usr/lib/i386-linux-gnu/libX11.so.6 (0xf7d65000)
                    	libX11-xcb.so.1 => /usr/lib/i386-linux-gnu/libX11-xcb.so.1 (0xf7d62000)
                    	libxcb.so.1 => /usr/lib/i386-linux-gnu/libxcb.so.1 (0xf7d3c000)
                    	libfontconfig.so.1 => /usr/lib/i386-linux-gnu/libfontconfig.so.1 (0xf7cf2000)
                    	libfreetype.so.6 => /usr/lib/i386-linux-gnu/libfreetype.so.6 (0xf7c42000)
                    	libdl.so.2 => /lib/i386-linux-gnu/libdl.so.2 (0xf7c3d000)
                    	librt.so.1 => /lib/i386-linux-gnu/librt.so.1 (0xf7c34000)
                    	libpthread.so.0 => /lib/i386-linux-gnu/libpthread.so.0 (0xf7c17000)
                    	libstdc++.so.6 => /usr/lib/i386-linux-gnu/libstdc++.so.6 (0xf7a9f000)
                    	libm.so.6 => /lib/i386-linux-gnu/libm.so.6 (0xf7a4a000)
                    	libgcc_s.so.1 => /lib/i386-linux-gnu/libgcc_s.so.1 (0xf7a2d000)
                    	libc.so.6 => /lib/i386-linux-gnu/libc.so.6 (0xf7876000)
                    	/lib/ld-linux.so.2 (0xf7ee1000)
                    	libXau.so.6 => /usr/lib/i386-linux-gnu/libXau.so.6 (0xf7872000)
                    	libXdmcp.so.6 => /usr/lib/i386-linux-gnu/libXdmcp.so.6 (0xf786a000)
                    	libexpat.so.1 => /lib/i386-linux-gnu/libexpat.so.1 (0xf7840000)
                    	libz.so.1 => /lib/i386-linux-gnu/libz.so.1 (0xf7825000)
                    	libpng12.so.0 => /lib/i386-linux-gnu/libpng12.so.0 (0xf77fa000)
                    
                    JonBJ Offline
                    JonBJ Offline
                    JonB
                    wrote on last edited by JonB
                    #26

                    @JonexElectronic
                    Well at least that gives you an idea of what libraries you will want. I was hoping the (changed) ldd might give you similar on the new system.

                    Anyway, at this point maybe you have gotten all of those dependencies for the new system? If all you are left with now is SSL library errors I think those might only be dynamically loaded as needed at runtime, you might be close. You need an SSL expert (for Qt 5.5/Ubuntu 16) to tell you what you need to do for that, I don't know....

                    J 1 Reply Last reply
                    0
                    • JonBJ JonB

                      @JonexElectronic
                      Well at least that gives you an idea of what libraries you will want. I was hoping the (changed) ldd might give you similar on the new system.

                      Anyway, at this point maybe you have gotten all of those dependencies for the new system? If all you are left with now is SSL library errors I think those might only be dynamically loaded as needed at runtime, you might be close. You need an SSL expert (for Qt 5.5/Ubuntu 16) to tell you what you need to do for that, I don't know....

                      J Offline
                      J Offline
                      JonexElectronic
                      wrote on last edited by
                      #27

                      @JonB @jsulm
                      I finally got it. Simply run the following commands:

                      sudo dpkg --add-architecture i386
                      sudo apt-get update
                      sudo apt-get install libc6:i386 libstdc++6:i386
                      

                      I also installed the following packages from apt

                      sudo apt-get install qtbase5-dev:i386 qtmultimedia5-dev:i386
                      

                      Now everything is working perfectly.

                      1 Reply Last reply
                      2
                      • J JonexElectronic has marked this topic as solved on

                      • Login

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