Blitz logo

Blitz Support :

From: Julian C. Cummings (cummings_at_[hidden])
Date: 2004-07-26 18:51:25


Hello Chris,

The error message that you are getting sounds vaguely familiar to me. If I
remember right, it has something to do with not getting the proper version
of the g++ runtime library while linking. It is probably a g++ installation
problem of some sort. I am not able to reproduce the problem with my cygwin
installation. I am using gcc 3.3.1.

$ g++ --version
G++ (GCC) 3.3.1 (cygming special)
Copyright (C) 2003 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.

One unusual thing I did was to specify the compiler names when running the
configure script. I did this because our configure script looks for native
compilers first before looking for the gcc compilers. Since cygwin is set
up with symbolic links from typical names like CC to point to g++, I wanted
to avoid having the script mistake this for an actual native compiler. So I
did "./configure CC=g++ F77=g77" just to be safe. (The F77 setting is
needed only for some benchmark comparisons with Fortran, not for Blitz
itself.)

To check on which g++ runtime library you are getting, try this in
blitz/generate:

g++ -v -o genarrbops.exe genarrbops.o
Reading specs from /usr/lib/gcc-lib/i686-pc-cygwin/3.3.1/specs
Configured with: /GCC/gcc-3.3.1-3/configure --with-gcc --with-gnu-ld
--with-gnu-as
--prefix=/usr --exec-prefix=/usr --sysconfdir=/etc --libdir=/usr/lib
--libexecdir=
/usr/sbin --mandir=/usr/share/man --infodir=/usr/share/info
--enable-languages=
c,ada,c++,f77,pascal,java,objc --enable-libgcj --enable-threads=posix
--with-system-zlib
--enable-nls --without-included-gettext --enable-interpreter
--enable-sjlj-exceptions
--disable-version-specific-runtime-libs --enable-shared
--disable-win32-registry
--enable-java-gc=boehm --disable-hash-synchronization --verbose
--target=i686-pc-cygwin
--host=i686-pc-cygwin --build=i686-pc-cygwin
Thread model: posix
gcc version 3.3.1 (cygming special)
 /usr/lib/gcc-lib/i686-pc-cygwin/3.3.1/collect2.exe -Bdynamic
--dll-search-prefix=cyg
-o genarrbops.exe /usr/lib/gcc-lib/i686-pc-cygwin/3.3.1/../../../crt0.o
/usr/lib/gcc-lib/i686-pc-cygwin/3.3.1/crtbegin.o
-L/usr/lib/gcc-lib/i686-pc-cygwin/3.3.1
-L/usr/lib/gcc-lib/i686-pc-cygwin/3.3.1/../../.. genarrbops.o -lstdc++ -lgcc
-lcygwin
-luser32 -lkernel32 -ladvapi32 -lshell32 -lgcc
/usr/lib/gcc-lib/i686-pc-cygwin/3.3.1/crtend.o

Probably the most crucial thing here is the
--disable-version-specific-runtime-libs configure flag for gcc. You have to
be really careful if you have more than version of gcc floating around in
your cygwin system. I hope that one of these details will help you
determine what is causing your problem.

Regards, Julian C.

Dr. Julian C. Cummings
Staff Scientist, CACR/Caltech
(626) 395-2543
cummings_at_[hidden]
 

> -----Original Message-----
> From: blitz-support-bounces_at_[hidden]
> [mailto:blitz-support-bounces_at_[hidden]] On Behalf Of
> Christopher Weed
> Sent: Sunday, July 25, 2004 9:19 PM
> To: blitz-support_at_[hidden]
> Subject: [Blitz-support] Can't make blitz under cygwin for
> CVS checkout
>
>
> Hi,
>
> I am using the latest cygwin software.
> I checked out the files from CVS, and I successfully ran
> autoreconf -v -i -f
> and ./configure.
> However, when I ran make. genarrbops would not compile.
>
> The first error I got was
>
> undefined reference to '___gxx_personality_sj0' on line 14
>
> Then everyline with std:: generated an undefined reference error.
>
> Chris
>
>
> ________________________________________________
> Christopher A. Weed
> chrisweed_at_[hidden]
>
>
> _______________________________________________
> Blitz-support mailing list
> Blitz-support_at_[hidden]
> http://www.oonumerics.org/mailman/listinfo.cgi/blitz-support
>