Open MPI logo

Open MPI Development Mailing List Archives

  |   Home   |   Support   |   FAQ   |   all Development mailing list

From: Brooks Davis (brooks_at_[hidden])
Date: 2005-10-11 22:01:06


On Mon, Oct 10, 2005 at 11:26:41PM -0500, Brian Barrett wrote:
> On Oct 10, 2005, at 6:59 PM, Brooks Davis wrote:
>
> > The configure output ends with:
> >
> > ...
> > config.status: creating test/util/Makefile
> > config.status: creating include/ompi_config.h
> > config.status: creating include/mpi.h
> > config.status: include/mpi.h is unchanged
> > config.status: linking ./opal/mca/timer/base/timer_base_null.h to
> > opal/mca/timer/base/base_impl.h
> >
> > I've attached gziped copies of the configure output and config.log.
>
> Ok, this was a silly error on our part - a header file wasn't shipped
> as part of the distribution tarball. I committed a patch to the
> trunk to fix this bug and it should be in the 1.0 as soon as the 1.0
> release manager gets a chance to review the commit (should be
> tomorrow). If you want to try a nightly, they are available here:
>
> http://www.open-mpi.org/nightly/
>
> Of course, the 1.0 nightly for tomorrow morning will not have the fix
> just yet.

Thanks. With the following patchs and passing
--disable-pretty-print-stacktrace to configure I was able to get truck
at rev 7709 to build. I haven't done any testing yet, but that's a good
first step.

The libutil.h check is to get openpty(). The existing code checked for
the libary, but not the header.

The f77_get_fortran_handle_max.m4 change is because FreeBSD's eval
appears to use ints internally so they overflow to negative numbers and
cause problems. Fortunatly, they roll back over once properly escaped.

-- Brooks

Index: configure.ac
===================================================================
--- configure.ac (revision 7709)
+++ configure.ac (working copy)
@@ -1043,7 +1043,7 @@
 ompi_show_title "Header file tests"
 
 AC_CHECK_HEADERS([alloca.h aio.h arpa/inet.h dirent.h \
- dlfcn.h execinfo.h err.h fcntl.h inttypes.h libgen.h \
+ dlfcn.h execinfo.h err.h fcntl.h inttypes.h libgen.h libutil.h \
     net/if.h netdb.h netinet/in.h netinet/tcp.h \
     poll.h pthread.h pty.h pwd.h sched.h stdint.h \
     string.h strings.h stropts.h sys/fcntl.h sys/ipc.h \
Index: config/f77_get_fortran_handle_max.m4
===================================================================
--- config/f77_get_fortran_handle_max.m4 (revision 7709)
+++ config/f77_get_fortran_handle_max.m4 (working copy)
@@ -34,7 +34,10 @@
         ompi_fint_max=`expr $ompi_fint_max \* 2`
         ompi_sizeof_fint=`expr $ompi_sizeof_fint - 1`
     done
- ompi_fint_max=`expr $ompi_fint_max - 1`
+ # ompi_fint_max might be negative here due to integer rollover
+ # on some systems. Escape it just in case. This doesn't handle
+ # all possible cases, but hopefully it's good enough.
+ ompi_fint_max=`expr \( $ompi_fint_max \) - 1`
 fi
 
 # Get INT_MAX. Compute a SWAG if we are cross compiling or something
@@ -55,7 +58,10 @@
     ompi_cint_max=`expr $ompi_cint_max \* 2`
     ompi_sizeof_cint=`expr $ompi_sizeof_cint - 1`
 done
-ompi_cint_max=`expr $ompi_cint_max - 1`])
+# ompi_cint_max might be negative here due to integer rollover
+# on some systems. Escape it just in case. This doesn't handle
+# all possible cases, but hopefully it's good enough.
+ompi_cint_max=`expr \( $ompi_cint_max \) - 1`])
 
 if test "$ompi_cint_max" = "0" ; then
     # wow - something went really wrong. Be conservative
Index: orte/mca/iof/base/iof_base_setup.c
===================================================================
--- orte/mca/iof/base/iof_base_setup.c (revision 7709)
+++ orte/mca/iof/base/iof_base_setup.c (working copy)
@@ -47,6 +47,9 @@
 # include <termio.h>
 # endif
 #endif
+#ifdef HAVE_LIBUTIL_H
+#include <libutil.h>
+#endif
 
 #include "mca/iof/base/iof_base_setup.h"
 

-- 
Any statement of the form "X is the one, true Y" is FALSE.
PGP fingerprint 655D 519C 26A7 82E7 2529  9BF0 5D8E 8BE9 F238 1AD4


  • application/pgp-signature attachment: stored