Hi. I have been trying to build the latest ompi-trunk (as of yesterday) svn snapshot (r16158) of OpenMPI on a FreeBSD 6.2 machine and have run into 3 build problems. I was curious if anyone else has encountered these errors and if they are being addressed.
Problem 1 --------- When running the autogen.sh script as non-root, I see the following error: ************************************************************************* *** Running GNU tools [Running] autom4te --language=m4sh ompi_get_version.m4sh -o ompi_get_version.sh [Running] aclocal /usr/local/share/aclocal/glib.m4:8: warning: underquoted definition of AM_PATH_GLIB /usr/local/share/aclocal/glib.m4:8: run info '(automake)Extending aclocal' /usr/local/share/aclocal/glib.m4:8: or see http://sources.redhat.com/automake/automake.html#Extending-aclocal [Running] autoheader ** Adjusting libtool for OMPI :-( ++ patching for pathscale multi-line output (LT 1.5.x) [Running] autoconf [Running] libtoolize --automake --copy --ltdl -- Moving libltdl to opal/ ** Updating Automake version in libltdl package [Running] aclocal acinclude.m4:6405: the serial number must appear before any macro definition /usr/local/share/aclocal/glib.m4:8: warning: underquoted definition of AM_PATH_GLIB /usr/local/share/aclocal/glib.m4:8: run info '(automake)Extending aclocal' /usr/local/share/aclocal/glib.m4:8: or see http://sources.redhat.com/automake/automake.html#Extending-aclocal [Running] automake [Running] autoconf autom4te-2.61: cannot open configure: Permission denied ------------------------------------------------------------------------- It seems that the execution of "autoconf" has failed. See above for the specific error message that caused it to abort. ------------------------------------------------------------------------- ************************************************************************* After some searching, it would appear that this is an autoconf issue that crops up in FreeBSD but, for whatever reason, not in Linux. A quick workaround is to add: `chmod -vr u+w *` just before autogen issues the `run_and_check $ompi_autoconf` command on line 438. Problem 2: ---------- After correcting the autogen.sh script, running it and then running configure with --prefix=some_directory as a parameter, it was time to `make all install.` Following is console output: ************************************************************************ gcc -DHAVE_CONFIG_H -I. -I../../opal/include -I../../orte/include -I../../ompi/include -I../../opal/mca/paffinity/linux/plpa/src/libplpa -I../.. -g -Wall -Wundef -Wno-long-long -Wsign-compare -Wmissing-prototypes -Wstrict-prototypes -Wcomment -pedantic -Werror-implicit-function-declaration -finline-functions -fno-strict-aliasing -pthread -MT opal_pty.lo -MD -MP -MF .deps/opal_pty.Tpo -c opal_pty.c -fPIC -DPIC -o .libs/opal_pty.o opal_pty.c: In function `opal_openpty': opal_pty.c:127: error: implicit declaration of function `openpty' *** Error code 1 Stop in /usr/home/kmroz/work/ompi-trunk/opal/util. *** Error code 1 Stop in /usr/home/kmroz/work/ompi-trunk/opal/util. *** Error code 1 Stop in /usr/home/kmroz/work/ompi-trunk/opal. *** Error code 1 Stop in /usr/home/kmroz/work/ompi-trunk. *********************************************************************** It would seem that openpty needs to have libutil.h included on a freeBSD machine. I added a quick #ifdef/#include of libutil.h in opal/util/opal_pty.c and restarted make. Problem 3: ---------- Compilation made it a little further this time around, but began complaining about ompi/mpi/f77/strings.h. More console output: *********************************************************************** gcc -DHAVE_CONFIG_H -I. -I../../../opal/include -I../../../orte/include -I../../../ompi/include -I../../../opal/mca/paffinity/linux/plpa/src/libplpa -DOMPI_PROFILE_LAYER=0 -DOMPI_COMPILING_F77_WRAPPERS=1 -I../../.. -g -Wall -Wundef -Wno-long-long -Wsign-compare -Wmissing-prototypes -Wstrict-prototypes -Wcomment -pedantic -Werror-implicit-function-declaration -finline-functions -fno-strict-aliasing -pthread -MT attr_fn_f.lo -MD -MP -MF .deps/attr_fn_f.Tpo -c attr_fn_f.c -fPIC -DPIC -o .libs/attr_fn_f.o In file included from /usr/include/string.h:49, from ../../../opal/include/opal_config_bottom.h:365, from ../../../opal/include/opal_config.h:1432, from ../../../ompi/include/ompi_config.h:26, from attr_fn_f.c:20: ./strings.h:43: error: syntax error before "int" ./strings.h:59: error: syntax error before "int" ./strings.h:78: error: syntax error before "int" ./strings.h:94: error: syntax error before "int" *** Error code 1 Stop in /usr/home/kmroz/work/ompi-trunk/ompi/mpi/f77. *** Error code 1 Stop in /usr/home/kmroz/work/ompi-trunk/ompi/mpi/f77. *** Error code 1 Stop in /usr/home/kmroz/work/ompi-trunk/ompi/mpi. *** Error code 1 Stop in /usr/home/kmroz/work/ompi-trunk/ompi. *** Error code 1 Stop in /usr/home/kmroz/work/ompi-trunk. *********************************************************************** I ended up changing function declarations in ompi/mpi/f77/strings.h from 'OMPI_DECLSPEC int function_name()' to simply 'int function_name()' which also appears to be how it was done in the last stable (v1.2.3) release. This final change allowed make to complete. --- Please note, these errors were seen in ompi-trunk (r16158). The current stable release (v1.2.3) as well as the pre-release (v1.2.4) do NOT exhibit any of these problems when compiled on FreeBSD 6.2. One final note: running autogen.sh on a linux machine followed by configure/make on freeBSD was also attempted to see if some of the source or build scripts were being generated incorrectly on FreeBSD. However, this yielded the same errors with ompi-trunk as mentioned above. Any ideas? -- Karol Mroz km...@cs.ubc.ca