Open MPI logo

Open MPI Development Mailing List Archives

  |   Home   |   Support   |   FAQ   |   all Development mailing list

From: Karol Mroz (kmroz_at_[hidden])
Date: 2007-09-19 18:19:15


Hi, Tim. Thanks for the reply.

v1.2.3 and v1.2.4rc1 were both compiled, without problems, from tarballs.

Tim Prins wrote:
> Hi Karol,
>
> Thanks for the reports.
>
> I cannot help with the first problem. Maybe someone else can.
>
> Problem 2: I have committed your suggested fix in r16163.
>
> As for the third problem, this is very strange. It looks like what is
> happening is that we are in the ompi/mpi/f77 directory compiling a .c
> file. This includes ompi_config.h, which includes ompi_config_bottom.h,
> which then includes string.h (/usr/include/string.h). So far so good.
>
> Here is where it gets nasty. On FreeBSD, /usr/include/string.h includes
> strings.h in some cases. But there is a strings.h in the ompi/mpi/f77
> directory, so that is getting included instead of the proper
> /usr/include/strings.h.
>
> I suppose we could rename our strings.h to f77_strings.h, or something
> similar. Does anyone have an opinion on this?
>
> When you compiled v1.2.3 and the v1.2.4 prerelease, did you compile from
> a tarball or a subversion checkout? I ask because it looks like the
> above problem will only happen when the developer debugging code is
> enabled, which is the default when building from a subversion checkout.
>
> Thanks again for your reports,
>
> Tim
>
> Karol Mroz wrote:
>> 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?
>>
> _______________________________________________
> devel mailing list
> devel_at_[hidden]
> http://www.open-mpi.org/mailman/listinfo.cgi/devel

-- 
Karol Mroz
kmroz_at_[hidden]