File mpich-1.2.6_implicit_declarations.diff of Package mpich
Index: mpid/mpd/mpdlib.c
===================================================================
--- mpid/mpd/mpdlib.c.orig
+++ mpid/mpd/mpdlib.c
@@ -2,9 +2,6 @@
/* MPD Client Library */
#include "mpdlib.h"
-#ifdef HAVE_UNISTD_H
-#include <unistd.h>
-#endif
volatile int MPD_global_fence_flag; /* used to implement MPD_Fence */
volatile int MPD_tvdebug_synch_flag = 0;
@@ -117,7 +114,7 @@ int MPD_Init( void (*peer_msg_handler)(c
/* readlink is defined in unistd.h *only* if __USE_BSD is defined */
static void mpdlib_getexecname( char * execname, size_t len )
{
-#ifdef __linux
+#if defined __linux && defined __USE_BSD
int rc = readlink( "/proc/self/exe", execname, len );
if ( rc < 0 || rc == len )
execname[0] = '\0';
Index: util/mpichversion.c
===================================================================
--- util/mpichversion.c.orig
+++ util/mpichversion.c
@@ -6,6 +6,8 @@
#include "mpi.h"
#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
/*
* This program reports on properties of the MPICH library, such as the
Index: mpid/mpd/mpdlib.h
===================================================================
--- mpid/mpd/mpdlib.h.orig
+++ mpid/mpd/mpdlib.h
@@ -9,6 +9,8 @@
#define MPD_MAXHOSTNMLEN 64
#define MPD_IDSIZE (MPD_MAXHOSTNMLEN+8)
+
+
#include "mpdconf.h"
#include <stdio.h>
@@ -16,6 +18,9 @@
#include <stdlib.h>
#endif
#ifdef HAVE_UNISTD_H
+#ifndef __USE_BSD
+#define __USE_BSD
+#endif
#include <unistd.h>
#endif
#ifdef HAVE_CRYPT_H