Open MPI logo

Open MPI Development Mailing List Archives

  |   Home   |   Support   |   FAQ   |   all Development mailing list

Subject: [OMPI devel] Build failures from r31393: opal atomics
From: Jeff Squyres (jsquyres) (jsquyres_at_[hidden])
Date: 2014-04-15 10:57:36


Ryan --

I'm getting build failures with this:

-----
make[1]: Entering directory `/home/jsquyres/svn/ompi5/openmpi-1.9a1r31394M/_build/opal/asm'
  CC asm.lo
In file included from ../../../opal/asm/asm.c:21:
../../../opal/include/opal/sys/atomic.h:144:7: error: invalid digit "8" in octal constant
../../../opal/include/opal/sys/atomic.h:146:7: error: invalid digit "8" in octal constant
-----

The problem seems to be coming from a new #define you added:

#define OMPI_NO_BUILTIN 0800

With the leading 0, it's being interpreted as octal, and therefore 8 is an invalid digit.

>From looking at the other values in that #define group, it's not clear to me if these are supposed to be bit flags or just unique values...?

On Apr 15, 2014, at 9:17 AM, svn-commit-mailer_at_[hidden] wrote:

> Author: regrant (Ryan Grant)
> Date: 2014-04-15 09:17:04 EDT (Tue, 15 Apr 2014)
> New Revision: 31393
> URL: https://svn.open-mpi.org/trac/ompi/changeset/31393
>
> Log:
> Fixing atomics selection issue, to be CMR'd after it passes the nightly tests
>
> Text files modified:
> trunk/config/opal_config_asm.m4 | 26 ++++++++++++++++++--------
> trunk/opal/include/opal/sys/architecture.h | 1 +
> trunk/opal/include/opal/sys/atomic.h | 10 +++++-----
> 3 files changed, 24 insertions(+), 13 deletions(-)
>
> Modified: trunk/config/opal_config_asm.m4
> ==============================================================================
> --- trunk/config/opal_config_asm.m4 Tue Apr 15 03:23:39 2014 (r31392)
> +++ trunk/config/opal_config_asm.m4 2014-04-15 09:17:04 EDT (Tue, 15 Apr 2014) (r31393)
> @@ -766,14 +766,17 @@
> [Enable use of OSX builtin atomics (default: disabled)])])
>
> if test "$enable_builtin_atomics" = "yes" ; then
> - OPAL_CHECK_SYNC_BUILTINS([ompi_cv_asm_arch="SYNC_BUILTIN"],
> + OPAL_CHECK_SYNC_BUILTINS([ompi_cv_asm_builtin="SYNC_BUILTIN"],
> [AC_MSG_ERROR([__sync builtin atomics requested but not found.])])
> AC_DEFINE([OPAL_C_GCC_INLINE_ASSEMBLY], [1],
> [Whether C compiler supports GCC style inline assembly])
> elif test "$enable_osx_builtin_atomics" = "yes" ; then
> - AC_CHECK_HEADER([libkern/OSAtomic.h],[ompi_cv_asm_arch="OSX_BUILTIN"],
> + AC_CHECK_HEADER([libkern/OSAtomic.h],[ompi_cv_asm_builtin="OSX_BUILTIN"],
> [AC_MSG_ERROR([OSX builtin atomics requested but not found.])])
> else
> + ompi_cv_asm_builtin="NO_BUILTIN"
> + fi
> +
> OMPI_CHECK_ASM_PROC
> OMPI_CHECK_ASM_TEXT
> OMPI_CHECK_ASM_GLOBAL
> @@ -898,12 +901,12 @@
> ;;
>
> *)
> - OPAL_CHECK_SYNC_BUILTINS([ompi_cv_asm_arch="SYNC_BUILTIN"],
> + OPAL_CHECK_SYNC_BUILTINS([ompi_cv_asm_builtin="SYNC_BUILTIN"],
> [AC_MSG_ERROR([No atomic primitives available for $host])])
> ;;
> esac
>
> - if test "$ompi_cv_asm_arch" = "SYNC_BUILTIN" ; then
> + if test "$ompi_cv_asm_builtin" = "SYNC_BUILTIN" ; then
> AC_DEFINE([OPAL_C_GCC_INLINE_ASSEMBLY], [1],
> [Whether C compiler supports GCC style inline assembly])
> else
> @@ -954,17 +957,24 @@
> AC_DEFINE_UNQUOTED([OPAL_ASSEMBLY_FORMAT], ["$OPAL_ASSEMBLY_FORMAT"],
> [Format of assembly file])
> AC_SUBST([OPAL_ASSEMBLY_FORMAT])
> - fi # if ompi_cv_asm_arch = SYNC_BUILTIN
> - fi # if cv_c_compiler_vendor = microsoft
> + fi # if ompi_cv_asm_builtin = SYNC_BUILTIN
>
> result="OMPI_$ompi_cv_asm_arch"
> OPAL_ASSEMBLY_ARCH="$ompi_cv_asm_arch"
> AC_MSG_CHECKING([for asssembly architecture])
> AC_MSG_RESULT([$ompi_cv_asm_arch])
> AC_DEFINE_UNQUOTED([OPAL_ASSEMBLY_ARCH], [$result],
> - [Architecture type of assembly to use for atomic operations])
> + [Architecture type of assembly to use for atomic operations and CMA])
> AC_SUBST([OPAL_ASSEMBLY_ARCH])
>
> + result="OMPI_$ompi_cv_asm_builtin"
> + OPAL_ASSEMBLY_BUILTIN="$ompi_cv_asm_builtin"
> + AC_MSG_CHECKING([for builtin atomics])
> + AC_MSG_RESULT([$ompi_cv_asm_builtin])
> + AC_DEFINE_UNQUOTED([OPAL_ASSEMBLY_BUILTIN], [$result],
> + [Whether to use builtin atomics])
> + AC_SUBST([OPAL_ASSEMBLY_BUILTIN])
> +
> OMPI_ASM_FIND_FILE
>
> unset result asm_format
> @@ -983,7 +993,7 @@
> AC_REQUIRE([AC_PROG_GREP])
> AC_REQUIRE([AC_PROG_FGREP])
>
> -if test "$ompi_cv_asm_arch" != "WINDOWS" -a "$ompi_cv_asm_arch" != "SYNC_BUILTIN" -a "$ompi_cv_asm_arch" != "OSX_BUILTIN" ; then
> +if test "$ompi_cv_asm_arch" != "WINDOWS" -a "$ompi_cv_asm_builtin" != "SYNC_BUILTIN" -a "$ompi_cv_asm_builtin" != "OSX_BUILTIN" ; then
> AC_CHECK_PROG([PERL], [perl], [perl])
>
> # see if we have a pre-built one already
>
> Modified: trunk/opal/include/opal/sys/architecture.h
> ==============================================================================
> --- trunk/opal/include/opal/sys/architecture.h Tue Apr 15 03:23:39 2014 (r31392)
> +++ trunk/opal/include/opal/sys/architecture.h 2014-04-15 09:17:04 EDT (Tue, 15 Apr 2014) (r31393)
> @@ -39,6 +39,7 @@
> #define OMPI_ARM 0100
> #define OMPI_SYNC_BUILTIN 0200
> #define OMPI_OSX_BUILTIN 0400
> +#define OMPI_NO_BUILTIN 0800
>
> /* Formats */
> #define OMPI_DEFAULT 1000 /* standard for given architecture */
>
> Modified: trunk/opal/include/opal/sys/atomic.h
> ==============================================================================
> --- trunk/opal/include/opal/sys/atomic.h Tue Apr 15 03:23:39 2014 (r31392)
> +++ trunk/opal/include/opal/sys/atomic.h 2014-04-15 09:17:04 EDT (Tue, 15 Apr 2014) (r31393)
> @@ -136,9 +136,13 @@
> * Load the appropriate architecture files and set some reasonable
> * default values for our support
> *
> - *********************************************************************/
> + *********************************************************************/
> #if defined(DOXYGEN)
> /* don't include system-level gorp when generating doxygen files */
> +#elif OPAL_ASSEMBLY_BUILTIN == OMPI_SYNC_BUILTIN
> +#include "opal/sys/sync_builtin/atomic.h"
> +#elif OPAL_ASSEMBLY_BUILTIN == OMPI_OSX_BUILTIN
> +#include "opal/sys/osx/atomic.h"
> #elif OPAL_ASSEMBLY_ARCH == OMPI_ALPHA
> #include "opal/sys/alpha/atomic.h"
> #elif OPAL_ASSEMBLY_ARCH == OMPI_AMD64
> @@ -161,10 +165,6 @@
> #include "opal/sys/sparcv9/atomic.h"
> #elif OPAL_ASSEMBLY_ARCH == OMPI_SPARCV9_64
> #include "opal/sys/sparcv9/atomic.h"
> -#elif OPAL_ASSEMBLY_ARCH == OMPI_SYNC_BUILTIN
> -#include "opal/sys/sync_builtin/atomic.h"
> -#elif OPAL_ASSEMBLY_ARCH == OMPI_OSX_BUILTIN
> -#include "opal/sys/osx/atomic.h"
> #endif
>
> #ifndef DOXYGEN
> _______________________________________________
> svn-full mailing list
> svn-full_at_[hidden]
> http://www.open-mpi.org/mailman/listinfo.cgi/svn-full

-- 
Jeff Squyres
jsquyres_at_[hidden]
For corporate legal information go to: http://www.cisco.com/web/about/doing_business/legal/cri/