[OMPI users] Problems installing in Cygwin

2008-10-20 Thread Gustavo Seabra
Hi All,

I am trying to install OpenMPI in Cygwin. from a cygwin bash shell, I
configured OpenMPI with the command below:

$ echo $MPI_HOME
/home/seabra/local/openmpi-1.2.7
$ ./configure --prefix=$MPI_HOME \
--with-mpi-param_check=always \
--with-threads=posix \
--enable-mpi-threads \
--disable-io-romio \
FC="g95" FFLAGS="-O0  -fno-second-underscore" \
CXX="g++"

The configuration *seems* to be OK (it finishes with: "configure: exit
0"). However, when I try to install it, the installation finishes with
the error below. I wonder if anyone here could help me figure out what
is going wrong.

Thanks a lot!
Gustavo.

==
$ make clean
[...]
$ make install
[...]
Making install in mca/timer/windows
make[2]: Entering directory
`/home/seabra/local/openmpi-1.2.7/opal/mca/timer/windows'
depbase=`echo timer_windows_component.lo | sed 's|[^/]*$|.deps/&|;s|\.lo$||'`;\
/bin/sh ../../../../libtool --tag=CC   --mode=compile gcc
-DHAVE_CONFIG_H -I. -I../../../../opal/include
-I../../../../orte/include -I../../../../ompi/include   -I../../../..
-D_REENTRANT  -O3 -DNDEBUG -finline-functions -fno-strict-aliasing
-MT timer_windows_component.lo -MD -MP -MF $depbase.Tpo -c -o
timer_windows_component.lo timer_windows_component.c &&\
mv -f $depbase.Tpo $depbase.Plo
libtool: compile:  gcc -DHAVE_CONFIG_H -I. -I../../../../opal/include
-I../../../../orte/include -I../../../../ompi/include -I../../../..
-D_REENTRANT -O3 -DNDEBUG -finline-functions -fno-strict-aliasing -MT
timer_windows_component.lo -MD -MP -MF
.deps/timer_windows_component.Tpo -c timer_windows_component.c
-DDLL_EXPORT -DPIC -o .libs/timer_windows_component.o
timer_windows_component.c:22:60:
opal/mca/timer/windows/timer_windows_component.h: No such file or
directory
timer_windows_component.c:25: error: parse error before
"opal_timer_windows_freq"
timer_windows_component.c:25: warning: data definition has no type or
storage class
timer_windows_component.c:26: error: parse error before
"opal_timer_windows_start"
timer_windows_component.c:26: warning: data definition has no type or
storage class
timer_windows_component.c: In function `opal_timer_windows_open':
timer_windows_component.c:60: error: `LARGE_INTEGER' undeclared (first
use in this function)
timer_windows_component.c:60: error: (Each undeclared identifier is
reported only once
timer_windows_component.c:60: error: for each function it appears in.)
timer_windows_component.c:60: error: parse error before "now"
timer_windows_component.c:62: error: `now' undeclared (first use in
this function)
make[2]: *** [timer_windows_component.lo] Error 1
make[2]: Leaving directory
`/home/seabra/local/openmpi-1.2.7/opal/mca/timer/windows'
make[1]: *** [install-recursive] Error 1
make[1]: Leaving directory `/home/seabra/local/openmpi-1.2.7/opal'
make: *** [install-recursive] Error 1


[OMPI users] Fwd: Problems installing in Cygwin

2008-10-22 Thread Gustavo Seabra
Hi All,

(Sorry if you already got this message befor, but since I didn't get
any answer, I'm assuming it didn't get through to the list.)

I am trying to install OpenMPI in Cygwin. from a cygwin bash shell, I
configured OpenMPI with the command below:

$ echo $MPI_HOME
/home/seabra/local/openmpi-1.2.7
$ ./configure --prefix=$MPI_HOME \
   --with-mpi-param_check=always \
   --with-threads=posix \
   --enable-mpi-threads \
   --disable-io-romio \
   FC="g95" FFLAGS="-O0  -fno-second-underscore" \
   CXX="g++"

