Open MPI logo

Open MPI User's Mailing List Archives

  |   Home   |   Support   |   FAQ   |   all Open MPI User's mailing list

Subject: [OMPI users] cannot build Open MPI-1.5 on Solaris x86 with Sun C 5.9
From: Siegmar Gross (Siegmar.Gross_at_[hidden])
Date: 2010-10-22 10:43:39


Hi,

I tried to build Open MPI 1.5 on SunOS x86_64 with the Oracle/Sun
Studio C compiler and gcc-4.2.0 in 32- and 64-bit mode. I couldn't
built the package with Oracle/Sun C 5.9 in 32-bit mode with thread
support.

sunpc4 openmpi-1.5-SunOS.x86_64.32_cc 110 tail -15
  log.make.SunOS.x86_64.32_cc
make[3]: Leaving directory `/.../ompi/include'
make[2]: Leaving directory `/.../ompi/include'
Making all in datatype
make[2]: Entering directory `/.../ompi/datatype'
  CC ompi_datatype_args.lo
"ompi_datatype_args.c", [ompi_datatype_set_args]:ube: error:
  Unsupported constraint 'y' in GASM Inlining
"ompi_datatype_args.c", [ompi_datatype_set_args]:ube: error:
  Unsupported constraint 'y' in GASM Inlining
"ompi_datatype_args.c", [ompi_datatype_set_args]:ube: error:
  Unsupported constraint 'y' in GASM Inlining
"ompi_datatype_args.c", [ompi_datatype_set_args]:ube: error:
  Unsupported constraint 'y' in GASM Inlining
cc: ube failed for ../../../openmpi-1.5/ompi/datatype/ompi_datatype_args.c
make[2]: *** [ompi_datatype_args.lo] Error 1
make[2]: Leaving directory `/.../ompi/datatype'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `.../ompi'
make: *** [all-recursive] Error 1
sunpc4 openmpi-1.5-SunOS.x86_64.32_cc 111

Does anybody know how to solve the problem? Thank you very much
for any suggestions in advance. I could built the package without
thread support. "make check" reports the following warnings and
when I run any program it blocks without any output.

sunpc4 openmpi-1.5-SunOS.x86_64.32_cc 27 grep -i warning:
  log.make-check.SunOS.x86_64.32_cc
"../../../openmpi-1.5/test/asm/atomic_barrier_noinline.c",
  line 43: warning: static function called but not defined:
  opal_atomic_sub_32()
"../../../openmpi-1.5/test/asm/atomic_barrier_noinline.c",
  line 43: warning: static function called but not defined:
  opal_atomic_add_32()
"../../../openmpi-1.5/test/asm/atomic_spinlock_noinline.c",
  line 135: warning: static function called but not defined:
  opal_atomic_sub_32()
"../../../openmpi-1.5/test/asm/atomic_spinlock_noinline.c",
  line 135: warning: static function called but not defined:
  opal_atomic_add_32()
"../../../openmpi-1.5/test/asm/atomic_math_noinline.c",
  line 147: warning: static function called but not defined:
  opal_atomic_sub_32()
"../../../openmpi-1.5/test/asm/atomic_math_noinline.c",
  line 147: warning: static function called but not defined:
  opal_atomic_add_32()
"../../../openmpi-1.5/test/asm/atomic_cmpset_noinline.c",
  line 291: warning: static function called but not defined:
  opal_atomic_sub_32()
"../../../openmpi-1.5/test/asm/atomic_cmpset_noinline.c",
  line 291: warning: static function called but not defined:
  opal_atomic_add_32()

Some tests didn't pass.

sunpc4 openmpi-1.5-SunOS.x86_64.32_cc 30 grep FAIL
  log.make-check.SunOS.x86_64.32_cc
FAIL: atomic_cmpset
sunpc4 openmpi-1.5-SunOS.x86_64.32_cc 31 grep SKIP
  log.make-check.SunOS.x86_64.32_cc
SKIP: atomic_spinlock
SKIP: atomic_spinlock_noinline
sunpc4 openmpi-1.5-SunOS.x86_64.32_cc 32 grep PASS
  log.make-check.SunOS.x86_64.32_cc
