Details
-
Bug
-
Resolution: Out of scope
-
P4: Low
-
4.3.4
-
None
Description
Qt 4.3.4 does not build with the system compiler on FreeBSD, it bails out while building the PostgreSQL driver with the following error
g++ -c -pipe -g -I/usr/local/include -O2 -pthread -D_THREAD_SAFE -Wall
-W -fPIC -DQT_EDITION=QT_EDITION_DESKTOP -DQT_NO_CAST_TO_ASCII -
DQT_NO_CAST_FROM_ASCII -DQT_NO_DEBUG -DQT_PLUGIN -DQT_SQL_LIB -
DQT_CORE_LIB -D_LARGEFILE64_SOURCE -D_LARGEFILE_SOURCE -DQT_SHARED -
I../../../../mkspecs/freebsd-g++ -I. -I../../../../include/QtCore -
I../../../../include/QtCore -I../../../../include/QtSql -I../../../../
include/QtSql -I../../../../include -I.moc/release-shared -I.uic/
release-shared -I/usr/local/include -o .obj/release-shared/main.o
main.cpp
In file included from /usr/local/include/QtCore/qatomic.h:45,
from /usr/local/include/QtCore/qvariant.h:42,
from /usr/local/include/QtSql/qsqlresult.h:42,
from ../../../sql/drivers/psql/qsql_psql.h:25,
from main.cpp:24:
/usr/local/include/QtCore/qatomic_arch.h:75:4: #error "Qt has not been
ported to this architecture"
In file included from /usr/local/include/QtCore/qatomic.h:45,
from /usr/local/include/QtCore/qvariant.h:42,
from /usr/local/include/QtSql/qsqlresult.h:42,
from ../../../sql/drivers/psql/qsql_psql.h:25,
from main.cpp:24:
/usr/local/include/QtCore/qatomic_arch.h:44: error: `QT_BEGIN_HEADER'
does not name a type
In file included from /usr/local/include/QtCore/qvariant.h:42,
from /usr/local/include/QtSql/qsqlresult.h:42,
from ../../../sql/drivers/psql/qsql_psql.h:25,
from main.cpp:24:
/usr/local/include/QtCore/qatomic.h:181: error: expected class-name
before '{' token
/usr/local/include/QtCore/qatomic.h: In constructor
`QAtomic::QAtomic(int)':
/usr/local/include/QtCore/qatomic.h:184: error: `init' was not
declared in this scope
/usr/local/include/QtCore/qatomic.h:184: warning: unused variable 'init'
/usr/local/include/QtCore/qatomic.h: In copy constructor
`QAtomic::QAtomic(const QAtomic&)':
/usr/local/include/QtCore/qatomic.h:186: error: `init' was not
declared in this scope
/usr/local/include/QtCore/qatomic.h:186: warning: unused variable 'init'
/usr/local/include/QtCore/qatomic.h: In member function `QAtomic&
QAtomic::operator=(int)':
/usr/local/include/QtCore/qatomic.h:190: error: `QBasicAtomic' has not
been declared
/usr/local/include/QtCore/qatomic.h: In member function `QAtomic&
QAtomic::operator=(const QAtomic&)':
/usr/local/include/QtCore/qatomic.h:196: error: `QBasicAtomic' has not
been declared
In file included from /usr/local/include/QtCore/qvariant.h:43,
from /usr/local/include/QtSql/qsqlresult.h:42,
from ../../../sql/drivers/psql/qsql_psql.h:25,
from main.cpp:24:
/usr/local/include/QtCore/qatomic.h: At global scope:
/usr/local/include/QtCore/qatomic.h:266: error: `QT_END_HEADER' does
not name a type
...
Update:
The basic problem is that the configure script is putting the local
/usr/local/include location earlier than the build-local include
directories in the compile line. The submitter of task 201483 has
installed another Qt version from FreeBSD's ports or packages, and the
build system for the postgreSQL driver is picking up the 4.3 headers.
Examining the built Makefile will show that there is a
-I/usr/local/include in the CXXFLAGS, rather than being limited to the
INCPATH variable.