Opened 9 years ago

Last modified 8 years ago

#548 reopened bug

ISU016 - mpich2-1.1b1 fails to build on SUN Solaris 5.10 with GNU 3.4.2

Reported by: Jim Hoekstra <hoekstra@…> Owned by:
Priority: long-term Milestone: future
Component: mpich Keywords:
Cc:

Description (last modified by goodell)

This report is saved at ISU as ISU016.


The 'make' for mpich2-1.1b1 is failing for a build of MPICH2 on a SUN box
belonging to our HPC group at ISU.

As suggested in the README, I am sending m.txt to mpich2-maint@mcs.anl.gov.
The c.txt file has also been saved if you need it.

rcgsun41/opt/mpich2-1.1b1> uname -a
SunOS rcgsun41 5.10 Generic_118844-26 i86pc i386 i86pc
rcgsun41/opt/mpich2-1.1b1> gcc -v
Reading specs from /opt/sfw/lib/gcc/i386-pc-solaris2.10/3.4.2/specs
Configured with: ../gcc-3.4.2/configure --prefix=/opt/sfw --with-
ld=/usr/ccs/bin/ld --with-gnu-as --with-as=/opt/sfw/bin/gas --enable-shared
--disable-libgcj
Thread model: posix
gcc version 3.4.2

rcgsun41/opt/mpich2-1.1b1> cat m.txt
Beginning make
Using variables CC='gcc' CFLAGS=' -O2' LDFLAGS=' ' AR='ar' FC='g77' F90='f90'
FFLAGS=' -O2' F90FLAGS=' -O2' CXX='c++'
make all-local
make all-local
  CC              mpid_nem_mpich2.c
/var/tmp//ccasGA0b.s: Assembler messages:
/var/tmp//ccasGA0b.s:351: Error: suffix or operands invalid for `mov'
/var/tmp//ccasGA0b.s:359: Error: suffix or operands invalid for `mov'
*** Error code 1
The following command caused the error:
gcc -DHAVE_CONFIG_H -I. -I. -I. -I../include
-I/opt/mpich2-1.1b1/src/ch3/channels/nemesis/nemesis/include
-I/opt/mpich2-1.1b1/src/include  -I/opt/mpich2-1.1b1/src/include
-I/opt/mpich2-1.1b1/src/util/wrappers -O2  -DUSE_PROCESS_LOCKS
-I/opt/mpich2-1.1b1/src/mpid/ch3/include
-I/opt/mpich2-1.1b1/src/mpid/ch3/include
-I/opt/mpich2-1.1b1/src/mpid/common/datatype
-I/opt/mpich2-1.1b1/src/mpid/common/datatype
-I/opt/mpich2-1.1b1/src/mpid/common/locks
-I/opt/mpich2-1.1b1/src/mpid/common/locks
-I/opt/mpich2-1.1b1/src/mpid/ch3/channels/nemesis/include
-I/opt/mpich2-1.1b1/src/mpid/ch3/channels/nemesis/include
-I/opt/mpich2-1.1b1/src/mpid/ch3/channels/nemesis/nemesis/include
-I/opt/mpich2-1.1b1/src/mpid/ch3/channels/nemesis/nemesis/include
-I/opt/mpich2-1.1b1/src/mpid/ch3/channels/nemesis/nemesis/utils/monitor
-I/opt/mpich2-1.1b1/src/mpid/ch3/channels/nemesis/nemesis/utils/monitor
-I/opt/mpich2-1.1b1/src/mpid/common/locks
-I/opt/mpich2-1.1b1/src/mpid/common/locks -I/opt/mpich2-1.1b1/s!
 rc/util/wrappers -I/opt/mpich2-1.1b1/src/util/wrappers -c mpid_nem_mpich2.c
make: Fatal error: Command failed for target `mpid_nem_mpich2.o'
Current working directory
/opt/mpich2-1.1b1/src/mpid/ch3/channels/nemesis/nemesis/src
*** Error code 1
The following command caused the error:
(cd src && make all )
make: Fatal error: Command failed for target `all-redirect'
Current working directory
/opt/mpich2-1.1b1/src/mpid/ch3/channels/nemesis/nemesis
*** Error code 1
The following command caused the error:
(cd nemesis && make all )
make: Fatal error: Command failed for target `all-redirect'
Current working directory /opt/mpich2-1.1b1/src/mpid/ch3/channels/nemesis
*** Error code 1
The following command caused the error:
for dir in nemesis - ; do \
        if [ "$dir" = "-" ] ; then break ; fi ; \
        if ( cd $dir && make all ) ; then : ; else exit 1; fi \
done
make: Fatal error: Command failed for target `all-redirect'
Current working directory /opt/mpich2-1.1b1/src/mpid/ch3/channels
*** Error code 1
The following command caused the error:
(cd channels && make all )
make: Fatal error: Command failed for target `all-redirect'
Current working directory /opt/mpich2-1.1b1/src/mpid/ch3
*** Error code 1
The following command caused the error:
for dir in ch3 - ; do \
        if [ "$dir" = "-" ] ; then break ; fi ; \
        if ( cd $dir && make all ) ; then : ; else exit 1; fi \
done
make: Fatal error: Command failed for target `all-redirect'
Current working directory /opt/mpich2-1.1b1/src/mpid
*** Error code 1
The following command caused the error:
(cd mpid && make all )
make: Fatal error: Command failed for target `all-redirect'
Current working directory /opt/mpich2-1.1b1/src
*** Error code 1
The following command caused the error:
(cd src && make all )
make: Fatal error: Command failed for target `all-redirect'

                                            Jim Hoekstra
                                            Iowa State University
                                            hoekstra@iastate.edu
                                            515-294-1974

Change History (5)

comment:1 Changed 9 years ago by Jim Hoekstra

  • id set to 548

This message has 0 attachment(s)

comment:2 Changed 9 years ago by Rajeev Thakur

I am not seeing this problem with the current trunk. Can you try it with
last night's snapshot from
http://www.mcs.anl.gov/research/projects/mpich2/downloads/tarballs/nightly/t
runk/mpich2-trunk-[4359].tar.gz

Thanks,
Rajeev

comment:3 Changed 9 years ago by thakur

  • Resolution set to worksforme
  • Status changed from new to closed

comment:4 Changed 8 years ago by goodell

  • Description modified (diff)

comment:5 Changed 8 years ago by goodell

  • Description modified (diff)
  • Milestone set to future
  • Priority changed from major to long-term
  • Resolution worksforme deleted
  • Status changed from closed to reopened

I was able to reproduce this on opensolaris 2009.06 (i386). Sorry it took so long to reproduce this, but I finally have and have come up with a workaround. The workaround is to add CFLAGS=-Wa,--divide to your configure line.

The longer story here is that it looks like there is some sort of problem with the GNU toolchain on some solaris installations. This binutils bug report provides a reasonable description of the problem: http://sourceware.org/bugzilla/show_bug.cgi?id=4572

It's not clear to me why the compiler and binutils don't agree exactly on the assembly dialect, but the workaround seems to clear everything up. I'll leave this open for now because I'm not sure what the right fix is to our build system, if there even is a transparent fix we can apply.

Note: See TracTickets for help on using tickets.