LAM/MPI logo

LAM/MPI General User's Mailing List Archives

  |   Home   |   Download   |   Documentation   |   FAQ   |   all just in this list

From: Siegmar Gross (Siegmar.Gross_at_[hidden])
Date: 2009-01-14 11:21:38


Hi,

I have installed lam-7.1.4 and xmpi-2.2.3b8 on Cygwin-1.5.25-15.
Everything worked without problems for gcc-3.4.4. I've had minor
problems with gcc-4.3.2 which I could solve.

eiger lam-7.1.4 24 gcc-4 -v
Using built-in specs.
Target: i686-pc-cygwin
Configured with: ...
Thread model: single
gcc version 4.3.2 20080827 (alpha-testing) 1 (GCC)

configure --prefix=/usr/local/lam-7.1.4-gcc-4 \
  CFLAGS="" CXXFLAGS="" FFLAGS="" FCFLAGS="" \
  LDFLAGS="" CXXLDFLAGS="" \
  CPPFLAGS="" C_INCL_PATH="" C_INCLUDE_PATH="" CPLUS_INCLUDE_PATH="" \
  OBJC_INCLUDE_PATH="" LAMHOME="" \
  CC="gcc-4" CPP="cpp-4" CXX="g++-4" CXXCPP="cpp-4" F77="gfortran-4" \
  --with-exceptions --with-purify --with-trillium \
  --with-threads=posix --with-rsh="ssh -q" \
  --with-profiling --enable-shared --without-romio --without-cs-fs \
  |& tee log.configure.$SYSTEM_ENV.$MACHINE_ENV.gcc-4

...
checking for map... yes
checking for type bool... no
checking for true/false... no
configure: WARNING: *** Your C++ compiler does not support the bool
  data type.
configure: WARNING: *** LAM requires a C++ compiler with support for
  the bool
configure: WARNING: *** data type.
configure: error: cannot continue

config.log
==========

...
configure:8676: checking for type bool
configure:8689: g++-4 -O3 -fexceptions conftest.cc -o conftest
conftest.cc:4: error: second argument of 'int main(int, char*)'
  should be 'char **'
configure:8696: here is the program that failed:
#include <stdio.h>
#include <sys/types.h>

int main(int argc, char* argv) {
  bool foo = (bool) 0;
  printf("so foo is used and the compiler wont complain: %d",
  (int) foo);
  return 0;
}

I changed the following lines in "configure" and everything
worked fine.

eiger lam-7.1.4 21 diff configure configure.orig
4463c4463
< int main(int argc, char** argv)

---
> int main(int argc, char* argv)
7897c7897
< int main(int argc, char** argv) {
---
> int main(int argc, char* argv) {
8683c8683
< int main(int argc, char** argv) {
---
> int main(int argc, char* argv) {
8757c8757
< int main(int argc, char** argv) {
---
> int main(int argc, char* argv) {
22739c22739
< main(int argc, char** argv)
---
> main(int argc, char* argv)
22826c22826
< main(int argc, char** argv)
---
> main(int argc, char* argv)
42468c42468
< int main(int argc, char** argv) { return foo(); }
---
> int main(int argc, char* argv) { return foo(); }
Next I tried to install xmpi.
./configure --prefix=/usr/local/lam-7.1.4-gcc-4 \
  --enable-shared --with-cxx=mpic++ \
  CFLAGS="" CXXFLAGS="" FFLAGS="" FCFLAGS="" \
  LDFLAGS="" CXXLDFLAGS="" \
  CPPFLAGS="" C_INCL_PATH="" C_INCLUDE_PATH="" CPLUS_INCLUDE_PATH="" \
  OBJC_INCLUDE_PATH="" LAMHOME="" \
  |& tee log.configure.$SYSTEM_ENV.$MACHINE_ENV
...
make |& tee log.make.$SYSTEM_ENV.$MACHINE_ENV
...
 mpic++ -DHAVE_CONFIG_H -I. -I. -I../../src/xmpi -I../../src
  -I/usr/X11R6/include -O -MT xmpi_asc_parse.lo -MD -MP -MF
  .deps/xmpi_asc_parse.Tpo -c xmpi_asc_parse.cc  -DPIC -o 
 .libs/xmpi_asc_parse.o
xmpi_asc_parse.cc: In function 'int xmpi_asc_parse(const char*,
  int4*, LIST**)':
xmpi_asc_parse.cc:91: error: 'malloc' was not declared in this scope
xmpi_asc_parse.cc:99: error: 'free' was not declared in this scope
xmpi_asc_parse.cc:108: error: 'free' was not declared in this scope
xmpi_asc_parse.cc:122: error: 'free' was not declared in this scope
xmpi_asc_parse.cc: In function 'OPT* xmpi_get_options(const char*)':
xmpi_asc_parse.cc:252: error: 'malloc' was not declared in this scope
xmpi_asc_parse.cc:266: error: 'free' was not declared in this scope
mpic++: No such file or directory
make[2]: *** [xmpi_asc_parse.lo] Error 1
I added "stdlib.h" to "src/libxmpi/xmpi_asc_parse.cc" and could
continue with the installation.
eiger xmpi-2.2.3b8 45 diff src/libxmpi/xmpi_asc_parse.cc
  src/libxmpi/xmpi_asc_parse.cc.orig
26d25
< #include <stdlib.h>
eiger xmpi-2.2.3b8 46 
Unfortunately I had to solve one more problem.
...
if mpic++ -DHAVE_CONFIG_H -I. -I. -I.  -I../../src
  -I/usr/X11R6/include   -O -MT xmpi_misc.o -MD -MP -MF
  ".deps/xmpi_misc.Tpo" \
          -c -o xmpi_misc.o `test -f 'xmpi_misc.cc' ||
   echo './'`xmpi_misc.cc; \
        then mv -f ".deps/xmpi_misc.Tpo" ".deps/xmpi_misc.Po"; \
        else rm -f ".deps/xmpi_misc.Tpo"; exit 1; \
        fi
In file included from /usr/X11R6/include/Xm/XmP.h:1646,
                 from /usr/X11R6/include/Xm/PrimitiveP.h:29,
                 from /usr/X11R6/include/Xm/SashP.h:29,
                 from xmpi_misc.cc:29:
/usr/X11R6/include/X11/VendorP.h:87: error: previous declaration
  of 'VendorShellClassRec vendorShellClassRec' with 'C++' linkage
/usr/X11R6/include/Xm/VendorSP.h:58: error: conflicts with new
  declaration with 'C' linkage
mpic++: No such file or directory
make[3]: *** [xmpi_misc.o] Error 1
I temporarily put the conflicting line in file
"/usr/X11R6/include/Xm/VendorSP.h" into a comment and could
finish the installation. I don't have a final solution for this
problem.
Perhaps somebody can add my changes to the lam-distribution
so that it will compile in future without changes. Thank
you very much for the integration of the changes in advance.
Siegmar
p.s.: I couldn't configure and compile with "--with-romio".