The configuration *seems* to be OK (it finishes with: "configure: exit
0"). However, when I try to install it, the installation finishes with
the error below. I wonder if anyone here could help me figure out what
is going wrong.

Thanks a lot!
Gustavo.

==
$ make clean
[...]
$ make install
[...]
Making install in mca/timer/windows
make[2]: Entering directory
`/home/seabra/local/openmpi-1.2.7/opal/mca/timer/windows'
depbase=`echo timer_windows_component.lo | sed 's|[^/]*$|.deps/&|;s|\.lo$||'`;\
   /bin/sh ../../../../libtool --tag=CC   --mode=compile gcc
-DHAVE_CONFIG_H -I. -I../../../../opal/include
-I../../../../orte/include -I../../../../ompi/include   -I../../../..
-D_REENTRANT  -O3 -DNDEBUG -finline-functions -fno-strict-aliasing
-MT timer_windows_component.lo -MD -MP -MF $depbase.Tpo -c -o
timer_windows_component.lo timer_windows_component.c &&\
   mv -f $depbase.Tpo $depbase.Plo
libtool: compile:  gcc -DHAVE_CONFIG_H -I. -I../../../../opal/include
-I../../../../orte/include -I../../../../ompi/include -I../../../..
-D_REENTRANT -O3 -DNDEBUG -finline-functions -fno-strict-aliasing -MT
timer_windows_component.lo -MD -MP -MF
.deps/timer_windows_component.Tpo -c timer_windows_component.c
-DDLL_EXPORT -DPIC -o .libs/timer_windows_component.o
timer_windows_component.c:22:60:
opal/mca/timer/windows/timer_windows_component.h: No such file or
directory
timer_windows_component.c:25: error: parse error before
"opal_timer_windows_freq"
timer_windows_component.c:25: warning: data definition has no type or
storage class
timer_windows_component.c:26: error: parse error before
"opal_timer_windows_start"
timer_windows_component.c:26: warning: data definition has no type or
storage class
timer_windows_component.c: In function `opal_timer_windows_open':
timer_windows_component.c:60: error: `LARGE_INTEGER' undeclared (first
use in this function)
timer_windows_component.c:60: error: (Each undeclared identifier is
reported only once
timer_windows_component.c:60: error: for each function it appears in.)
timer_windows_component.c:60: error: parse error before "now"
timer_windows_component.c:62: error: `now' undeclared (first use in
this function)
make[2]: *** [timer_windows_component.lo] Error 1
make[2]: Leaving directory
`/home/seabra/local/openmpi-1.2.7/opal/mca/timer/windows'
make[1]: *** [install-recursive] Error 1
make[1]: Leaving directory `/home/seabra/local/openmpi-1.2.7/opal'
make: *** [install-recursive] Error 1


Re: [OMPI users] Fwd: Problems installing in Cygwin

2008-10-28 Thread Gustavo Seabra
On Tue, Oct 28, 2008 at 9:06 AM, George Bosilca wrote:
> It is complaining about a missing file. This is a file from the Open MPI
> distribution, I wonder how it can be missing. Can you verify that the file
> opal/mca/timer/windows/timer_windows_component.h is there ?

No, it's not. But I see a
opal/mca/timer/windows/timer_windows_component.c and a timer_windows.h
there. Should it have been generated at some point in the compilation?
The contents of that directory are only:

$ ls $HOME/local/openmpi-1.2.7/opal/mca/timer/windows/
Makefile  Makefile.am  Makefile.in  configure.m4  timer_windows.h
timer_windows_component.c

I don't know how relevant it is, but I downloaded the
"openmpi-1.2.7.tar.bz2" file (MD5SUM
b5ae3059fba71eba4a89a2923da8223f). Also, I'm trying to make a local
install, in $HOME/local/openmpi-1.2.7. Finally, as I may have
mentioned before, this installation is in Cygwin but, as far as I
understand, it shouldn't matter much since Cygwin these days can
reproduce a POSIX environment very well. Also, I don't quite
understand why is it looking for what it seems (to me) to be
windows-based function, since it is in a POSIX environment.

Thank you very much. Please let me know if there is any other
information I can provide to help track this.

All the best,

-- 
Gustavo Seabra
Postdoctoral Associate
Quantum Theory Project - University of Florida
Gainesville - Florida - USA


Re: [OMPI users] Fwd: Problems installing in Cygwin

2008-10-29 Thread Gustavo Seabra
On Mon, Oct 27, 2008 at 4:52 PM, Jeff Squyres wrote:
> Sorry for the lack of reply; several of us were at the MPI Forum meeting
> last week, and although I can't speak for everyone else, I know that I
> always fall [way] behind on e-mail when I travel.  :-\
>
> The windows port is very much a work-in-progress.  I'm not surprised that it
> doesn't work.  :-\
>
> The good folks at U. Stuttgart/HLRS are actively working on a real Windows
> port, but it's off in a side-branch right now.  I don't know the exact
> status of this port -- George / Rainer / Shiqing, can you comment?

