[Trilinos-Users] Cygwin Build Problems

Phipps, Eric T etphipp at sandia.gov
Fri Jan 16 13:44:36 MST 2009


Hi Michael,

I looked through some of your build output and logs.  I have no experience building Trilinos on cygwin, so what I am about to say may be a complete red-herring.  I noticed from your build log posted at http://pastebin.com/m205199a8 that the make is calling the linker through CC:

cd ./example && make
make[3]: Entering directory `/cygdrive/f/C_Sandbox/tribox/trilinos-9.0.2/Cygwin_serial/packages/teuchos/example'
Making all in BLAS
make[4]: Entering directory `/cygdrive/f/C_Sandbox/tribox/trilinos-9.0.2/Cygwin_serial/packages/teuchos/example/BLAS'
CC -I../../../../../packages/teuchos/src -g -O0 -ansi -pedantic -Wall -fexceptions   -o BLAS_example.exe BLAS_example-cxx_main.o ../../src/libteuchos.a  -llapack -lblas -L/usr/lib/gcc/i686-pc-cygwin/3.4.4 -L/usr/lib/gcc/i686-pc-cygwin/3.4.4/../../.. -lfrtbegin -lg2c -lcygwin -luser32 -lkernel32 -ladvapi32 -lshell32

I believe windows is generally case-insensitive, and so CC is the same as cc, which is likely a link to gcc.  However linking via gcc will not automatically bring in the C++ standard libraries, only if you link via g++.  So you might try adding to your configure script:

CC=gcc CXX=g++

to force configure to use g++ directly (depending on your system setup, you may need to prepend paths to gcc/g++ as well).

Hope this helps,

-Eric

On 1/16/09 1:03 PM, "Bartlett, Roscoe A" <rabartl at sandia.gov> wrote:

Michael,

I am surprised by all of these problems that you are having with building Trilinos on cygwin.  While I have been able to get this to work in the past with the packages that I build we don't really have official support for Cygwin at this point.  I don't think anyone really does any testing of Trilinos on cygwin before a release is put out.  None of our critical internal customers rely on cygwin so it is not a high priority.  Cygwin is more a convenience for developers who want to do a little work on their Windows machine.

Has anyone else on this list be able to get Trilinos 9.0 to build under cygwin?

Cheers,

- Ross





________________________________
From:  trilinos-users-bounces at software.sandia.gov  [mailto:trilinos-users-bounces at software.sandia.gov] On Behalf Of  Michael Sielemann
Sent: Friday, January 16, 2009 9:43  AM
To: Bartlett, Roscoe A
Cc:  Trilinos-Users at software.sandia.gov
Subject: Re: [Trilinos-Users]  Cygwin Build Problems



Dear Ross,
I got a separate computer to do the tests I  mentioned. It uses, just like my laptop, the Core 2 Duo platform. Is this  possibly the reason for the trouble I am having (64 bit)? One of the other  computers I tested earlier was a Centrino, however.

Just for the  record:
1. Started Cygwin Setup 2.573.2.3
   Installation for  current user only
   Unix file type
   Downloaded  from mirror http://www.gtlib.gatech.edu
    List of packages is in the attached ZIP file (cygwin.packages.log)
2.  Configured using do-configure-orig.sh as suggested
3. Log of configure,  screen dump of configure and make are also included in the ZIP file.
4.  Errors as reported before.

Best regards,

And have a great  weekend,

Michael



On Thu, Jan 15, 2009 at 10:09 AM, Michael Sielemann  <michael.sielemann at gmail.com>  wrote:


Dear Ross,
I am trying to get a separate Windows  computer from our IT guys with only plain Windows installed (not the usual  procedure of dumping some image with OS+software but formatting and  installing from original media). Then, I'll try the standard procedure of  building Trilinos. For that, I'd like to ask for your confirmation on the  procedure I described earlier using the do-configure script shown below  (your script minus some flags enabling packages that did not make it into  the general release yet):


1. Install latest Cygwin  with
     - Section 'devel': Adding several  items by hand to the default such that the complete set ends up as

       autoconf wrapper  scripts, autoconf 2.1, automake 1.5, binutils, cmake, doxygen, e2fsprogs,  gcc-core, gcc-g++, gcc-g77, gcc-mingw-core, gcc-mingw-g++, gcc-mingw-g77,  gettext, gtk2-x11, gtk-x11-runtime, libfpx-devel, libfreetype2,  libgdbm-devel, libhdf5-devel, libhdf5-runtime, libiconv, lib-jasper-devel,  liblcms-devel, libwmf-devel?!, libxml2, libxml-devel, make, mingw-runtime,  pango, pango-runtime

     - Section 'math': The LAPACK  package (includes BLAS)
     - All others left on  default

