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

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.0k 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.
  • 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
    
    JonBJ Offline
    JonBJ Offline
    JonB
    wrote on last edited by
    #17

    @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 1 Reply Last reply
    0
    • 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