Ralph,

i was able to rewrite some macros to make Oracle compilers happy, and filed https://github.com/pmix/master/pull/309 for that


Siegmar,


meanwhile, feel free to manually apply the attached patch



Cheers,


Gilles


On 2/16/2017 8:09 AM, r...@open-mpi.org wrote:
I guess it was the next nightly tarball, but not next commit. However, it was 
almost certainly 7acef48 from Gilles that updated the PMIx code.

Gilles: can you perhaps take a peek?

Sent from my iPad

On Feb 15, 2017, at 11:43 AM, Siegmar Gross 
<siegmar.gr...@informatik.hs-fulda.de> wrote:

Hi Ralph,

I get the error already with openmpi-master-201702100209-51def91 which
is the next version after openmpi-master-201702080209-bc2890e, if I'm
right.

loki openmpi-master 146 grep Error \
  
openmpi-master-201702080209-bc2890e-Linux.x86_64.64_cc/log.make.Linux.x86_64.64_cc
 \
  
openmpi-master-201702100209-51def91-Linux.x86_64.64_cc/log.make.Linux.x86_64.64_cc
openmpi-master-201702080209-bc2890e-Linux.x86_64.64_cc/log.make.Linux.x86_64.64_cc:
  GENERATE mpi/man/man3/MPI_Error_class.3
openmpi-master-201702080209-bc2890e-Linux.x86_64.64_cc/log.make.Linux.x86_64.64_cc:
  GENERATE mpi/man/man3/MPI_Error_string.3

openmpi-master-201702100209-51def91-Linux.x86_64.64_cc/log.make.Linux.x86_64.64_cc:make[5]:
 *** [dstore/pmix_esh.lo] Error 1
openmpi-master-201702100209-51def91-Linux.x86_64.64_cc/log.make.Linux.x86_64.64_cc:make[4]:
 *** [all-recursive] Error 1
openmpi-master-201702100209-51def91-Linux.x86_64.64_cc/log.make.Linux.x86_64.64_cc:make[3]:
 *** [all-recursive] Error 1
openmpi-master-201702100209-51def91-Linux.x86_64.64_cc/log.make.Linux.x86_64.64_cc:make[2]:
 *** [all-recursive] Error 1
openmpi-master-201702100209-51def91-Linux.x86_64.64_cc/log.make.Linux.x86_64.64_cc:make[1]:
 *** [all-recursive] Error 1
openmpi-master-201702100209-51def91-Linux.x86_64.64_cc/log.make.Linux.x86_64.64_cc:make:
 *** [all-recursive] Error 1

"pmix_esh.lo" isn't available for openmpi-master-201702100209-51def91. It's
also not available for the other versions which break.

loki openmpi-master 147 find 
openmpi-master-201702080209-bc2890e-Linux.x86_64.64_cc -name pmix_esh.lo
openmpi-master-201702080209-bc2890e-Linux.x86_64.64_cc/opal/mca/pmix/pmix2x/pmix/src/dstore/pmix_esh.lo

loki openmpi-master 148 find 
openmpi-master-201702100209-51def91-Linux.x86_64.64_cc -name pmix_esh.lo
loki openmpi-master 149

Which files do you need? Which commands shall I run to get differences of
files?


Kind regards

Siegmar


Am 15.02.2017 um 17:42 schrieb r...@open-mpi.org:
If we knew what line in that file was causing the compiler to barf, we
could at least address it. There is probably something added in recent
commits that is causing problems for the compiler.

So checking to see what commit might be triggering the failure would be most 
helpful.


On Feb 15, 2017, at 8:29 AM, Siegmar Gross 
<siegmar.gr...@informatik.hs-fulda.de> wrote:

Hi Gilles,

this looks like a compiler crash, and it should be reported to Oracle.
I can try, but I don't think that they are interested, because
we don't have a contract any longer. I didn't get the error
building openmpi-master-201702080209-bc2890e as you can see
below. Would it be helpful to build all intermediate versions
to find out when the error occured the first time? Perhaps we
can identify which change of code is responsible for the error.

loki openmpi-master-201702080209-bc2890e-Linux.x86_64.64_cc 111 grep Error 
log.make.Linux.x86_64.64_cc
GENERATE mpi/man/man3/MPI_Error_class.3
GENERATE mpi/man/man3/MPI_Error_string.3

