Hi there, i am trying to get gcc-3.4.4-2 to compile programms in 64 bit mode for a power5 system running redhat as 4 update 1. it works for some programms, but others (postgresql) are showing problems. my problem is that the default rpm-installation seems to think that 32-bit is the default compile variant. I have to add the -m64 switch to all gcc commands. The gcc configure options are the following: Reading specs from /usr/lib/gcc/ppc64-redhat-linux/3.4.4/specs Configured with: ../configure --prefix=/usr --mandir=/usr/share/man --infodir=/usr/share/info --enable-shared --enable-threads=posix --disable-checking --with-system-zlib --enable-__cxa_atexit --disable-libunwind-exceptions --enable-java-awt=gtk --host=ppc64-redhat-linux --build=ppc64-redhat-linux --target=ppc64-redhat-linux --with-cpu=default32 Thread model: posix gcc version 3.4.4 20050721 (Red Hat 3.4.4-2) I have tried to ways to get gcc to create 64bit output: - use the rpm version with the -m64 switch - use a self-compiled version of gcc I installed to /opt/gcc64 But both of these compilers somehow _seem_ to be somehow tied to the 32bit environment. When a do an "strace gcc ..." I always see the following: [snip] access("/etc/ld.so.preload", R_OK) = -1 ENOENT (No such file or directory) open("/etc/ld.so.cache", O_RDONLY) = 3 fstat64(3, {st_mode=S_IFREG|0644, st_size=43636, ...}) = 0 mmap(NULL, 43636, PROT_READ, MAP_PRIVATE, 3, 0) = 0xf7ff4000 close(3) = 0 ----> open("/lib/tls/libc.so.6", O_RDONLY) = 3 <----- read(3, "\177ELF\1\2\1\0\0\0\0\0\0\0\0\0\0\3\0\24\0\0\0\1\17\351"..., 512) = 512 fstat64(3, {st_mode=S_IFREG|0755, st_size=1503784, ...}) = 0 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xf7ff3000 mmap(0xfe80000, 1357276, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0xfe80000 mprotect(0xffb5000, 91612, PROT_NONE) = 0 mmap(0xffc4000, 24576, PROT_READ|PROT_WRITE|PROT_EXEC, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x134000) = 0xffc4000 mmap(0xffca000, 5596, PROT_READ|PROT_WRITE|PROT_EXEC, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0xffca000 close(3) [/snip] My main questions: - Why is the file "/lib/tls/libc.so.6" used here and not the same file in /lib64? - Where does gcc find the info which version of the libs (32/64-bit) to use? - do others have experience with systems running redhat as4 where gcc seems to behave funny? TIA, peter