summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--parallel/openmpi/Makefile4
-rw-r--r--parallel/openmpi/PLIST3
-rw-r--r--parallel/openmpi/distinfo10
-rw-r--r--parallel/openmpi/patches/patch-ah174
4 files changed, 9 insertions, 182 deletions
diff --git a/parallel/openmpi/Makefile b/parallel/openmpi/Makefile
index cbb8a2f5b55..25298e9455c 100644
--- a/parallel/openmpi/Makefile
+++ b/parallel/openmpi/Makefile
@@ -1,6 +1,6 @@
-# $NetBSD: Makefile,v 1.6 2010/07/30 10:36:34 asau Exp $
+# $NetBSD: Makefile,v 1.7 2010/11/24 01:56:13 asau Exp $
-DISTNAME= openmpi-1.4.2
+DISTNAME= openmpi-1.4.3
CATEGORIES= parallel
MASTER_SITES= http://www.open-mpi.org/software/ompi/v1.4/downloads/
EXTRACT_SUFX= .tar.bz2
diff --git a/parallel/openmpi/PLIST b/parallel/openmpi/PLIST
index 7c3c4ebce82..7c3894a259c 100644
--- a/parallel/openmpi/PLIST
+++ b/parallel/openmpi/PLIST
@@ -1,4 +1,4 @@
-@comment $NetBSD: PLIST,v 1.3 2010/05/14 20:12:58 asau Exp $
+@comment $NetBSD: PLIST,v 1.4 2010/11/24 01:56:13 asau Exp $
bin/mpiCC
bin/mpic++
bin/mpicc
@@ -479,6 +479,7 @@ share/openmpi/help-mca-coll-base.txt
share/openmpi/help-mca-param.txt
share/openmpi/help-mpi-api.txt
share/openmpi/help-mpi-btl-base.txt
+share/openmpi/help-mpi-btl-tcp.txt
share/openmpi/help-mpi-common-sm.txt
share/openmpi/help-mpi-errors.txt
share/openmpi/help-mpi-runtime.txt
diff --git a/parallel/openmpi/distinfo b/parallel/openmpi/distinfo
index ff238b9fb5a..306ffced1aa 100644
--- a/parallel/openmpi/distinfo
+++ b/parallel/openmpi/distinfo
@@ -1,8 +1,8 @@
-$NetBSD: distinfo,v 1.3 2010/05/14 20:12:58 asau Exp $
+$NetBSD: distinfo,v 1.4 2010/11/24 01:56:13 asau Exp $
-SHA1 (openmpi-1.4.2.tar.bz2) = 3e85092433d0e399cc7a51c018f9d13562f78b80
-RMD160 (openmpi-1.4.2.tar.bz2) = 2c9fbcc8f77e7fa28e2bd062875d484548cc0b79
-Size (openmpi-1.4.2.tar.bz2) = 6630550 bytes
+SHA1 (openmpi-1.4.3.tar.bz2) = 9d24b6969d73605904855eb32d40d6b07e231932
+RMD160 (openmpi-1.4.3.tar.bz2) = 087532de57244c03941421162caa9e5537b4eba1
+Size (openmpi-1.4.3.tar.bz2) = 6626909 bytes
SHA1 (patch-aa) = dfc2eb59ea592823d93a7ae3e223e703450201ad
SHA1 (patch-ab) = c4be561af983b38803ba1f76a4ff5a6646072c3a
SHA1 (patch-ac) = 2eb37bf842278c712561e30457d7e00889d12dcd
@@ -10,7 +10,7 @@ SHA1 (patch-ad) = ee74acac5c7a7b022ee9a03957f8f3d71c2579fd
SHA1 (patch-ae) = a4848899dcd0413caa1c99832477a4bd86b51112
SHA1 (patch-af) = 812e623c39235098565762c098a40c1cb4f51f23
SHA1 (patch-ag) = fc29742c423d2376893d4d5c3da7a0514f311262
-SHA1 (patch-ah) = bbc7422eeede4468590262ee84c54d8d0b911445
+SHA1 (patch-ah) = da39a3ee5e6b4b0d3255bfef95601890afd80709
SHA1 (patch-ai) = e341eefb09df978cf1d43c2176f5f8c6d09f703e
SHA1 (patch-aj) = 4521e29de16a6cd5bf1a9ea7677b51cd0e6eb86c
SHA1 (patch-ak) = d9a10360eec6dab95e08d4ac0a4d7da603ac4737
diff --git a/parallel/openmpi/patches/patch-ah b/parallel/openmpi/patches/patch-ah
index ff603615f22..e69de29bb2d 100644
--- a/parallel/openmpi/patches/patch-ah
+++ b/parallel/openmpi/patches/patch-ah
@@ -1,174 +0,0 @@
-$NetBSD: patch-ah,v 1.1.1.1 2009/12/12 23:30:01 asau Exp $
-
-Rewrite network interface configuration using getifaddrs(3) for BSD,
-this should fix OpenMPI for NetBSD. By Kevin M. Buckley.
-
---- opal/util/if.c.orig 2009-12-08 23:36:09.000000000 +0300
-+++ opal/util/if.c 2009-12-13 00:06:38.000000000 +0300
-@@ -38,6 +38,9 @@
- #endif
- #ifdef HAVE_NETINET_IN_H
- #include <netinet/in.h>
-+#if defined(__DragonFly__)
-+#define IN_LINKLOCAL(i) (((u_int32_t)(i) & 0xffff0000) == 0xa9fe0000)
-+#endif
- #endif
- #ifdef HAVE_ARPA_INET_H
- #include <arpa/inet.h>
-@@ -164,6 +167,145 @@
- false, false, (int)false, &sd);
- do_not_resolve = OPAL_INT_TO_BOOL(sd);
-
-+#if defined(__NetBSD__) || defined(__FreeBSD__) || \
-+ defined(__OpenBSD__) || defined(__DragonFly__)
-+ /* configure using getifaddrs(3) */
-+ {
-+ OBJ_CONSTRUCT(&opal_if_list, opal_list_t);
-+
-+ struct ifaddrs **ifadd_list;
-+ struct ifaddrs *cur_ifaddrs;
-+ struct sockaddr_in* sin_addr;
-+
-+ /*
-+ * the manpage claims that getifaddrs() allocates the memory,
-+ * and freeifaddrs() is later used to release the allocated memory.
-+ * however, without this malloc the call to getifaddrs() segfaults
-+ */
-+ ifadd_list = (struct ifaddrs **) malloc(sizeof(struct ifaddrs*));
-+
-+ /* create the linked list of ifaddrs structs */
-+ if(getifaddrs(ifadd_list) < 0) {
-+ opal_output(0, "opal_ifinit: getifaddrs() failed with error=%d\n",
-+ errno);
-+ return OPAL_ERROR;
-+ }
-+
-+ for(cur_ifaddrs = *ifadd_list; NULL != cur_ifaddrs;
-+ cur_ifaddrs = cur_ifaddrs->ifa_next) {
-+
-+ opal_if_t intf;
-+ opal_if_t *intf_ptr;
-+ struct in_addr a4;
-+
-+#if 0
-+ printf("interface %s.\n", cur_ifaddrs->ifa_name);
-+#endif
-+ /* skip non- af_inet interface addresses */
-+ if(AF_INET != cur_ifaddrs->ifa_addr->sa_family) {
-+#if 0
-+ printf("skipping non- af_inet interface %s, family %d.\n",
-+ cur_ifaddrs->ifa_name, cur_ifaddrs->ifa_addr->sa_family);
-+#endif
-+ continue;
-+ }
-+
-+ /* skip interface if it is down (IFF_UP not set) */
-+ if(0 == (cur_ifaddrs->ifa_flags & IFF_UP)) {
-+#if 0
-+ printf("skipping non-up interface %s.\n", cur_ifaddrs->ifa_name);
-+#endif
-+ continue;
-+ }
-+
-+ /* skip interface if it is a loopback device (IFF_LOOPBACK set) */
-+ /* or if it is a point-to-point interface */
-+ /* TODO: do we really skip p2p? */
-+ if(0 != (cur_ifaddrs->ifa_flags & IFF_LOOPBACK)
-+ || 0!= (cur_ifaddrs->ifa_flags & IFF_POINTOPOINT)) {
-+#if 0
-+ printf("skipping loopback interface %s.\n", cur_ifaddrs->ifa_name);
-+#endif
-+ continue;
-+ }
-+
-+#if 0
-+ printf("sa_len %d.\n", cur_ifaddrs->ifa_addr->sa_len);
-+#endif
-+ sin_addr = (struct sockaddr_in *) cur_ifaddrs->ifa_addr;
-+
-+ /* Do we really need to skip link-local addresses? */
-+#if 0
-+ /* skip link local address: */
-+ if(IN_LINKLOCAL (htonl(((struct sockaddr_in*)cur_ifaddrs->ifa_addr)->sin_addr.s_addr))) {
-+#if 0
-+ opal_output(0, "opal_ifinit: skipping link-local ip address on interface %s.\n",
-+ cur_ifaddrs->ifa_name);
-+#endif
-+ continue;
-+ }
-+#endif
-+
-+ memset(&intf, 0, sizeof(intf));
-+ OBJ_CONSTRUCT(&intf, opal_list_item_t);
-+#if 0
-+ char *addr_name = (char *) malloc(48*sizeof(char));
-+ inet_ntop(AF_INET, &sin_addr->sin_addr, addr_name, 48*sizeof(char));
-+ opal_output(0, "inet capable interface %s discovered, address %s.\n",
-+ cur_ifaddrs->ifa_name, addr_name);
-+ free(addr_name);
-+#endif
-+
-+ /* fill values into the opal_if_t */
-+ memcpy(&a4, &(sin_addr->sin_addr), sizeof(struct in_addr));
-+
-+ strncpy(intf.if_name, cur_ifaddrs->ifa_name, IF_NAMESIZE);
-+ intf.if_index = opal_list_get_size(&opal_if_list) + 1;
-+ ((struct sockaddr_in*) &intf.if_addr)->sin_addr = a4;
-+ ((struct sockaddr_in*) &intf.if_addr)->sin_family = AF_INET;
-+ ((struct sockaddr_in*) &intf.if_addr)->sin_len = cur_ifaddrs->ifa_addr->sa_len;
-+
-+ /* since every scope != 0 is ignored, we just set the scope to 0 */
-+ /* There's no scope_id in the non-ipv6 stuff
-+ ((struct sockaddr_in6*) &intf.if_addr)->sin6_scope_id = 0;
-+ */
-+
-+ /*
-+ * hardcoded netmask, adrian says that's ok
-+ */
-+ /* Non-NetBSD uses intf.if_mask = prefix(((struct sockaddr_in*) &ifr->ifr_addr)->sin_addr.s_addr); */
-+ /* intf.if_mask = 64; */
-+ intf.if_mask = prefix( sin_addr->sin_addr.s_addr);
-+ intf.if_flags = cur_ifaddrs->ifa_flags;
-+
-+ /*
-+ * FIXME: figure out how to gain access to the kernel index
-+ * (or create our own), getifaddrs() does not contain such
-+ * data
-+ */
-+
-+ intf.if_kernel_index = (uint16_t) if_nametoindex(cur_ifaddrs->ifa_name);
-+
-+ intf_ptr = (opal_if_t*) calloc(1, sizeof(opal_if_t));
-+ if(NULL == intf_ptr) {
-+ opal_output(0, "opal_ifinit: unable to allocate %lu bytes\n",
-+ sizeof(opal_if_t));
-+ OBJ_DESTRUCT(&intf);
-+ return OPAL_ERR_OUT_OF_RESOURCE;
-+ }
-+ memcpy(intf_ptr, &intf, sizeof(intf));
-+
-+#if 0
-+ printf("About to append interface %s.\n", cur_ifaddrs->ifa_name);
-+#endif
-+ /* opal_list_append(&opal_if_list, &intf_ptr->super); */
-+ opal_list_append(&opal_if_list, (opal_list_item_t*) intf_ptr);
-+
-+ OBJ_DESTRUCT(&intf);
-+ } /* of for loop over ifaddrs list */
-+
-+ }
-+#else
- /* create the internet socket to test off */
- /*
- Change AF_INET to AF_UNSPEC (or AF_INET6) and everything will fail.
-@@ -356,6 +498,10 @@
- }
- free(ifconf.ifc_req);
- close(sd);
-+
-+#endif /* anything other than {Net,Open,Free}BSD and DragonFly */
-+
-+
- #if OPAL_WANT_IPV6
- #ifdef __linux__ /* Linux does not have SIOCGL*, so parse
- /proc/net/if_inet6 instead */