loki openmpi-master-201702080209-bc2890e-Linux.x86_64.64_cc 112 cd 
../openmpi-master-201702150209-404fe32-Linux.x86_64.64_cc
loki openmpi-master-201702150209-404fe32-Linux.x86_64.64_cc 113 grep Error 
log.make.Linux.x86_64.64_cc
make[5]: *** [dstore/pmix_esh.lo] Error 1
make[4]: *** [all-recursive] Error 1
make[3]: *** [all-recursive] Error 1
make[2]: *** [all-recursive] Error 1
make[1]: *** [all-recursive] Error 1
make: *** [all-recursive] Error 1
loki openmpi-master-201702150209-404fe32-Linux.x86_64.64_cc 114


Kind regards and thank you very much for your help

Siegmar


Cheers,

Gilles

On Wednesday, February 15, 2017, Siegmar Gross <siegmar.gr...@informatik.hs-fulda.de 
<mailto:siegmar.gr...@informatik.hs-fulda.de>> wrote:

   Hi,

   I tried to install openmpi-master-201702150209-404fe32 on my "SUSE Linux
   Enterprise Server 12.2 (x86_64)" with Sun C 5.14. Unfortunately, "make"
   breaks with the following error. I've had no problems with gcc-6.3.0.


   ...
   
"../../../../../../../openmpi-master-201702150209-404fe32/opal/mca/pmix/pmix2x/pmix/src/buffer_ops/copy.c",
 line 1004: warning: statement not reached
     CC       buffer_ops/internal_functions.lo
     CC       buffer_ops/open_close.lo
     CC       buffer_ops/pack.lo
     CC       buffer_ops/print.lo
     CC       buffer_ops/unpack.lo
     CC       sm/pmix_sm.lo
     CC       sm/pmix_mmap.lo
     CC       dstore/pmix_dstore.lo
     CC       dstore/pmix_esh.lo
   cc: Fatal error in /opt/sun/developerstudio12.5/lib/compilers/bin/acomp : 
Signal number = 139
   Makefile:1322: recipe for target 'dstore/pmix_esh.lo' failed
   make[5]: *** [dstore/pmix_esh.lo] Error 1
   make[5]: Leaving directory 
'/export2/src/openmpi-master/openmpi-master-201702150209-404fe32-Linux.x86_64.64_cc/opal/mca/pmix/pmix2x/pmix/src'
   Makefile:1375: recipe for target 'all-recursive' failed
   make[4]: *** [all-recursive] Error 1
   make[4]: Leaving directory 
'/export2/src/openmpi-master/openmpi-master-201702150209-404fe32-Linux.x86_64.64_cc/opal/mca/pmix/pmix2x/pmix/src'
   Makefile:652: recipe for target 'all-recursive' failed
   make[3]: *** [all-recursive] Error 1
   make[3]: Leaving directory 
'/export2/src/openmpi-master/openmpi-master-201702150209-404fe32-Linux.x86_64.64_cc/opal/mca/pmix/pmix2x/pmix'
   Makefile:2037: recipe for target 'all-recursive' failed
   make[2]: *** [all-recursive] Error 1
   make[2]: Leaving directory 
'/export2/src/openmpi-master/openmpi-master-201702150209-404fe32-Linux.x86_64.64_cc/opal/mca/pmix/pmix2x'
   Makefile:2386: recipe for target 'all-recursive' failed
   make[1]: *** [all-recursive] Error 1
   make[1]: Leaving directory 
'/export2/src/openmpi-master/openmpi-master-201702150209-404fe32-Linux.x86_64.64_cc/opal'
   Makefile:1903: recipe for target 'all-recursive' failed
   make: *** [all-recursive] Error 1
   loki openmpi-master-201702150209-404fe32-Linux.x86_64.64_cc 129


   I would be grateful, if somebody can fix the problem. Do you need anything
   else? Thank you very much for any help in advance.


   Kind regards

   Siegmar
   _______________________________________________
   users mailing list
   users@lists.open-mpi.org
   https://rfd.newmexicoconsortium.org/mailman/listinfo/users 
<https://rfd.newmexicoconsortium.org/mailman/listinfo/users>



_______________________________________________
users mailing list
users@lists.open-mpi.org
https://rfd.newmexicoconsortium.org/mailman/listinfo/users
_______________________________________________
users mailing list
users@lists.open-mpi.org
https://rfd.newmexicoconsortium.org/mailman/listinfo/users
_______________________________________________
users mailing list
users@lists.open-mpi.org
https://rfd.newmexicoconsortium.org/mailman/listinfo/users
_______________________________________________
users mailing list
users@lists.open-mpi.org
https://rfd.newmexicoconsortium.org/mailman/listinfo/users
_______________________________________________
users mailing list
users@lists.open-mpi.org
https://rfd.newmexicoconsortium.org/mailman/listinfo/users