2. In the Cygwin Bash Console, do the  following


Admin at Laptop ~
$ cd  /cygdrive/c/tmp/

Admin at Laptop /cygdrive/c/tmp
$ gunzip  trilinos-9.0.2.tar.gz

Admin at Laptop /cygdrive/c/tmp
$ tar xf  trilinos-9.0.2.tar

Admin at Laptop /cygdrive/c/tmp
$ cd  trilinos-9.0.2

Admin at Laptop /cygdrive/c/tmp/trilinos-9.0.2
$ mkdir  cygwin_serial

Admin at Laptop /cygdrive/c/tmp/trilinos-9.0.2
$ cd  cygwin_serial/

Admin at Laptop  /cygdrive/c/tmp/trilinos-9.0.2/cygwin_serial
$ bash  do-configure.sh

(...)

$ make everything

(...)


Thanks for your input,




Best regards  MICHAEL


-----8<---------------------------------------------------------------------------------------------------------




#!/bin/sh
rm config.cache
../configure  --prefix=/cygdrive/f/C_Sandbox/tribox/trilinoslib \
--cache-file=config.cache \
--with-install="/usr/bin/install -p"  \
CXXFLAGS="-g -O0 -ansi -pedantic -Wall -fexceptions" \
CFLAGS="-g  -O0 -ansi -pedantic -Wall -fexceptions" \
FFLAGS="-g -O0 "  \
--enable-export-makefiles \
--with-gnumake  \
--disable-default-packages \
--enable-teuchos  --enable-teuchos-extended --enable-teuchos-debug --enable-teuchos-abc  --disable-teuchos-blasfloat \
--enable-thyra \
--enable-epetra  --enable-epetra-abc \
--enable-triutils --disable-triutils-tests  --disable-triutils-examples \
--enable-epetraext \
--enable-amesos  \
--enable-aztecoo \
--enable-belos \
--enable-ifpack  \
--enable-ml \
--enable-nox --enable-nox-epetra  --enable-nox-epetraext --enable-nox-thyra --enable-nox-thyra-tests  --enable-nox-tests \
--enable-loca \
--enable-stratimikos  \
--enable-rythmos \
--enable-moocho \
--enable-sacado \

--enable-meros \
--enable-new_package \
--enable-galeri  \
--enable-isorropia \
--enable-moertel \
--enable-anasazi  \
--enable-didasko






On Wed, Jan 14, 2009 at 3:44 PM, Michael Sielemann <michael.sielemann at gmail.com>  wrote:






Dear Ross,
Thanks for your reply and also for your  interest.

Using the following GCC...


$ gcc -v
Reading specs from  /usr/lib/gcc/i686-pc-cygwin/3.4.4/specs
Configured with:  /usr/build/package/orig/test.respin/gcc-3.4.4-3/configure --verbose  --prefix=/usr --exec-prefix=/usr --
sysconfdir=/etc --libdir=/usr/lib  --libexecdir=/usr/lib --mandir=/usr/share/man --infodir=/usr/share/info  --enable-langu

ages=c,ada,c++,d,f77,pascal,java,objc --enable-nls  --without-included-gettext --enable-version-specific-runtime-libs  --w
ithout-x --enable-libgcj --disable-java-awt --with-system-zlib  --enable-interpreter --disable-libgcj-debug --enable-thre

ads=posix --enable-java-gc=boehm --disable-win32-registry  --enable-sjlj-exceptions --enable-hash-synchronization --enabl

e-libstdcxx-debug
Thread model: posix



gcc version 3.4.4 (cygming special, gdc 0.12, using dmd  0.125)





...I compiled all package libraries successfully ('make -i')  except Zoltan. Most warnings were regarding ISO C90 compatibility,  implicit declarations, xyz will be initialized after abc, ISO C  compatibility. I hope that this is expected in spite of supplying -ansi  -pedantic. The actual errors are
http://pastebin.com/m26cf085c <http://pastebin.com/m26cf085c>


Whenever I then  try to build the tests or examples too many errors are reported. At some  point I interrupt via Ctrl-C.

Tests via 'make -i tests':
http://pastebin.com/m19aeaac3 <http://pastebin.com/m19aeaac3>


Examples via  'make -i examples':
http://pastebin.com/m205199a8 <http://pastebin.com/m205199a8>

