|  | Home · All Classes · Main Classes · Grouped Classes · Modules · Functions |

# Platform Notes - X11

This page contains information about the X11 platforms Qt is currently known to run on, with links to platform-specific notes.

- AIX - 5.1 or later
- FreeBSD - 6.0-RELEASE
- HP-UX PA-RISC - B.11.xx or later

- 64 bit
- HP-UX 11.*
- HP-UX 11.*
- HP-UX 11.* designer crash when using exceptions
- HP-UX 11.11
- libXmu
- GCC 3.* on HP-UX

- IRIX - 6.5.x
- Linux

- Installation problems

- Solaris - 9 or later

- CC on Solaris
- GCC on Solaris
- Solaris 2.6

## AIX - 5.1 or later

Qt has been built on a range of versions from 5.1 upwards, using both the AIX and GCC compilers.

Compiler | Notes
--- | ---
xlC | If Qt is built correctly but all symbols are reported to be missing when you link an application, your makeC++SharedLib script might be out of date. Make sure you have the latest version from the IBM website.
GCC | We have tested Qt 4 successfully with GCC version 3.3 and above. Some versions of GCC may fail to link Qt with a "TOC overflow" message. Fix this by upgrading to the latest maintenance release of the dynamic linker. On AIX this is bos.rte.bind_cmds.4.1.5.3. Some versions of GCC may fail to build Qt with STL and large-file support enabled, due to a bug in GCC. Fix this by upgrading to the latest maintenance release of the compiler. It is also possible to work around this problem by running configure with either `-no-stl` or `-no-largefile`.

## FreeBSD - 6.0-RELEASE

The system compiler on FreeBSD 4.x is gcc 2.95.4, which is not officially supported by Qt 4. We develop using and recommend ports/lang/gcc34. You will need to run configure with the `-platform freebsd-g++34` arguments. Optionally, you may use ports/lang/icc.

The system compiler on FreeBSD 5.x and 6.x is gcc 3.4.4, which is officially supported by Qt. You do not need to add any special arguments when running configure. Optionally, you may use ports/lang/icc.

Note that we do not actively test FreeBSD 4.x and 5.x. Our developers migrated to 6.x after the Qt 4 launch. FreeBSD-CURRENT is not supported.

## HP-UX PA-RISC - B.11.xx or later

### 64 bit

We do not support GCC to make 64 bit binaries on PA-RISC. Please consider using aCC or producing 32 bit binaries. This is due to a bug in the compiler toolchain - there seems to be a mismatch between GCC and the HP-UX native 64 bit linker.

### HP-UX 11.*

You may need linker patch PHSS_33032 (HP-UX 11.00) or PHSS_33033 (HP-UX 11.11).

### HP-UX 11.*

This ships with a faulty /usr/include/resolv.h, which results in a linker error involving getres(). HP has released patches for it, PHCO_26111 (HP-UX 11.00) and PHCO_31923 (HP-UX 11.11).

### HP-UX 11.* designer crash when using exceptions

If you encounter problems with designer on this platform either:

- disable exceptions using the -no-exceptions option to configure, or
- disable optimizations by editing $QTDIR/mkspecs/hpux-g++/qmake.conf and changing the line

       QMAKE_CFLAGS_RELEASE    = -O2

  to

       QMAKE_CFLAGS_RELEASE    =

### HP-UX 11.11

This ships with a faulty /usr/include/sys/socket.h, which makes many C++ programs fail to compile. HP has released a patch for it, PHNE_33159.

### libXmu

This library is needed for OpenGL support. If you get the error message

     /usr/ccs/bin/ld: DP relative code in file ....

when linking a shared Qt library you have to install the shared versions of libXmu and libXaw. HP have released patches for it, PHSS_29369/ PHSS_29370 on HP-UX 11.00 (64-bit), PHSS_33130/ PHSS_31001 on HP-UX 11.11, and PHSS_33550 on HP-UX 11.23.

### GCC 3.* on HP-UX

This compiler gives compilation error

     ANSI C++ forbids declaration ... with no type

on systems with old X11 header files. This is fixed by patches PHSS_31001 on HP-UX 11.11 and PHSS_30261 on HP-UX 11.00.

## IRIX - 6.5.x

Unpackaging and IRIX tar: Because of long filenames some files will be cut off incorrectly with IRIX tar. Please use GNU tar to unpack Qt packages.

## Linux

There are no known problems with using Qt on production versions of Linux/x86, Linux/ppc, Linux/amd64 and Linux/ia64 (including Altix(R)). We do our Unix development mainly on Linux/x86.

For the gcc/g++ compiler, please also see the relevant compiler page.

### Installation problems

See also the Installation FAQ.

If you experience problems when installing new Qt Open Source Edition versions, try to use the Qt Open Source Edition archives (e.g. RPM) provided by your Linux provider. If you need to install the source (.tgz) archive, be aware that you will probably end up with two different versions of the Qt library installed on your system, which will probably lead to link errors, like this:

     undefined reference to `_vt.11QPushButton'

Fix this by removing the old version of the library.

If you have problems installing a Qt Open Source Edition Linux archive (e.g. RPM), please consult your Linux provider (who made it), not us.

Some RPM versions have problems installing some of the Qt RPM archives where installation stops with an error message warning about a "Failed Dependency". Use the `--nodeps` option to `rpm` to workaround this problem.

## Solaris - 9 or later

### CC on Solaris

Be sure to check our Forte Developer / Sun Studio notes.

### GCC on Solaris

Be sure to check the installation notes for GCC on Solaris. Do not use GCC with Sun's assembler/linker, this will result in link-time errors in shared libraries. Use GNU binutils instead.

GCC 3.2.* is known to miscompile Qt due to an optimizer bug that will cause the resulting binaries to hang.

GCC gives compilation error

     ANSI C++ forbids declaration ... with no type

on systems with old X11 header files. This is fixed by patches 108652-24 on Solaris 8, 108376-21 on Solaris 7, and 105633-56 on Solaris 2.6.

### Solaris 2.6

A crash on resize of widgets example has been reported, but not reproduced. Patch 105633-21 is reported to solve the problem. We are interested in hearing more details from anyone who can reproduce and track this problem closer.