Uploaded image for project: 'Qt'
  1. Qt
  2. QTBUG-6576

Qt fails to compile on HP-UX 11.11 64-bit

    XMLWordPrintable

Details

    • Bug
    • Resolution: Done
    • Not Evaluated
    • 4.6.1
    • 4.5.2
    • Build tools: qmake
    • None
    • 7a3c595421b98087da638a5e706320d0d936d828

    Description

      Hello,

      I tried to compile Qt 4.5.2 on an old HP-UX 11.11 in 64-bit mode and I faced some issues.

      $ uname -a
      HP-UX lima B.11.11 U 9000/800 2286771896 unlimited-user licence

      To achieve this compilation here is the environment I'm using:

      Gnu Tools:
      export PATH=/usr/local/tools/32bits/make/3.80/bin:/usr/local/tools/32bits/gzip/1.2.4/bin:/usr/local/tools/32bits/tar/1.14/bin:$PATH

      GCC / BinUtils:
      export PATH=/usr/local/tools/64bits/gcc/4.2.2/bin:$PATH
      export SHLIB_PATH=/usr/local/tools/64bits/gcc/4.2.2/lib:$SHLIB_PATH
      export COMPILER_PATH=/usr/local/tools/64bits/binutils/2.15/bin

      $ gcc -v
      Using built-in specs.
      Target: hppa64-hp-hpux11.11
      Configured with: ../gcc-4.2.2/configure --prefix=/usr/local/tools/64bits/gcc/4.2.2 --with-ld=/usr/bin/ld --disable-nls --enable-languages=c,c++ --enable-threads --host=hppa64-hp-hpux11.11 --with-gnu-as
      Thread model: posix
      gcc version 4.2.2

      If you wonder why I use this gcc with this version of binutils, it's very simple: I tried several combinaisons between gcc and binutils, and gcc 4.2.2 / binutils 2.15 is the only one able to achieve the compilation (especially without dozens of assembly compilation errors).

      And finally, the configure command I used:

      ./configure -platform hpux-g++-64 -prefix /usr/local/tools/64bits/qt/4.5.2/dynamic -no-separate-debug-info -no-openssl -no-largefile -release -no-qt3support -shared -no-svg -no-webkit -no-nis -no-cups -no-dbus -no-opengl -no-sm -no-xshape -no-xinerama -no-xcursor -no-xfixes -no-xrandr -no-xrender -no-fontconfig -no-xkb -no-glib -qt-zlib -fast -nomake examples -nomake demos -nomake doc

      After a few minutes, I've got the first compilation error on an assembly file:

      gcc -c -g -Wall -W -D_POSIX_C_SOURCE=199506L -D_HPUX_SOURCE -fPIC -DQT_SHARED -DQT_EDITION=QT_EDITION_DESKTOP -DQT_BUILD_CORE_LIB -DQT_NO_USING_NAMESPACE -DQT_NO_CAST_TO_ASCII -DQT_ASCII_CAST_WARNINGS -DQT_MOC_COMPAT -DHB_EXPORT=Q_CORE_EXPORT -I../../mkspecs/hpux-g++-64 -I. -I../../include -I../../include/QtCore -I.rcc/debug-shared -Iglobal -I../3rdparty/zlib -I../3rdparty/harfbuzz/src -I.moc/debug-shared -o .obj/debug-shared/q_ldcw.o arch/parisc/q_ldcw.s
      arch/parisc/q_ldcw.s: Assembler messages:
      arch/parisc/q_ldcw.s:2: Error: unknown pseudo-op: `.subspa'
      arch/parisc/q_ldcw.s:3: Error: unknown pseudo-op: `.subspa'
      arch/parisc/q_ldcw.s:5: Error: unknown pseudo-op: `.subspa'
      arch/parisc/q_ldcw.s:6: Error: unknown pseudo-op: `.subspa'
      arch/parisc/q_ldcw.s:10: Error: unknown pseudo-op: `.subspa'

      I have no special skill on PA-RISC assembly, but I found a workaround with native cc compiler:

      cc +DS2.0 +DA2.0W -c ./src/corelib/arch/parisc/q_ldcw.s -o ./src/corelib/.obj/release-shared/q_ldcw.o

      It works, and I can achieve the complete complation.

      Now the runtime part:

      Even the compilation ended with success, when I try to use a program using tcpSocket I've got the following error:

      QNativeSocketEngine::listen() was called by a socket other than QabstractSocket::TcpSocket

      After a few researches in Qt sources, I found that the problem seems to be located in the
      src/network/socket/qnativesocketengine.cpp file inside the QnativeSocketEngine::listen() method.

      In fact, and I don't know why, but d->socketType = -1 on hp parisc. The correct value should be « QAbstractSocket::TcpSocket ».

      If you want to reproduce this issue, you will find a sample (testQt.tgz) attached to this report.

      Second attachment (patch-qt-4.5.2-h641111-sended.diff): it includes all modifications needed to compile qt 4.5.2 on such HP system.

      Feel free to request for more information or testing!

      Attachments

        1. patch-qt-4.5.2-h641111-sended.diff
          2 kB
          Tristan Chabredier
        2. testQt.tgz
          1 kB
          Tristan Chabredier
        No reviews matched the request. Check your Options in the drop-down menu of this sections header.

        Activity

          People

            tmacieir Thiago Macieira (closed Nokia identity) (Inactive)
            tc@4js.com Tristan Chabredier
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Gerrit Reviews

                There are no open Gerrit changes