Compiling QT 4.4.1 under PGI 8.0

I am trying to build QT 4.4.1 using PGI 8.0 and get the following error.
I’m using “./configure -platform linux-pgcc” and have added the PGI include
and lib path to the qmake.conf found under mkspecs\linux-pgcc. Any suggestions?


“…/…/corelib/io/qfsfileengine_iterator_unix.cpp”, line 53: error #393:
pointer to incomplete class type is not allowed
currentEntry = platform->dirEntry ? QFile::decodeName(QByteArray(platform->dirEntry->d_name)) : QString();
^

“…/…/corelib/io/qfsfileengine_iterator_unix.cpp”, line 53: error #348: more
than one user-defined conversion from “” to “QString”
applies:
currentEntry = platform->dirEntry ? QFile::decodeName(QByteArray(platform->dirEntry->d_name)) : QString();
^

“…/…/corelib/io/qfsfileengine_iterator_unix.cpp”, line 70: warning #414-D:
delete of pointer to incomplete class
delete platform->mt_file

Hi ikon,

I went Qt Software’s web site this morning and downloaded the latest open source version 4.5.1. While I did encounter some configurations issues, the file you list above compiled fine. Can you please try the latest version of Qt to see if you are able to proceed farther?

Note, I’m still working though configuration issues but so far have make the following changes. I don’t know if these would be considered correct by the Qt developers, so keep this in mind.

  1. Update mkspecs/linux-pgcc/qmake.conf to include “-D_GNU_SOURCE --no_using_std” in the C++ flags list:

QMAKE_CXXFLAGS = -D_GNU_SOURCE --no_using_std

  1. Update line 1541 of src/corelib/global/qglobal.h to:

define Q_FUNC_INFO FILE

Note that is just quick work a round and not the best fix.

  1. Update line 111 of src/corelib/arch/qatomic_x86_64.h to include PGI

#if defined(Q_CC_GNU) || defined(Q_CC_INTEL) || defined(Q_CC_PGI)

I should have more information tomorrow after my build completes and I’m able to do more testing.

  • Mat