| View previous topic :: View next topic |
| Author |
Message |
p.j.knowles
Joined: 20 Apr 2006 Posts: 14
|
Posted: Thu Jan 17, 2013 2:57 am Post subject: compilation of mpich 3.0.1 fails with on 32-bit machines |
|
|
MPICH 3.0.1 fails to compile with pgi 12.10 compilers on 32-bit machines. There is no problem on 64-bit machines.
The building instructions used were:
| Code: | ./configure --prefix=$HOME/mpich-install --with-device=ch3:nemesis --with-pm=hydra --enable-f77 F77=/opt/pgi/linux86/12.10/bin/pgf90 --enable-fc FC=/opt/pgi/linux86/12.10/bin/pgf90 --enable-cc CC=/opt/pgi/linux86/12.10/bin/pgcc --enable-cxx CXX=/opt/pgi/linux86/12.10/bin/pgCC
make |
and it results in the following compilation error:
| Code: | PGC-F-0000-Internal compiler error. Unable to allocate a register 8 (topology-x86.c: 77)
PGC/x86 Linux 12.10-0: compilation aborted |
any ideas of how to fix this? Thanks |
|
| Back to top |
|
 |
mkcolg
Joined: 30 Jun 2004 Posts: 4996 Location: The Portland Group Inc.
|
Posted: Thu Jan 17, 2013 10:39 am Post subject: |
|
|
Hi p.j.knowles,
I just tried but was unable to recreate the error on Linux using the 32-bit PGI 12.10 compilers. What OS are you using? Are there any additional flags?
| Code: | mpich-3.0.1/src/pm/hydra/tools/topo/hwloc/hwloc/src% pgcc -c topology-x86.c -I../include -m32 -w
PGC/x86 Linux 12.10-0: compilation completed with warnings
mpich-3.0.1/src/pm/hydra/tools/topo/hwloc/hwloc/src% file topology-x86.o
topology-x86.o: ELF 32-bit LSB relocatable, Intel 80386, version 1 (SYSV), not stripped
|
Thanks,
Mat |
|
| Back to top |
|
 |
p.j.knowles
Joined: 20 Apr 2006 Posts: 14
|
Posted: Thu Jan 17, 2013 3:24 pm Post subject: |
|
|
Mat,
The problem doesn't occur if I invoke the compiler directly, but via 'make' it does. I tried to cut it down a bit, and the following line:
| Code: | | source='topology-x86.c' object='topology-x86.lo' libtool=yes DEPDIR=.deps depmode=pgcc /bin/sh ../../../../../confdb/depcomp /bin/sh ../../../../../libtool --silent --tag=CC --mode=compile /opt/pgi/linux86/12.10/bin/pgcc -I/home/andy/mpich-3.0.1/src/pm/hydra/tools/topo/hwloc/hwloc/include -DHWLOC_INSIDE_LIBHWLOC -c -o topology-x86.lo topology-x86.c |
reproduces the problem.
Andy (Molpro team) |
|
| Back to top |
|
 |
mkcolg
Joined: 30 Jun 2004 Posts: 4996 Location: The Portland Group Inc.
|
Posted: Thu Jan 17, 2013 6:03 pm Post subject: |
|
|
Hi Andy,
Sorry, i should have been more clear. I built MPICH 3.0.1 completely within it's make harness but did not see the error. I compiled it again outside of the make build and posted this just to show it compiling.
I'll continue to poke at it to see if I can get it to fail. When I see these types of issues my next step is to see if its a UMR or other memory problem who's behaviour is non-deterministic. I'll let you know what I find out.
- Mat |
|
| Back to top |
|
 |
p.j.knowles
Joined: 20 Apr 2006 Posts: 14
|
Posted: Fri Jan 18, 2013 1:44 am Post subject: |
|
|
Mat,
I've done a bit more digging and think I've found the problem. The libtool script adds '-fpic' flag, so the following:
| Code: | | /opt/pgi/linux86/12.10/bin/pgcc -I/home/andy/mpich-3.0.1/src/pm/hydra/tools/topo/hwloc/hwloc/include -DHWLOC_INSIDE_LIBHWLOC -c topology-x86.c -fpic |
fails to compile. Removing '-fpic' allows the file to compile. I'm not sure why you don't see the same behaviour. This machine is 32-bit hardware, running openSUSE 12.2.
Thanks,
Andy |
|
| Back to top |
|
 |
|