forked from openkylin/openmpi
Fix build problems on hurd-i386
Forwarded: partially Last-Update: 2018-10-24 This patch allows Open MPI to build on Debian GNU/HURD. Also, the memory:linux MCA component is disabled, since its use of POSIX API in malloc hooks called very early at startup causes troubles. Also changes by Samuel Thibault <sthibault@debian.org> See bugs.debian.org/846965 Gbp-Pq: Name build_hurd
This commit is contained in:
parent
d71bc17f04
commit
1f4eaade12
|
@ -28,6 +28,10 @@
|
|||
|
||||
#include "opal_config.h"
|
||||
|
||||
#ifndef PATH_MAX /* Hurd */
|
||||
#define PATH_MAX 65535
|
||||
#endif
|
||||
|
||||
#define OMPI_IDENT_STRING OPAL_IDENT_STRING
|
||||
|
||||
/***********************************************************************
|
||||
|
|
|
@ -32,6 +32,10 @@
|
|||
static ssize_t mca_fbtl_posix_preadv_datasieving (ompio_file_t *fh);
|
||||
static ssize_t mca_fbtl_posix_preadv_generic (ompio_file_t *fh);
|
||||
|
||||
#ifndef IOV_MAX
|
||||
#define IOV_MAX 1024
|
||||
#endif
|
||||
|
||||
ssize_t mca_fbtl_posix_preadv (ompio_file_t *fh )
|
||||
{
|
||||
ssize_t bytes_read=0, ret_code=0;
|
||||
|
|
|
@ -33,6 +33,10 @@
|
|||
static ssize_t mca_fbtl_posix_pwritev_datasieving (ompio_file_t *fh );
|
||||
static ssize_t mca_fbtl_posix_pwritev_generic (ompio_file_t *fh );
|
||||
|
||||
#ifndef IOV_MAX
|
||||
#define IOV_MAX 1024
|
||||
#endif
|
||||
|
||||
ssize_t mca_fbtl_posix_pwritev(ompio_file_t *fh )
|
||||
{
|
||||
ssize_t bytes_written=0, ret_code=0;
|
||||
|
|
|
@ -51,6 +51,14 @@
|
|||
#include "opal/util/opal_environ.h"
|
||||
#include "opal/runtime/opal.h"
|
||||
|
||||
#ifndef MAXPATHLEN /* Hurd */
|
||||
#define MAXPATHLEN 65535
|
||||
#endif
|
||||
|
||||
#ifndef PATH_MAX /* Hurd */
|
||||
#define PATH_MAX 65535
|
||||
#endif
|
||||
|
||||
/*
|
||||
* local variables
|
||||
*/
|
||||
|
|
|
@ -588,8 +588,12 @@ int opal_util_register_stackhandlers (void)
|
|||
|
||||
/* Setup the signals to catch */
|
||||
memset(&act, 0, sizeof(act));
|
||||
#ifdef SA_SIGINFO
|
||||
act.sa_sigaction = show_stackframe;
|
||||
act.sa_flags = SA_SIGINFO;
|
||||
#else
|
||||
act.sa_handler = show_stackframe_handler;
|
||||
#endif
|
||||
#ifdef SA_ONESHOT
|
||||
act.sa_flags |= SA_ONESHOT;
|
||||
#else
|
||||
|
|
|
@ -26,6 +26,13 @@
|
|||
|
||||
#include "opal_config.h"
|
||||
|
||||
#ifndef PATH_MAX /* Hurd */
|
||||
#define PATH_MAX 65535
|
||||
#endif
|
||||
#ifndef MAXPATHLEN
|
||||
#define MAXPATHLEN 65535
|
||||
#endif
|
||||
|
||||
#define ORTE_IDENT_STRING OPAL_IDENT_STRING
|
||||
|
||||
# if OPAL_C_HAVE_VISIBILITY
|
||||
|
|
|
@ -856,7 +856,11 @@ static int setup_path(orte_app_context_t *app, char **wdir)
|
|||
* again not match getcwd! This is beyond our control - we are only
|
||||
* ensuring they start out matching.
|
||||
*/
|
||||
#if !defined(MAXPATHLEN) && defined(__GLIBC__)
|
||||
basedir = get_current_dir_name();
|
||||
#else
|
||||
getcwd(dir, sizeof(dir));
|
||||
#endif
|
||||
*wdir = strdup(dir);
|
||||
opal_setenv("PWD", dir, true, &app->env);
|
||||
/* update the initial wdir value too */
|
||||
|
@ -1065,7 +1069,11 @@ void orte_odls_base_default_launch_local(int fd, short sd, void *cbdata)
|
|||
orte_app_context_t *app;
|
||||
orte_proc_t *child=NULL;
|
||||
int rc=ORTE_SUCCESS;
|
||||
char basedir[MAXPATHLEN];
|
||||
#if !defined(MAXPATHLEN) && defined(__GLIBC__)
|
||||
char *basedir=NULL;
|
||||
#else
|
||||
char basedir[MAXPATHLEN];
|
||||
#endif
|
||||
int j, idx;
|
||||
int total_num_local_procs = 0;
|
||||
orte_odls_launch_local_t *caddy = (orte_odls_launch_local_t*)cbdata;
|
||||
|
@ -2061,7 +2069,11 @@ int orte_odls_base_default_restart_proc(orte_proc_t *child,
|
|||
* bouncing around as we execute this app, but we will always return
|
||||
* to this place as our default directory
|
||||
*/
|
||||
#if !defined(MAXPATHLEN) && defined(__GLIBC__)
|
||||
basedir = get_current_dir_name();
|
||||
#else
|
||||
getcwd(basedir, sizeof(basedir));
|
||||
#endif
|
||||
|
||||
/* find this child's jobdat */
|
||||
if (NULL == (jobdat = orte_get_job_data_object(child->name.jobid))) {
|
||||
|
|
Loading…
Reference in New Issue