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"
|
#include "opal_config.h"
|
||||||
|
|
||||||
|
#ifndef PATH_MAX /* Hurd */
|
||||||
|
#define PATH_MAX 65535
|
||||||
|
#endif
|
||||||
|
|
||||||
#define OMPI_IDENT_STRING OPAL_IDENT_STRING
|
#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_datasieving (ompio_file_t *fh);
|
||||||
static ssize_t mca_fbtl_posix_preadv_generic (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 mca_fbtl_posix_preadv (ompio_file_t *fh )
|
||||||
{
|
{
|
||||||
ssize_t bytes_read=0, ret_code=0;
|
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_datasieving (ompio_file_t *fh );
|
||||||
static ssize_t mca_fbtl_posix_pwritev_generic (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 mca_fbtl_posix_pwritev(ompio_file_t *fh )
|
||||||
{
|
{
|
||||||
ssize_t bytes_written=0, ret_code=0;
|
ssize_t bytes_written=0, ret_code=0;
|
||||||
|
|
|
@ -51,6 +51,14 @@
|
||||||
#include "opal/util/opal_environ.h"
|
#include "opal/util/opal_environ.h"
|
||||||
#include "opal/runtime/opal.h"
|
#include "opal/runtime/opal.h"
|
||||||
|
|
||||||
|
#ifndef MAXPATHLEN /* Hurd */
|
||||||
|
#define MAXPATHLEN 65535
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifndef PATH_MAX /* Hurd */
|
||||||
|
#define PATH_MAX 65535
|
||||||
|
#endif
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* local variables
|
* local variables
|
||||||
*/
|
*/
|
||||||
|
|
|
@ -588,8 +588,12 @@ int opal_util_register_stackhandlers (void)
|
||||||
|
|
||||||
/* Setup the signals to catch */
|
/* Setup the signals to catch */
|
||||||
memset(&act, 0, sizeof(act));
|
memset(&act, 0, sizeof(act));
|
||||||
|
#ifdef SA_SIGINFO
|
||||||
act.sa_sigaction = show_stackframe;
|
act.sa_sigaction = show_stackframe;
|
||||||
act.sa_flags = SA_SIGINFO;
|
act.sa_flags = SA_SIGINFO;
|
||||||
|
#else
|
||||||
|
act.sa_handler = show_stackframe_handler;
|
||||||
|
#endif
|
||||||
#ifdef SA_ONESHOT
|
#ifdef SA_ONESHOT
|
||||||
act.sa_flags |= SA_ONESHOT;
|
act.sa_flags |= SA_ONESHOT;
|
||||||
#else
|
#else
|
||||||
|
|
|
@ -26,6 +26,13 @@
|
||||||
|
|
||||||
#include "opal_config.h"
|
#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
|
#define ORTE_IDENT_STRING OPAL_IDENT_STRING
|
||||||
|
|
||||||
# if OPAL_C_HAVE_VISIBILITY
|
# 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
|
* again not match getcwd! This is beyond our control - we are only
|
||||||
* ensuring they start out matching.
|
* ensuring they start out matching.
|
||||||
*/
|
*/
|
||||||
|
#if !defined(MAXPATHLEN) && defined(__GLIBC__)
|
||||||
|
basedir = get_current_dir_name();
|
||||||
|
#else
|
||||||
getcwd(dir, sizeof(dir));
|
getcwd(dir, sizeof(dir));
|
||||||
|
#endif
|
||||||
*wdir = strdup(dir);
|
*wdir = strdup(dir);
|
||||||
opal_setenv("PWD", dir, true, &app->env);
|
opal_setenv("PWD", dir, true, &app->env);
|
||||||
/* update the initial wdir value too */
|
/* 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_app_context_t *app;
|
||||||
orte_proc_t *child=NULL;
|
orte_proc_t *child=NULL;
|
||||||
int rc=ORTE_SUCCESS;
|
int rc=ORTE_SUCCESS;
|
||||||
char basedir[MAXPATHLEN];
|
#if !defined(MAXPATHLEN) && defined(__GLIBC__)
|
||||||
|
char *basedir=NULL;
|
||||||
|
#else
|
||||||
|
char basedir[MAXPATHLEN];
|
||||||
|
#endif
|
||||||
int j, idx;
|
int j, idx;
|
||||||
int total_num_local_procs = 0;
|
int total_num_local_procs = 0;
|
||||||
orte_odls_launch_local_t *caddy = (orte_odls_launch_local_t*)cbdata;
|
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
|
* bouncing around as we execute this app, but we will always return
|
||||||
* to this place as our default directory
|
* to this place as our default directory
|
||||||
*/
|
*/
|
||||||
|
#if !defined(MAXPATHLEN) && defined(__GLIBC__)
|
||||||
|
basedir = get_current_dir_name();
|
||||||
|
#else
|
||||||
getcwd(basedir, sizeof(basedir));
|
getcwd(basedir, sizeof(basedir));
|
||||||
|
#endif
|
||||||
|
|
||||||
/* find this child's jobdat */
|
/* find this child's jobdat */
|
||||||
if (NULL == (jobdat = orte_get_job_data_object(child->name.jobid))) {
|
if (NULL == (jobdat = orte_get_job_data_object(child->name.jobid))) {
|
||||||
|
|
Loading…
Reference in New Issue