PASS: predefined_gap_test
PASS: dlopen_test
PASS: atomic_barrier
PASS: atomic_barrier_noinline
PASS: atomic_math
PASS: atomic_math_noinline
PASS: atomic_cmpset_noinline

One test results in a segmentation fault.

sunpc4 openmpi-1.5-SunOS.x86_64.32_cc 34 tail -40
  log.make-check.SunOS.x86_64.32_cc
    - 8 threads: Skipped
PASS: atomic_math
--> Testing atomic_math_noinline
    - 1 threads: Passed
    - 2 threads: Skipped
    - 4 threads: Skipped
    - 5 threads: Skipped
    - 8 threads: Skipped
PASS: atomic_math_noinline
--> Testing atomic_cmpset
../../../openmpi-1.5/test/asm/run_tests: line 8: 14573 Segmentation Fault
    $* $threads
    - 1 threads: Failed
../../../openmpi-1.5/test/asm/run_tests: line 8: 14574 Segmentation Fault
    $* $threads
    - 2 threads: Failed
../../../openmpi-1.5/test/asm/run_tests: line 8: 14575 Segmentation Fault
    $* $threads
    - 4 threads: Failed
../../../openmpi-1.5/test/asm/run_tests: line 8: 14576 Segmentation Fault
    $* $threads
    - 5 threads: Failed
../../../openmpi-1.5/test/asm/run_tests: line 8: 14577 Segmentation Fault
    $* $threads
    - 8 threads: Failed
FAIL: atomic_cmpset
--> Testing atomic_cmpset_noinline
    - 1 threads: Passed
    - 2 threads: Passed
    - 4 threads: Passed
    - 5 threads: Passed
    - 8 threads: Passed
PASS: atomic_cmpset_noinline
========================================================
1 of 6 tests failed
(2 tests were not run)
Please report to http://www.open-mpi.org/community/help/
========================================================
make[3]: *** [check-TESTS] Error 1
make[3]: Leaving directory `/.../test/asm'
make[2]: *** [check-am] Error 2
make[2]: Leaving directory `/.../test/asm'
make[1]: *** [check-recursive] Error 1
make[1]: Leaving directory `/.../test'
make: *** [check-recursive] Error 1
sunpc4 openmpi-1.5-SunOS.x86_64.32_cc 35

I add a short summary about my successes and failures. "ok" means
I could install the package and successfully run two small programs
(one is a simple matrix multiplication with MPI and OpenMP, 1-4
processes and 8 threads). For PCs with SunOS "make" breaks with the
above error and for PCs with Linux with the error which I reported
yesterday. I configured Open MPI with thread support for all versions
with "ok". For all other versions it didn't matter if I used thread
support or not, because "make" broke in both cases with the same
error or the resulting programs were useless because they blocked.

SunOS sparc, 32-bit, cc: ok
SunOS sparc, 64-bit, cc: ok
SunOS x86, 32-bit, cc: with thread support: "make" breaks
SunOS x86, 32-bit, cc: without thread support: problems in "make check"
                          could built everything, but programs block
SunOS x86_64, 32-bit, cc: with thread support: "make" breaks
SunOS x86_64, 32-bit, cc: without thread support: problems in "make check"
                          could built everything, but programs block
SunOS x86_64, 64-bit, cc: could built everything, but programs block
Linux x86, 32-bit, cc: "make" breaks
Linux x86_64, 32-bit, cc: "make" breaks
Linux x86_64, 64-bit, cc: "make" breaks

SunOS sparc, 32-bit, gcc: ok
SunOS sparc, 64-bit, gcc: ok
SunOS x86, 32-bit, gcc: ok
SunOS x86_64, 32-bit, gcc: ok
SunOS x86_64, 64-bit, gcc: ok
Linux x86, 32-bit, gcc: ok
Linux x86_64, 32-bit, gcc: ok
Linux x86_64, 64-bit, gcc: ok

Does anybody know when Open MPI will be available for Cygwin? Is
anybody interested in error reports for Cygwin?

Kind regards

Siegmar