Hi Jeff,

Thanks a lot for your interest. I just wanted to clarify that I am
*not* looking for a Windows port. I'm actually trying to compile it in
Cygwin, which *should* behave like a regular *nix system, so that
issue should *not* be specific of windows systems. If it turns out to
be a "happens-in-windows-cygwin-only" thing, then it is most likely
coming from some problem with my Cygwin installation, or (unlikely) a
Cygwin bug.

Thanks,
Gustavo.


Re: [OMPI users] Fwd: Problems installing in Cygwin

2008-10-29 Thread Gustavo Seabra
On Wed, Oct 29, 2008 at 10:48 AM, George Bosilca wrote:
> Gustavo,
>
> I think we have a problem in the "make dist" for the 1.2. I just downloaded
> the latest 1.2.8, and the windows timer component header file is not in the
> tarball. This file is not automatically generated, and it is in the svn
> version.
>
> Anyway, the 1.3 is nearly ready to replace the 1.2 as the stable version.
> And it does have this file, so I strongly suggest to switch from the 1.2 to
> the 1.3 series.

Hi George,

Thank you very much for the suggestion.

I did what you suggested and downloaded openmpi-1.3b1, and now I can
see that file there.

The configuration ends cleanly again, but this time the compilation
stops with the error below. Do you mind taking a look at it to see
what could be wrong?

Thanks.