diff --git a/opal/mca/pmix/pmix2x/pmix/src/dstore/pmix_esh.c 
b/opal/mca/pmix/pmix2x/pmix/src/dstore/pmix_esh.c
index 938c152..5907433 100644
--- a/opal/mca/pmix/pmix2x/pmix/src/dstore/pmix_esh.c
+++ b/opal/mca/pmix/pmix2x/pmix/src/dstore/pmix_esh.c
@@ -135,23 +135,11 @@ __extension__ ({                                          
  \
 })
 
 #ifdef ESH_PTHREAD_LOCK
-#define _ESH_LOCK(rwlock, operation)                        \
+#define _ESH_LOCK(rwlock, func)                             \
 __extension__ ({                                            \
     pmix_status_t ret = PMIX_SUCCESS;                       \
     int rc;                                                 \
-    switch (operation) {                                    \
-        case F_WRLCK:                                       \
-            rc = pthread_rwlock_wrlock(rwlock);             \
-            break;                                          \
-        case F_RDLCK:                                       \
-            rc = pthread_rwlock_rdlock(rwlock);             \
-            break;                                          \
-        case F_UNLCK:                                       \
-            rc = pthread_rwlock_unlock(rwlock);             \
-            break;                                          \
-        default:                                            \
-            rc = PMIX_ERR_BAD_PARAM;                        \
-    }                                                       \
+    rc = pthread_rwlock_##func(rwlock);                     \
     if (0 != rc) {                                          \
         switch (errno) {                                    \
             case EINVAL:                                    \
@@ -168,6 +156,10 @@ __extension__ ({                                           
 \
     }                                                       \
     ret;                                                    \
 })
+
+#define _ESH_WRLOCK(rwlock) _ESH_LOCK(rwlock, wrlock)
+#define _ESH_RDLOCK(rwlock) _ESH_LOCK(rwlock, rdlock)
+#define _ESH_UNLOCK(rwlock) _ESH_LOCK(rwlock, unlock)
 #endif
 
 #ifdef ESH_FCNTL_LOCK
@@ -208,11 +200,11 @@ __extension__ ({                                          
  \
     }                                                       \
     ret;                                                    \
 })
-#endif
 
 #define _ESH_WRLOCK(lock) _ESH_LOCK(lock, F_WRLCK)
 #define _ESH_RDLOCK(lock) _ESH_LOCK(lock, F_RDLCK)
 #define _ESH_UNLOCK(lock) _ESH_LOCK(lock, F_UNLCK)
+#endif
 
 #define ESH_INIT_SESSION_TBL_SIZE 2
 #define ESH_INIT_NS_MAP_TBL_SIZE  2
@@ -1092,10 +1084,11 @@ int _esh_store(const char *nspace, pmix_rank_t rank, 
pmix_kval_t *kv)
     }
 
     /* set exclusive lock */
-    if (PMIX_SUCCESS != (rc = 
_ESH_WRLOCK(_ESH_SESSION_lock(ns_map->tbl_idx)))) {
+    if (PMIX_SUCCESS != (rc = 
_ESH_WRLOCK(PMIX_VALUE_ARRAY_GET_BASE(_session_array, 
session_t)[ns_map->tbl_idx].rwlock))) {
         PMIX_ERROR_LOG(rc);
         return rc;
     }
+#if 1
 
     /* First of all, we go through local track list (list of ns_track_elem_t 
structures)
      * and look for an element for the target namespace.
@@ -1165,8 +1158,10 @@ err_exit:
     if (PMIX_SUCCESS != (tmp_rc = 
_ESH_UNLOCK(_ESH_SESSION_lock(ns_map->tbl_idx)))) {
         PMIX_ERROR_LOG(tmp_rc);
     }
+#endif
     return rc;
 }
+#if 1
 
 /*
  * See return codes description for the corresponding function
@@ -2538,3 +2533,4 @@ static inline ssize_t _get_univ_size(const char *nspace)
     PMIX_VALUE_RELEASE(val);
     return nprocs;
 }
+#endif
_______________________________________________
users mailing list
users@lists.open-mpi.org
https://rfd.newmexicoconsortium.org/mailman/listinfo/users

Reply via email to