To me, Zoltan is  not of primary interest but as building the examples and tests fails, too,  I expect that the build is corrupted, too.

Even though I only have  gcc, g++, g77 in exactly the same version in the present Cygwin  installation (no 4.x versions or gfortran installed) I tried the --disable-fortran flag suggested  earlier.

In this case I do get a warning from teuchos/configure  and others but that seems to be related to Fortran and thus shouldn't be a  problem.
checking for dgecon_... no
checking for  dgecon_ in -llapack... yes
checking how to get verbose linking output  from ... configure: WARNING: compilation failed

checking for  Fortran 77 libraries of ...
checking for template-specific object  files to be linked... none

In teuchos/config.log:
configure:16399: checking how to get verbose linking output from
configure:16415:  -c -g -O0  conftest.f  >&5
../../../packages/teuchos/configure: line 16416: -c: command  not found
configure:16421: $? = 127
configure: failed program  was:
|       program main
|
|       end
configure:16502: WARNING:  compilation failed
configure:16509: result:
configure:16511:  checking for Fortran 77 libraries of
configure:16534: -o conftest.exe  -g -O0 conftest.f
../../../packages/teuchos/configure: line 16535: -o:  command not found
configure:16708: result:
configure:16740:  checking for template-specific object files to be  linked
configure:16743: result: none

I ran this one  (without Fortran code) with 'make' only. I got the same error message on  Zoltan as before and stopped.

I also tried downgrading to gcc  3.3.3-3. The error message was exactly the same as using  3.4.4-3.

This is very weird. Is it possible that one of the tools  used in the configure / make scripts behaves differently in the latest  Cygwin version?

I have lots of software on my computer that shows  up in the environment variables under Cygwin (Services for Unix, Open  Watcom installed by Maple, VS 8 etc.) that could potentially conflict with  Cygwin/Gcc. Still, I reproduced the same error message on two other  Windows computers (even one outside of our facility, DLR). So I expect  that the source of the trouble is not the additional software. Just for  fun I set PATH to only  /usr/local/bin:/usr/bin:/bin:/usr/X11R6/bin:/usr/bin:/usr/lib/lapack but  nothing changed either. Once again, I got the strdup() undeclared error in  some Zoltan code.

BTW, for each 'configure' and 'make' run I have  always been deleting the whole build tree to avoid extra  trouble.

Do you learn anything from all this?

Thanks again  for your time and input,

Best  regards,

Michael







On Tue, Jan 13, 2009 at 9:33 PM, Bartlett, Roscoe A  <rabartl at sandia.gov> wrote:



Michael,



This  is very troubling.  I have never seen errors like  this.



If  you build with 'make -i everything' what packages build and which ones  do not?



Cheers,



-  Ross






________________________________
From: Michael Sielemann [mailto:michael.sielemann at gmail.com]
Sent:  Tuesday, January 13, 2009 7:47 AM
To: Trilinos-Users at software.sandia.gov; Bartlett, Roscoe  A

Subject: Re: [Trilinos-Users] Cygwin Build  Problems








Dear Ross,
By now I did two successful builds on Linux (one on  OpenSuse 10.2 and one on a Centos 5.2 node). But none on Cygwin. I  tested on my laptop, a second laptop and my home computer, which has a  pretty fresh Windows XP installation. They all failed. I made Cygwin  installations as user and as admin, with all packages in section  "devel" selected and with a hand-picked set only. I tried Trilinos  versions 9.0.2 and 8.0.7.

I understand that you did not have  any trouble with this so I would like to ask you whether I am missing  out on a crucial step. This is what I do:
1. Install latest Cygwin  with
     - All items in the devel section  enabled ---or--- adding several items by hand to the default such that  the complete set ends up as
        autoconf wrapper scripts, autoconf 2.1, automake 1.5, binutils, cmake,  doxygen, e2fsprogs, gcc-core, gcc-g++, gcc-g77, gcc-mingw-core,  gcc-mingw-g++, gcc-mingw-g77, gettext, gtk2-x11, gtk-x11-runtime,  libfpx-devel, libfreetype2, libgdbm-devel, libhdf5-devel,  libhdf5-runtime, libiconv, lib-jasper-devel, liblcms-devel,  libwmf-devel!!, libxml2, libxml-devel, make, mingw-runtime, pango,  pango-runtime
     - the LAPACK package from  the math section (includes BLAS)
2. In the Cygwin Bash Console, do  the following (this one is from my home computer)

Admin at Laptop ~
$ cd /cygdrive/c/tmp/

