Doesn't work for me on the machines at Watson (RHEL5.1 x86_64). I've got (as far as I can tell) all of the 32 bit versions of the libraries (libcario, etc) installed in the standard places in addition to the 64bit versions, but the classpath build process doesn't seem to find them. It gets stuck wanting to link to the 64 bit versions.
[exec] 5932 problems (5932 warnings)/usr/bin/ld: skipping incompatible /usr/lib64/libgtk-x11-2.0.so when searching for -lgtk-x11-2.0
[exec] /usr/bin/ld: skipping incompatible /usr/lib64/libgdk-x11-2.0.so when searching for -lgdk-x11-2.0
[exec] /usr/bin/ld: skipping incompatible /usr/lib64/libatk-1.0.so when searching for -latk-1.0
[exec] /usr/bin/ld: skipping incompatible /usr/lib64/libpangocairo-1.0.so when searching for -lpangocairo-1.0
[exec] /usr/bin/ld: skipping incompatible /usr/lib64/libcairo.so when searching for -lcairo
[exec] /usr/bin/ld: skipping incompatible /usr/lib64/libcairo.so when searching for -lcairo
[exec] /usr/bin/ld: cannot find -lcairo
[exec] collect2: ld returned 1 exit status
[exec] make[3]: *** [libgtkpeer.la] Error 1
[exec] make[3]: Leaving directory `/home/dgrove/buildit/rvm-trunk/components/classpath/97.1p1/classpath/native/jni/gtk-peer'
[exec] make[2]: *** [all-recursive] Error 1
[exec] make[2]: Leaving directory `/home/dgrove/buildit/rvm-trunk/components/classpath/97.1p1/classpath/native/jni'
[exec] make[1]: *** [all-recursive] Error 1
[exec] make[1]: Leaving directory `/home/dgrove/buildit/rvm-trunk/components/classpath/97.1p1/classpath/native'
[exec] make: *** [all-recursive] Error 1
BUILD FAILED
/home/dgrove/buildit/rvm-trunk/build.xml:183: The following error occurred while executing this line:
/home/dgrove/buildit/rvm-trunk/build/components/classpath.xml:247: The following error occurred while executing this line:
/home/dgrove/buildit/rvm-trunk/build/components/base.xml:70: The following error occurred while executing this line:
/home/dgrove/buildit/rvm-trunk/build/components/base.xml:76: The following error occurred while executing this line:
/home/dgrove/buildit/rvm-trunk/build/components/classpath.xml:209: exec returned: 2
Looking for the libs via find:
[dgrove@legato /usr]$ find . -name "libgdk-x11*"
./lib64/libgdk-x11-2.0.so
./lib64/libgdk-x11-2.0.so.0.1000.4
./lib64/libgdk-x11-2.0.so.0
./lib/libgdk-x11-2.0.so
./lib/libgdk-x11-2.0.so.0.1000.4
./lib/libgdk-x11-2.0.so.
The issue was that early x86-64 linuxes only provided a 64bit GTk. As we compile with -m32 we need a 32bit GTk to link against. This often wasn't present on early x86-64 linuxes so we disabled the GTk peers. IIRC Dave Grove was interested in re-enabling this option too.