=
[...]
Making install in mca/memory/mallopt
make[2]: Entering directory
`/home/seabra/local/openmpi-1.3b1/opal/mca/memory/mallopt'
depbase=`echo memory_mallopt_component.lo | sed 's|[^/]*$|.deps/&|;s|\.lo$||'`;\
/bin/sh ../../../../libtool --tag=CC   --mode=compile gcc
-DHAVE_CONFIG_H -I. -I../../../../opal/include
-I../../../../orte/include -I../../../../ompi/include
-I../../../../opal/mca/paffinity/linux/plpa/src/libplpa
-I../../../..  -D_REENTRANT  -O3 -DNDEBUG -finline-functions
-fno-strict-aliasing  -MT memory_mallopt_component.lo -MD -MP -MF
$depbase.Tpo -c -o memory_mallopt_component.lo
memory_mallopt_component.c &&\
mv -f $depbase.Tpo $depbase.Plo
libtool: compile:  gcc -DHAVE_CONFIG_H -I. -I../../../../opal/include
-I../../../../orte/include -I../../../../ompi/include
-I../../../../opal/mca/paffinity/linux/plpa/src/libplpa -I../../../..
-D_REENTRANT -O3 -DNDEBUG -finline-functions -fno-strict-aliasing -MT
memory_mallopt_component.lo -MD -MP -MF
.deps/memory_mallopt_component.Tpo -c memory_mallopt_component.c
-DDLL_EXPORT -DPIC -o .libs/memory_mallopt_component.o
memory_mallopt_component.c: In function `munmap':
memory_mallopt_component.c:106: error: `RTLD_NEXT' undeclared (first
use in this function)
memory_mallopt_component.c:106: error: (Each undeclared identifier is
reported only once
memory_mallopt_component.c:106: error: for each function it appears in.)
make[2]: *** [memory_mallopt_component.lo] Error 1
make[2]: Leaving directory
`/home/seabra/local/openmpi-1.3b1/opal/mca/memory/mallopt'
make[1]: *** [install-recursive] Error 1
make[1]: Leaving directory `/home/seabra/local/openmpi-1.3b1/opal'
make: *** [install-recursive] Error
=


Re: [OMPI users] Fwd: Problems installing in Cygwin

2008-10-29 Thread Gustavo Seabra
On Wed, Oct 29, 2008 at 1:49 PM, Jeff Squyres wrote:
> Ugh.  IMHO, Cygwin != POSIX.
>
> The problem is that we're making the assumption that if dlsym() is present,
> RTLD_NEXT is defined.  I guess that's not true for cygwin (lame).  I suppose
> that we could also check for RTLD_NEXT...?  Is there any other OS where
> dlsym() is present by RTLD_NEXT is not?
>
> Would it be easier to run Linux in a virtual machine on your windows host?
>  You'll probably get a lot better performance...?

Hi Jeff,

Are you sure RTLD_NEXT is part of the POSIX standard? I may be looking
in the wrong place, but apparently it is *not* part of the standard,
at least as defined here:

http://www.opengroup.org/onlinepubs/95399/basedefs/dlfcn.h.html

It would seem that this is a GNU extension, so it becomes available
when __USE_GNU is defined. Now, looking at the cygwin version of
dlfcn.h, I see that RTDL_NEXT is *not* defined, but RTDL_LAZY,
RTLD_NOW, RTLD_LOCAL and RTLD_GLOBAL, which makes it compliant with
POSIX, but not GNU.

The 'memory_mallopt_component.c' only checks if 'HAVE_DLSYM' is
defined. If so, it defines __USE_GNU then includes dlfcn.h. This is
ok, assuming you have a GNU version of dlfcn.h, but apparently this is
not present in Cygwin...

So far, apparently, CYGWIN == POSIX (still), but CYGWIN != GNU.

-- 
Gustavo Seabra
Postdoctoral Associate
Quantum Theory Project - University of Florida
Gainesville - Florida - USA


Re: [OMPI users] Fwd: Problems installing in Cygwin

2008-10-30 Thread Gustavo Seabra
On Thu, Oct 30, 2008 at 8:40 AM, Jeff Squyres wrote:
> On Oct 29, 2008, at 4:31 PM, Gustavo Seabra wrote:
>
>>> Ugh.  IMHO, Cygwin != POSIX.
>>>
>>> The problem is that we're making the assumption that if dlsym() is
>>> present,
>>> RTLD_NEXT is defined.  I guess that's not true for cygwin (lame).  I
>>> suppose
>>> that we could also check for RTLD_NEXT...?  Is there any other OS where
>>> dlsym() is present by RTLD_NEXT is not?
>>>
>>> Would it be easier to run Linux in a virtual machine on your windows
>>> host?
>>> You'll probably get a lot better performance...?
>>
>> Hi Jeff,
>>
>> Are you sure RTLD_NEXT is part of the POSIX standard? I may be looking
>> in the wrong place, but apparently it is *not* part of the standard,
>> at least as defined here:
>>
>> http://www.opengroup.org/onlinepubs/95399/basedefs/dlfcn.h.html
>
> Fair enough -- my words were ambiguous, and probably overly broad.  I was
> trying to convey that my prior experience with Cygwin has biased me to
> believe that Cygwin tends to be "different" than other POSIX-like OSs, such
> as Linux, Solaris, and OS X.
>
>> It would seem that this is a GNU extension, so it becomes available
>> when __USE_GNU is defined. Now, looking at the cygwin version of
>> dlfcn.h, I see that RTDL_NEXT is *not* defined, but RTDL_LAZY,
>> RTLD_NOW, RTLD_LOCAL and RTLD_GLOBAL, which makes it compliant with
>> POSIX, but not GNU.
>>
>> The 'memory_mallopt_component.c' only checks if 'HAVE_DLSYM' is
>> defined. If so, it defines __USE_GNU then includes dlfcn.h. This is
>> ok, assuming you have a GNU version of dlfcn.h, but apparently this is
>> not present in Cygwin...
>
> Understood; this was a more complete/precise meaning for my question "Is
> there any other OS where
> dlsym() is present by RTLD_NEXT is not?"  I suppose we can extend the
> configure test to check for RTLD_NEXT as well.  In this way, that component
> won't even decide to build itself.  You won't need this component, because
> it's only really useful for the OpenFabrics and [ancient] Myricom GM drivers
> in Open MPI, neither of which are likely to be supported in Cygwin.


That should be good enough, at least for that part. Or testing first
for the presence of OpenFabrics or Myricom? Maybe it could just test
for the existence of GNU extensions? I don't know. I understand it
must be really hard to keep track of what is standard and what is not
these days. I'm just thankful that you guys are looking into it.
Thanks!

> Also FWIW, my understanding is that running another OS in a VM (such as
> Linux or your favorite BSD) will run *much* faster than Cygwin.  I have dim
> recollections of LAM's and OMPI's "configure" script taking loong
> periods of time (I no longer have easy access to a Windows machine to do
> such testing).  Those with more Windows experience than me attributed it to
> Windows' process model implementation, which is quite different than
> Linux/Solaris/OSX/etc.  So I'm just curious: do you have a reason for
> preferring Cygwin instead of a VM?

Well... I don't. It's just that, due to specifics of my work, I need
to work on a Windows computer, but I also like to use many unix
features / commands. So, I just use Cygwin out of convenience, which
in a way gives me the best of both worlds without the need to dual
boot.

However, the other reason I use Cygwin is because I work in the
development of a program and it is very convenient to do that in
Cygwin, especially when I'm traveling and only have access to my
laptop. Many users have this program running in Cygwin, so it's also
good to have a place to test it. I don't really use Cygwin for the
long "production" runs that would actually require a MPI, for that I
have access to local clusters or Teragrid. My problem is testing the
parallel version in Cygwin (or if any changes made break the parallel
implementation) because I still did not manage to install a MPI in
Cygwin.

In fact, I have never tried a VM :-$ I guess I should give it a try
sometime. Do you have any recommendations? My only requirements are
that (i) it works, (ii) it's free.

Thanks a lot!!
-- 
Gustavo Seabra
Postdoctoral Associate
Quantum Theory Project - University of Florida
Gainesville - Florida - USA


Re: [OMPI users] Fwd: Problems installing in Cygwin

2008-10-31 Thread Gustavo Seabra
As I keep trying to install OpenMPI in Cygwin, I found another
instance where RTFD_NEXT is assumed to be present. Will keep trying...

Gustavo.

=
Making all in vtlib
make[5]: Entering directory
`/home/seabra/local/openmpi-1.3b1/ompi/contrib/vt/vt/vtlib'
gcc -DHAVE_CONFIG_H -I. -I.. -I../tools/opari/lib
-I../extlib/otf/otflib -I../extlib/otf/otflib -D_REENTRANT
-DBINDIR=\"/home/seabra/local/openmpi-1.3b1/bin\"
-DDATADIR=\"/home/seabra/local/openmpi-1.3b1/share/vampirtrace\" -DRFG
-DVT_BFD  -DVT_IOWRAP  -O3 -DNDEBUG -finline-functions
-fno-strict-aliasing  -MT vt_comp_gnu.o -MD -MP -MF
.deps/vt_comp_gnu.Tpo -c -o vt_comp_gnu.o vt_comp_gnu.c
mv -f .deps/vt_comp_gnu.Tpo .deps/vt_comp_gnu.Po
gcc -DHAVE_CONFIG_H -I. -I.. -I../tools/opari/lib
-I../extlib/otf/otflib -I../extlib/otf/otflib -D_REENTRANT
-DBINDIR=\"/home/seabra/local/openmpi-1.3b1/bin\"
-DDATADIR=\"/home/seabra/local/openmpi-1.3b1/share/vampirtrace\" -DRFG
-DVT_BFD  -DVT_IOWRAP  -O3 -DNDEBUG -finline-functions
-fno-strict-aliasing  -MT vt_iowrap.o -MD -MP -MF .deps/vt_iowrap.Tpo
-c -o vt_iowrap.o vt_iowrap.c
vt_iowrap.c: In function `vt_iowrap_init':
vt_iowrap.c:105: error: `RTLD_NEXT' undeclared (first use in this function)
vt_iowrap.c:105: error: (Each undeclared identifier is reported only once
vt_iowrap.c:105: error: for each function it appears in.)
vt_iowrap.c: In function `open':
vt_iowrap.c:188: error: `RTLD_NEXT' undeclared (first use in this function)
[...and a bunch of messages just like those last 2 lines...]