Admin at Laptop  /cygdrive/c/tmp
$ gunzip trilinos-9.0.2.tar.gz

Admin at Laptop  /cygdrive/c/tmp
$ tar xf trilinos-9.0.2.tar

Admin at Laptop  /cygdrive/c/tmp
$ cd trilinos-9.0.2

Admin at Laptop  /cygdrive/c/tmp/trilinos-9.0.2
$ mkdir  cygwin_serial

Admin at Laptop /cygdrive/c/tmp/trilinos-9.0.2
$  cd cygwin_serial/

Admin at Laptop  /cygdrive/c/tmp/trilinos-9.0.2/cygwin_serial
$ bash  do-configure.sh
rm: cannot remove `config.cache': No such file or  directory

(...)

$ make everything

(...)

cc  -DHAVE_CONFIG_H -I. -I../../src/include  -I../../../../../packages/zoltan/src/
driver   -I/cygdrive/c/tmp/trilinos-9.0.2/cygwin_serial/packages/zoltan/src/include
 -I/cygdrive/c/tmp/trilinos-9.0.2/packages/zoltan/src/include  -I/cygdrive/c/tmp/
trilinos-9.0.2/packages/zoltan/siMPI/pyMPI/siMPI  -I../../../../../packages/zolta
n/src/driver/  -I../../../../../packages/zoltan/src/ch/   -g -O0 -ansi  -pedantic
-Wall -fexceptions -MT zCPPdrive-ch_input_read.o -MD -MP  -MF .deps/zCPPdrive-ch_
input_read.Tpo -c -o  zCPPdrive-ch_input_read.o `test -f  '../../../../../packages
/zoltan/src/ch/ch_input_read.c' || echo  '../../../../../packages/zoltan/src/driv
er/'`../../../../../packages/zoltan/src/ch/ch_input_read.c
mv  -f .deps/zCPPdrive-ch_input_read.Tpo  .deps/zCPPdrive-ch_input_read.Po
CC -DHAVE_CONFIG_H -I.  -I../../src/include  -I../../../../../packages/zoltan/src/
driver   -I/cygdrive/c/tmp/trilinos-9.0.2/cygwin_serial/packages/zoltan/src/include
 -I/cygdrive/c/tmp/trilinos-9.0.2/packages/zoltan/src/include  -I/cygdrive/c/tmp/
trilinos-9.0.2/packages/zoltan/siMPI/pyMPI/siMPI  -I../../../../../packages/zolta
n/src/driver/  -I../../../../../packages/zoltan/src/ch/   -g -O0 -ansi  -pedantic
-Wall -fexceptions -MT zCPPdrive-dr_mainCPP.o -MD -MP -MF  .deps/zCPPdrive-dr_mai
nCPP.Tpo -c -o zCPPdrive-dr_mainCPP.o `test  -f '../../../../../packages/zoltan/s
rc/driver/dr_mainCPP.cpp' ||  echo  '../../../../../packages/zoltan/src/driver/'`.
./../../../../packages/zoltan/src/driver/dr_mainCPP.cpp
In  file included from  ../../../../../packages/zoltan/src/driver/dr_loadbal_const
.h:22,
                  from  ../../../../../packages/zoltan/src/driver/dr_mainCPP.cpp:2
