Qt4 Build Notes

Qt4 Build Process

 ./configure --prefix=[install dir] -make libs -make tools -fast -no-separate-debug-info -no-qt3support -no-dbus -no-sql-mysql -no-sql-sqlite 
 make -j4
 make install

AIX Build Notes

  • If the OBJECT_MODE environment variable is set to 64-bit a default configure of Qt will cause xlc to error out with messages similar to the following:
 arch/powerpc/qatomic32.s: line 10: Only .llong should be used for relocatable expressions.

To get around this unset object mode before calling configure:

unsetenv OBJECT_MODE (tcsh)
unset    OBJECT_MODE (bash)
./configure [options from above]

If you actually want to build in 64-bit mode, specify:

-platform aix-xlc-64
  • The following Qt Libs do not currently build with xlc
    • DBus
    • Phonon
    • SQL plugins (MySql,Sqlite)
    • WebKit
    • XMLPatterns

  • xlc creates shared libs with a .a suffix (even though versioned shared libs have a .so suffix). VisIt wants the libs to have .so suffixes, so create appropriate symlinks for your installed Qt libs:
cd [install dir]/lib
for f in *.a; do ln -s $f ${f%\.*}.so; done

Linux Build Notes

  • On Linux the QtUiTools library is build as static library (.a) and this causes linking problems. We should either find out how to resolve this linking issue, or have build_visit create a dynamic version of this library when build Qt4. (I think Brad fixed this by shifting the link order in the gui exe makefile?)
  • If you want a 64-bit build make sure you explicitly specify it with:
-platform linux-g++-64

Hoth configure line

The b-div hoth Linux box required some tweaks because it is old. I had to disable kerberos 5, tiff, mng.

./configure --prefix=/misc/gapps/visit/qt/4.4.3/linux_rhel3_gcc_3.2.3 -make libs -make tools -fast -no-separate-debug-info \
 -no-qt3support -no-dbus -no-sql-mysql -no-sql-sqlite -DOPENSSL_NO_KRB5 -no-libtiff -no-libmng

Solaris Build Nodes

  • Apparently, Qt 4 will not build on Solaris with gcc 3.2 (Ref)
  • I am running into a configure error with both gcc 2.95.2 and 3.2:
"src/corelib/io/qfsfileengine_unix.cpp", line 564: Error: The left operand cannot be assigned to.
"src/corelib/io/qfsfileengine_unix.cpp", line 565: Error: The left operand cannot be assigned to.

Build Progress

System Network Install Location Status
atlas (linux-chaos-x86) OCF /usr/gapps/visit/qt/4.4.3/chaos_4_x86_64_gcc_4.1.2/ Installed
up (aix) OCF /usr/gapps/visit/qt/4.4.3/aix_5_xlc_64/ Installed
davinci (ia64) NERSC /project/projectdirs/visit/visit_3rdparty/qt/4.4.3/linux-ia64_gcc-4.1.2/ Installed
hoth (linux-rhel3) B-Div /usr/gapps/visit/qt/4.4.3/linux_rhel3_gcc_3.2.3/ Installed
thunder (linux-chaos-ia64) OCF /usr/gapps/visit/qt/4.4.0/chaos_3_ia64_elan4_gcc_3.4.4/ Installed
sunburn (solaris) B-Div ? Problem configuring