Hello again OpenMPI folk, been a while. Have just come to build OpenMPI 1.8.1 within a PkgSrc environment for our ArchLinux machines (yes, we used to be NetBSD, yes).
Latest PkgSrc build was for 1.6.4. The 1.6.4 PkgSrc build required 4 patches, 3 of which were PkgSrc-specific and just defined a sysconfexampledir = $(pkgdatadir)/examples so that the PkgSrc build could "Install configuration files into example directory" Those patches affected orte/etc/Makefile.in opal/etc/Makefile.in ompi/etc/Makefile.in The 4th patch, affecting opal/tools/wrappers/opal_wrapper.c added some "Missing RPATH support" I fixed up those four patches so that they appled cleanly to 1.8.1 , however I have been informed, by the PkgSrc build process, of the following ---8<---------8<---------8<---------8<---------8<---------8<---------8<---------8<---------8<------ => Checking for portability problems in extracted files ERROR: [check-portability.awk] => Found test ... == ...: ERROR: [check-portability.awk] configure: if test "$enable_oshmem" == "yes" -a "$ompi_fortran_happy" == "1" -a \ Explanation: =========================================================================== The "test" command, as well as the "[" command, are not required to know the "==" operator. Only a few implementations like bash and some versions of ksh support it. When you run "test foo == foo" on a platform that does not support the "==" operator, the result will be "false" instead of "true". This can lead to unexpected behavior. There are two ways to fix this error message. If the file that contains the "test ==" is needed for building the package, you should create a patch for it, replacing the "==" operator with "=". If the file is not needed, add its name to the CHECK_PORTABILITY_SKIP variable in the package Makefile. =========================================================================== ---8<---------8<---------8<---------8<---------8<---------8<---------8<---------8<---------8<------ Obviously, the file that needs to be patched is really configure.ac and not configure but anyroad, the place at which the oshmen stanza has used the "non-portable" double-equals construct is shown in the following attempted patch ---8<---------8<---------8<---------8<---------8<---------8<---------8<---------8<---------8<------ --- configure.ac.orig 2014-04-22 14:51:44.000000000 +0000 +++ configure.ac @@ -611,8 +611,8 @@ m4_ifdef([project_ompi], [OMPI_SETUP_MPI ]) AM_CONDITIONAL(OSHMEM_BUILD_FORTRAN_BINDINGS, - [test "$enable_oshmem" == "yes" -a "$ompi_fortran_happy" == "1" -a \ - "$OMPI_WANT_FORTRAN_BINDINGS" == "1" -a \ + [test "$enable_oshmem" = "yes" -a "$ompi_fortran_happy" = "1" -a \ + "$OMPI_WANT_FORTRAN_BINDINGS" = "1" -a \ "$enable_oshmem_fortran" != "no"]) # checkpoint results ---8<---------8<---------8<---------8<---------8<---------8<---------8<---------8<---------8<------ Someone may wish to give that the "once over" ahead of the 1.8.2 release, in light of what PkgSrc considers to be portable. All the best, Kevin M. Buckley eScience Consultant School of Engineering and Computer Science Victoria University of Wellington New Zealand