7:
/cygdrive/c/tmp/trilinos-9.0.2/packages/zoltan/src/include/zoltan_cpp.h:  In memb
er function `int Zoltan::Generate_Files(std::string&,  const int&, const int&, co
nst int&, const  int&)':
/cygdrive/c/tmp/trilinos-9.0.2/packages/zoltan/src/include/zoltan_cpp.h:606:  err
or: `strdup' undeclared (first use this  function)
/cygdrive/c/tmp/trilinos-9.0.2/packages/zoltan/src/include/zoltan_cpp.h:606:  err
or: (Each undeclared identifier is reported only once for each  function it appea
$
make[5]: *** [zCPPdrive-dr_mainCPP.o] Error  1
make[5]: Leaving directory  `/cygdrive/c/tmp/trilinos-9.0.2/cygwin_serial/packages/
zoltan/src/driver'
make[4]:  *** [all-recursive] Error 1
make[4]: Leaving directory  `/cygdrive/c/tmp/trilinos-9.0.2/cygwin_serial/packages/
zoltan/src'
make[3]:  *** [all-recursive] Error 1
make[3]: Leaving directory  `/cygdrive/c/tmp/trilinos-9.0.2/cygwin_serial/packages/
zoltan'
make[2]:  *** [all-recursive] Error 1
make[2]: Leaving directory  `/cygdrive/c/tmp/trilinos-9.0.2/cygwin_serial/packages'

make[1]:  *** [everything] Error 2
make[1]: Leaving directory  `/cygdrive/c/tmp/trilinos-9.0.2/cygwin_serial/packages'

make:  *** [everything] Error 2



Configure almost never  complains about anything but during 'make' or 'make everything' the  build process fails. GCC, G77, G++ are  3.4.4 as on your Cygwin,  too.

siel_mi at rmlap069  /cygdrive/f/C_Sandbox/tribox/trilinos-9.0.2/Cygwin_serial
$ gcc  --version
gcc (GCC) 3.4.4 (cygming special, gdc 0.12, using dmd  0.125)
Copyright (C) 2004 Free Software Foundation, Inc.
This is  free software; see the source for copying conditions.  There is  NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A  PARTICULAR PURPOSE.


siel_mi at rmlap069  /cygdrive/f/C_Sandbox/tribox/trilinos-9.0.2/Cygwin_serial
$ g++  --version
g++ (GCC) 3.4.4 (cygming special, gdc 0.12, using dmd  0.125)
Copyright (C) 2004 Free Software Foundation, Inc.
This is  free software; see the source for copying conditions.  There is  NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A  PARTICULAR PURPOSE.


siel_mi at rmlap069  /cygdrive/f/C_Sandbox/tribox/trilinos-9.0.2/Cygwin_serial
$ g77  --version
GNU Fortran (GCC) 3.4.4 (cygming special, gdc 0.12, using  dmd 0.125)
Copyright (C) 2004 Free Software Foundation,  Inc.

GNU Fortran comes with NO WARRANTY, to the extent  permitted by law.
You may redistribute copies of GNU  Fortran
under the terms of the GNU General Public License.
For  more information about these matters, see the file named COPYING
or  type the command `info -f g77 Copying'.

Below, I am  sending you the do-configure script I am using, which is essentially  yours after removing some --enable-xyz's for packages that I think are  not included in the general release.

I also tried several  modifications. This one is my favorite error message

/cygdrive/f/C_Sandbox/tribox/trilinos-9.0.2/Cygwin_serial/packages/teuchos/example/BLAS/../../../../../packages/teuchos/
example/BLAS/cxx_main.cpp:18:  undefined reference to `std::cout'

As you mentioned that  you never had any trouble I am wondering what I am doing wrong  repeatedly. And I hope that you have some hints for me.

Thanks  in advance, and best regards  MICHAEL


-----8<---------------------------------------------------------------------------------------------------------


#!/bin/sh
rm config.cache
../configure  --prefix=/cygdrive/f/C_Sandbox/tribox/trilinoslib  \
--cache-file=config.cache \
--with-install="/usr/bin/install  -p" \
CXXFLAGS="-g -O0 -ansi -pedantic -Wall -fexceptions"  \
CFLAGS="-g -O0 -ansi -pedantic -Wall -fexceptions"  \
FFLAGS="-g -O0 " \
--enable-export-makefiles  \
--with-gnumake \
--disable-default-packages  \
--enable-teuchos --enable-teuchos-extended --enable-teuchos-debug  --enable-teuchos-abc --disable-teuchos-blasfloat \
--enable-thyra  \
--enable-epetra --enable-epetra-abc \
--enable-triutils  --disable-triutils-tests --disable-triutils-examples  \
--enable-epetraext \
--enable-amesos \
--enable-aztecoo  \
--enable-belos \
--enable-ifpack \
--enable-ml  \
--enable-nox --enable-nox-epetra --enable-nox-epetraext  --enable-nox-thyra --enable-nox-thyra-tests --enable-nox-tests  \
--enable-loca \
--enable-stratimikos \
--enable-rythmos  \
--enable-moocho \
--enable-sacado \
--enable-meros  \
--enable-new_package \
--enable-galeri \
--enable-isorropia  \
--enable-moertel \
--enable-anasazi  \
--enable-didasko






_______________________________________________
Trilinos-Users  mailing list

Trilinos-Users at software.sandia.gov

http://software.sandia.gov/mailman/listinfo/trilinos-users



_______________________________________________
Trilinos-Users  mailing list
Trilinos-Users at software.sandia.gov
http://software.sandia.gov/mailman/listinfo/trilinos-users



-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://software.sandia.gov/mailman/private/trilinos-users/attachments/20090116/e70bbcdf/attachment-0001.html 


More information about the Trilinos-Users mailing list