Re: [OMPI users] Fwd: Problems installing in Cygwin

2008-10-31 Thread Gustavo Seabra
On Thu, Oct 30, 2008 at 9:04 AM, George Bosilca wrote:

Hi George,

I'm sorry for taking too long to respond. As you mentioned, config
takes a veeery long time in cygwin, and then the install itself
takes many ties that :-(

> As Jeff mentioned this component is not required on Windows. You can disable
> it completely in Open MPI and everything will continue to work correctly.
> Please add --enable-mca-no-build=memory_mallopt o maybe the more generic (as
> there is no need for any memory manager on Windows
> --enable-mca-no-build=memory.

Tried, doesn't quite work:

If I configure with "--enable-mca-no-build=memory", the config dies with:

  *** Final output
  configure: error: conditional "OMPI_WANT_EXTERNAL_PTMALLOC2" was
never defined.
  Usually this means the macro was only invoked conditionally.

Now, if i try with "--enable-mca-no-build=memory_mallopt", the
configuration script runs just fine, but the compilation dies when
compiling "mca/paffinity/windows":

  libtool: compile:  gcc -DHAVE_CONFIG_H -I.
-I../../../../opal/include -I../../../../orte/include -I../../../..
  /ompi/include
-I../../../../opal/mca/paffinity/linux/plpa/src/libplpa -I../../../..
-D_REENTRANT -O3
  -DNDEBUG -finline-functions -fno-strict-aliasing -MT
paffinity_windows_module.lo -MD -MP -MF
  .deps/paffinity_windows_module.Tpo -c paffinity_windows_module.c
-DDLL_EXPORT -DPIC -o
  .libs/paffinity_windows_module.o
  paffinity_windows_module.c:44: error: parse error before "sys_info"

  [... and then a bunch of messages after that, all related to
paffinity_windows_module.c, which...]
  [... I think are all related to this first one...]

Finally, I thought that I can live without processor affinity or even
memory affinity, so I tried using
" --enable-mca-no-build=memory_mallopt,maffinity,paffinity", and the
configuration went all smoothly. The compilation... You guessed, died
again. But this time it was something that had bit me before:
RTLD_NEXT, which is required by one contributed package (vt). (See my
previous message to Jeff and the list.)

My next attempt will be to remove this package, and see how far I can
get... But I'm getting there :-)

> It is possible to have a native version of Open MPI on Windows. There are
> two ways to achieve this. First, install SFU, and compile there. It worked
> last time I checked, but it's not the solution I prefer. Second, you can
> install the express version of the Microsoft Visual Studio (which is free),
> and set your PATH, LIB and INCLUDE correctly to point to the installation,
> and then you can use the cl compiler to build Open MPI even on Windows.

That is true, but it seems more complicated for the regular user than
installing OpenMPI (assuming I can figure out the correct combination
of options) Also, our program is actually made for unix, and as a
convenience it *can* be installed in Cygwin, but I'm not sure how it
would work with a native Windows OpenMPI.

Anyways... I fell like I'm getting closer.. Will keep trying during the weekend.

Thanks a lot for all the help! (That goes to Jeff too)

Cheers,
Gustavo.


Re: [OMPI users] MPI + Mixed language coding(Fortran90 + C++)

2008-10-31 Thread Gustavo Seabra
On Fri, Oct 31, 2008 at 3:07 PM, Rajesh Ramaya wrote:

> Actually I am
> not writing any MPI code inside? It's the executable (third party software)
> who does that part.

What are you using for this? We too use Fortran and C routines
combined with no problem at all. I would think that whatever
"third-party" software you are using here is not doing its job right.

-- 
Gustavo Seabra
Postdoctoral Associate
Quantum Theory Project - University of Florida
Gainesville - Florida - USA


[OMPI users] Problems installing in Cygwin - Problem with GCC 3.4.4

2008-11-03 Thread Gustavo Seabra
_ForwardIterator,
_ForwardIterator, std::forward_iterator_tag)':
/usr/lib/gcc/i686-pc-cygwin/3.4.4/include/c++/bits/stl_bvector.h:522:
error: expected unqualified-id before '(' token
/usr/lib/gcc/i686-pc-cygwin/3.4.4/include/c++/bits/stl_bvector.h: In
member function `void std::vector::_M_fill_insert(std::_Bit_iterator, size_t, bool)':
/usr/lib/gcc/i686-pc-cygwin/3.4.4/include/c++/bits/stl_bvector.h:823:
error: expected unqualified-id before '(' token
In file included from /usr/lib/gcc/i686-pc-cygwin/3.4.4/include/c++/vector:75,
 from ../../../ompi/tools/ompi_info/ompi_info.h:24,
 from param.cc:43:
/usr/lib/gcc/i686-pc-cygwin/3.4.4/include/c++/bits/vector.tcc: In
member function `void std::vector<_Tp,
_Alloc>::_M_fill_insert(__gnu_cxx::__normal_iterator >, size_t, const _Tp&)':
/usr/lib/gcc/i686-pc-cygwin/3.4.4/include/c++/bits/vector.tcc:307:
error: expected unqualified-id before '(' token
/usr/lib/gcc/i686-pc-cygwin/3.4.4/include/c++/bits/vector.tcc: In
member function `void std::vector<_Tp,
_Alloc>::_M_range_insert(__gnu_cxx::__normal_iterator >, _ForwardIterator,
_ForwardIterator, std::forward_iterator_tag)':
/usr/lib/gcc/i686-pc-cygwin/3.4.4/include/c++/bits/vector.tcc:384:
error: expected unqualified-id before '(' token


-- 
Gustavo Seabra
Postdoctoral Associate
Quantum Theory Project - University of Florida
Gainesville - Florida - USA


Re: [OMPI users] Problems installing in Cygwin - Problem with GCC 3.4.4

2008-11-03 Thread Gustavo Seabra
On Mon, Nov 3, 2008 at 3:04 PM, Jeff Squyres wrote:
> On Nov 3, 2008, at 2:53 PM, Gustavo Seabra wrote:
>
>> Finally, I was *almost* able to compile OpenMPI in Cygwin using the
>> following configure command:
>>
>> ./configure --prefix=/home/seabra/local/openmpi-1.3b1 \
>>   --with-mpi-param_check=always --with-threads=posix \
>>   --enable-mpi-threads --disable-io-romio \
>>   --enable-mca-no-build=memory_mallopt,maffinity,paffinity \
>>   --enable-contrib-no-build=vt \
>>   FC=g95 'FFLAGS=-O0  -fno-second-underscore' CXX=g++
>
> For your fortran issue, the Fortran 90 interface needs the Fortran 77
> interface.  So you need to supply an F77 as well (the output from configure
> should indicate that the F90 interface was disabled because the F77
> interface was disabled).

Is that what you mean (see below)? I thought the g95 compiler could
deal with F77 as well as F95... If so, could I just pass F77='g95'?

(From the configure output)
*** Fortran 90/95 compiler
checking whether we are using the GNU Fortran compiler... yes
checking whether g95 accepts -g... yes
checking if Fortran compiler works... yes
checking whether g77 and g95 compilers are compatible... no
configure: WARNING: *** Fortran 77 and Fortran 90 compilers are not
link compatible
configure: WARNING: *** Disabling MPI Fortran 90/95 bindings
checking for extra arguments to build a shard library... none needed
checking to see if F90 compiler likes the C++ exception flags...
skipped (no F90 bindings)

>
>> I then had a very weird error during compilation of
>> ompi/tools/ompi_info/params.cc. (See below).
>>
>> The lines causing the compilation errors are:
>>
>> vector.tcc:307:  const size_type __len = __old_size +
>> std::max(__old_size, __n);
>> vector.tcc:384:  const size_type __len = __old_size +
>> std::max(__old_size, __n);
>> stl_bvector.h:522:  const size_type __len = size() + std::max(size(),
>> __n);
>> stl_bvector.h:823:  const size_type __len = size() + std::max(size(),
>> __n);
>>
>> (Notice that those are from the standard gcc libraries.)
>>
>> After googling it for a while, I could find that this error is caused
>> because, at come point, the source code being compiled redefined the
>> "max" function with a macro, g++ cannot recognize the "std::max" that
>> happens in those lines and only "sees" a (...), thus printing that
>> cryptic complaint.
>>
>> I looked in some places in the OpenMPI code, but I couldn't find
>> "max" being redefined anywhere, but I may be looking in the wrong
>> places. Anyways, the only way of found of compiling OpenMPI was a very
>> ugly hack: I have to go into those files and remove the "std::" before
>> the "max". With that, it all compiled cleanly.
>
> I'm not sure I follow -- I don't see anywhere in OMPI where we use std::max.
>  What areas did you find that you needed to change?

These files are part of the standard C++ headers. In my case, they sit in:
/usr/lib/gcc/i686-pc-cygwin/3.4.4/include/c++/bits

In principle, the problems that comes from those files would mean that
the OpenMPI source has some macro redefining max, but that's what I
could not find :-(

>> I did try running the tests in the 'tests' directory (with 'make
>> check'), and I didn't get any alarming message, except that in some
>> cases (class, threads, peruse) it printed "All 0 tests passed". I got
>> and "All (n) tests passed" (n>0) for asm and datatype.
>>
>> Can anybody comment on the meaning of those test results? Should I be
>> alarmed with the "All 0 tests passed" messages?
>
> No.  We don't really maintain the "make check" stuff too well.

Oh well... What do you use for testing the implementation?

Thanks a lot!
Gustavo.


Re: [OMPI users] Problems installing in Cygwin - Problem with GCC 3.4.4

2008-11-03 Thread Gustavo Seabra
On Mon, Nov 3, 2008 at 8:59 PM, Terry Frankcombe wrote:
>> On Nov 3, 2008, at 3:36 PM, Gustavo Seabra wrote:
>>
>>>> For your fortran issue, the Fortran 90 interface needs the Fortran 77
>>>> interface.  So you need to supply an F77 as well (the output from
>>>> configure
>>>> should indicate that the F90 interface was disabled because the F77
>>>> interface was disabled).
>>>
>>> Is that what you mean (see below)?
>>
>> Ah yes -- that's another reason the f90 interface could be disabled:
>> if configure detects that the f77 and f90 compilers are not link-
>> compatible.
>>
>>> I thought the g95 compiler could
>>> deal with F77 as well as F95... If so, could I just pass F77='g95'?
>>
>> That would probably work (F77=g95).  I don't know the g95 compiler at
>> all, so I don't know if it also accepts Fortran-77-style codes.  But
>> if it does, then you're set.  Otherwise, specify a different F77
>> compiler that is link compatible with g95 and you should be good.
>
> Fortran 90 is a superset of the archaic, hamstrung, "I'm too old to learn
> how to program in a useful manner and I still use punched cards" Fortran
> 77.  All Fortran 90 compilers are Fortran 77 compilers, by definition.
> Fortran 95 has a few (~5) deleted features and a few minor added features.
>  I've never heard of a Fortran 95 compiler that wasn't a Fortran 90
> compiler, and thus a Fortran 77 compiler.
>
> Take g77 and throw it away.  While it's not particularly buggy, it hasn't
> been maintained for years and should be out-performed by a more modern
> compiler such as g95 or gfortran.
>

OK, so I tried to set all my fortran compilers to g95... But for some
reason, it looks like g95 and g95 (!) compilers are not compatible...
How's that even possible? (See below)

Thanks a lot,
Gustavo.
--
./configure --prefix=$MPI_HOME \
--with-mpi-param_check=always \
--with-threads=posix \
--enable-mpi-threads \
--disable-io-romio \
--enable-mca-no-build=memory_mallopt,maffinity,paffinity \
--enable-contrib-no-build=vt \
FC='g95' F77='g95' F90='g95' F95='g95' \
CC='gcc' CXX='g++' \
FFLAGS='-O0  -fno-second-underscore'


*** Fortran 77 compiler
checking whether we are using the GNU Fortran 77 compiler... yes
checking whether g95 accepts -g... yes
checking if Fortran 77 compiler works... yes
checking g95 external symbol convention... single underscore
checking if C and Fortran 77 are link compatible... yes
 (just a ton of "yes"-es)

*** Fortran 90/95 compiler
checking whether we are using the GNU Fortran compiler... yes
checking whether g95 accepts -g... yes
checking if Fortran compiler works... yes
checking whether g95 and g95 compilers are compatible... no
configure: WARNING: *** Fortran 77 and Fortran 90 compilers are not
link compatible
configure: WARNING: *** Disabling MPI Fortran 90/95 bindings


Re: [OMPI users] openmpi-1.2.8 and cygwin...

2008-12-02 Thread Gustavo Seabra
Is that going to work with Cygwin programs? One reason I have been
trying to install OpenMPI in Cygwin is to be able to run Cygwin
programs in parallel. Would a native Windows implementation help
there?

Gustavo.

On Tue, Nov 18, 2008 at 4:45 AM, Shiqing Fan wrote:
> Dear Solibakke,
>
> I'm not familiar with the installation under Cygwin, but what I can tell is
> that we are making a windows support public very soon. When it's ready, you
> will never need to install Open MPI under Cygwin on Windows, you will be
> able to configure with CMake and compile everything with Visual Studio
> (2005/2008/Express), or you could also install Open MPI with a binary
> installer without compiling any source code.
>
> I suggest you to use Open MPI trunk when the Windows support (with CMake) is
> ready. I'm also glad to help you with that.
>
>
> Regards,
> Shiqing
>
>
> Solibakke Per Bjarte wrote:
>>
>> I'm trying to use CYGWIN + Open-mpi 1.2.8 / open-mpi-1.3b2
>> /openmpi-1.4a1r20006
>>  In all o+pen-mpi versions I receive the following error messege from
>>  make all  (see attached file: /log.make/)
>>  The configure works well:
>> ./configure --prefix=/usr/local/ompi-1-2-8 --with-mpi-param-check=runtime
>> --with-threads=posix --enable-mpi-threads --disable-io-romio
>> --enable-mca-no-build=memory_mallopt,maffinity,paffinity
>> --enable-contrib-no-build=vt --enable-shared
>>  Is this a bug in open-mpi-2.8 or is there something missing from CYGWIN
>> installation?
>>  Reagards
>> PBSolibakke