[Insight-developers] Once more with feeling: GCC 3, Implicit Template Instantion Issues

Kent Williams norman-k-williams@uiowa.edu
Fri, 14 Mar 2003 08:03:01 -0600


The error is rather odd, an undefined reference to
On Thursday 13 March 2003 05:56 pm, William A. Hoffman wrote:
> Can you send the config log files?
> It is not the same error, but looks like a new one that came from
> the recent vnl upgrade.
>
> -Bill
>
This file contains any messages produced by compilers while
running configure, to aid debugging if configure makes a mistake.

configure:552: checking for gcc
configure:665: checking whether the C compiler=20
(/home/scratch/kent/gcc3/bin/gcc  ) works
configure:681: /home/scratch/kent/gcc3/bin/gcc -o conftest    conftest.c =
 1>&5
configure:707: checking whether the C compiler=20
(/home/scratch/kent/gcc3/bin/gcc  ) is a cross-compiler
configure:712: checking whether we are using GNU C
configure:721: /home/scratch/kent/gcc3/bin/gcc -E conftest.c
configure:740: checking whether /home/scratch/kent/gcc3/bin/gcc accepts -=
g
configure:781: checking for c++
configure:813: checking whether the C++ compiler=20
(/home/scratch/kent/gcc3/bin/gcc  ) works
configure:829: /home/scratch/kent/gcc3/bin/gcc -o conftest    conftest.C =
 1>&5
configure:855: checking whether the C++ compiler=20
(/home/scratch/kent/gcc3/bin/gcc  ) is a cross-compiler
configure:860: checking whether we are using GNU C++
configure:869: /home/scratch/kent/gcc3/bin/gcc -E conftest.C
configure:888: checking whether /home/scratch/kent/gcc3/bin/gcc accepts -=
g
configure:922: checking how to run the C++ preprocessor
configure:940: /home/scratch/kent/gcc3/bin/gcc -E  conftest.C >/dev/null=20
2>conftest.out
configure:1033: checking the C++ compiler type
configure:1054: checking whether the C++ compiler supports the keyword 'b=
ool'
configure:1082: /home/scratch/kent/gcc3/bin/gcc -c -g -O2  conftest.C 1>&=
5
configure:1112: checking whether the C++ compiler supports the keyword=20
'typename'
configure:1145: /home/scratch/kent/gcc3/bin/gcc -c -g -O2  conftest.C 1>&=
5
configure:1175: checking whether the C++ compiler accepts the keyword 'ex=
port'
configure:1219: /home/scratch/kent/gcc3/bin/gcc -c -g -O2  conftest.C 1>&=
5
configure:1197: warning: keyword `export' not implemented, and will be ig=
nored
configure:1249: checking whether the C++ compiler supports the keyword=20
'mutable'
configure:1281: /home/scratch/kent/gcc3/bin/gcc -c -g -O2  conftest.C 1>&=
5
configure:1311: checking whether the C++ compiler supports the keyword=20
'explicit'
configure:1343: /home/scratch/kent/gcc3/bin/gcc -c -g -O2  conftest.C 1>&=
5
configure:1373: checking whether the C++ compiler supports the keyword=20
'dynamic_cast'
configure:1404: /home/scratch/kent/gcc3/bin/gcc -c -g -O2  conftest.C 1>&=
5
configure:1434: checking whether the C++ compiler supports ISO for scope
configure:1467: /home/scratch/kent/gcc3/bin/gcc -c -g -O2  conftest.C 1>&=
5
configure:1497: checking whether the C++ compiler needs default values in=
=20
second definition
configure:1530: /home/scratch/kent/gcc3/bin/gcc -c -g -O2  conftest.C 1>&=
5
configure:1560: checking whether the C++ compiler supports member templat=
es
configure:1601: /home/scratch/kent/gcc3/bin/gcc -c -g -O2  conftest.C 1>&=
5
configure:1631: checking whether the C++ compiler supports partial=20
specialization
configure:1692: /home/scratch/kent/gcc3/bin/gcc -c -g -O2  conftest.C 1>&=
5
configure:1722: checking whether the C++ compiler understands the 'templa=
te=20
<>' specialization syntax
configure:1763: /home/scratch/kent/gcc3/bin/gcc -c -g -O2  conftest.C 1>&=
5
configure:1793: checking whether the C++ compiler allows explicit=20
instantiation of inline templates
configure:1825: /home/scratch/kent/gcc3/bin/gcc -c   conftest.C 1>&5
configure:1855: checking whether the C++ compiler needs explicit instanti=
ation=20
of inline function templates
configure:1898: /home/scratch/kent/gcc3/bin/gcc -o conftest -g -O2  =20
conftest.C  1>&5
/tmp/ccUODK08.o:/home/scratch/kent/work/build/ITK_VTK_fltk/ix86/DEBUG/Ins=
ight/Utilities/vxl/configure:1883:=20
undefined reference to `__gxx_personality_v0'
collect2: ld returned 1 exit status
configure: failed program was:
#line 1873 "configure"
#include "confdefs.h"

template <class T>
inline
T dot(T const *a, T const *b)
{
  return a[0]*b[0] + a[1]*b[1] + a[2]*b[2];
}
//template double dot(double const *, double const *);
int function();
int call_this() { function(); return 0; }
int function()
{
  double a[3] =3D {1.0, 2.0, 3.0};
  double b[3] =3D {4.0, 5.0, 6.0};
  double a_b =3D dot(a, b);
  return int(a_b);
}
// If the program links, the compiler inlined the function template.
=20
int main() {

; return 0; }
configure:1939: checking whether the C++ compiler allows initialization o=
f=20
static const int
configure:1972: /home/scratch/kent/gcc3/bin/gcc -c -g -O2  conftest.C 1>&=
5
configure:2010: checking whether the C++ compiler allows initialization o=
f=20
static const floats
configure:2031: /home/scratch/kent/gcc3/bin/gcc -c -g -O2  conftest.C 1>&=
5
configure:2059: checking whether the C++ compiler accepts templated=20
definitions of static class template members
configure:2092: /home/scratch/kent/gcc3/bin/gcc -c -g -O2  conftest.C 1>&=
5
configure:2113: checking whether the C++ compiler accepts non-type templa=
te=20
parameters to function templates
configure:2153: /home/scratch/kent/gcc3/bin/gcc -c -g -O2  conftest.C 1>&=
5
configure:2182: checking whether the C++ compiler needs friend declaratio=
ns=20
for proper template function overloading
configure:2230: /home/scratch/kent/gcc3/bin/gcc -c -g -O2  conftest.C 1>&=
5
configure:2266: checking whether the C++ compiler requires explicit casts=
=20
where it should not
configure:2327: /home/scratch/kent/gcc3/bin/gcc -c -g -O2  conftest.C 1>&=
5
configure:2363: checking whether the C++ compiler requires <> in template=
d=20
forward/friend declarations
configure:2412: /home/scratch/kent/gcc3/bin/gcc -o conftest -g -O2  =20
conftest.C  1>&5
configure:2382: warning: friend declaration `T dot(const victor<T>&, cons=
t=20
   victor<T>&)' declares a non-template function
configure:2382: warning: (if this is not what you intended, make sure the=
=20
   function template has already been declared and add <> after the funct=
ion=20
   name here) -Wno-non-template-friend disables this warning
configure: In function `T dot(const victor<T>&, const victor<T>&) [with T=
 =3D=20
   double]':
configure:2396:   instantiated from here
configure:2385: `double victor<double>::data[3]' is private
configure:2390: within this context
configure:2385: `double victor<double>::data[3]' is private
configure:2390: within this context
configure:2385: `double victor<double>::data[3]' is private
configure:2390: within this context
configure:2385: `double victor<double>::data[3]' is private
configure:2390: within this context
configure:2385: `double victor<double>::data[3]' is private
configure:2390: within this context
configure:2385: `double victor<double>::data[3]' is private
configure:2390: within this context
configure: failed program was:
#line 2371 "configure"
#include "confdefs.h"

template <class T> class victor;

template <class T> T dot(victor<T> const &u, victor<T> const &v);

template <class T> class victor {
public:
  // Without -fguiding-decls, egcs and 2.95 will rightly think
  // this declares a non-template and so the program will fail
  // due to access violation below (and missing symbols at link time).
  friend T dot /* <> */ (victor<T> const &, victor<T> const &);

private:
  T data[3];
};

template <class T> T dot(victor<T> const &u, victor<T> const &v)
{
  return  // access violation here:
    u.data[0] * v.data[0] +
    u.data[1] * v.data[1] +
    u.data[2] * v.data[2];
}

template double dot(victor<double> const &, victor<double> const &);

double function(victor<double> const &u,
                victor<double> const &v)
{
  double uu =3D dot(u, u);
  double uv =3D dot(u, v);
  double vv =3D dot(v, v);
  return (uv*uv)/(uu*vv);
}

int main() {

; return 0; }
configure:2440: checking whether the C++ compiler allows static data memb=
ers
configure:2470: /home/scratch/kent/gcc3/bin/gcc -c   conftest.C 1>&5
configure:2507: checking whether the C++ compiler distinguishes templated=
 and=20
non-templated functions
configure:2537: /home/scratch/kent/gcc3/bin/gcc -o conftest -g -O2  =20
conftest.C  1>&5
/tmp/cc45IWhv.o: In function `caller()':
/home/scratch/kent/work/build/ITK_VTK_fltk/ix86/DEBUG/Insight/Utilities/v=
xl/configure:2523:=20
undefined reference to `void function<double>(double*, int)'
/home/scratch/kent/work/build/ITK_VTK_fltk/ix86/DEBUG/Insight/Utilities/v=
xl/configure:2523:=20
undefined reference to `__gxx_personality_v0'
collect2: ld returned 1 exit status
configure: failed program was:
#line 2515 "configure"
#include "confdefs.h"

// Declare a function template.
template <class T> void function(T *ptr, int n);

int caller()
{
  double array[3];
  function(array, 0); // This should call function<double>(double *, int)=
;
  return 0;
}

// Define a non-template function with the same name and signature.
void function(double *, int) { }

// If the program links, the compiler didn't make a distinction.

int main() {

; return 0; }
configure:2565: checking whether the C++ compiler instantiates templates=20
implicitly
configure:2631: /home/scratch/kent/gcc3/bin/gcc -o conftest -g -O2  =20
conftest.C  1>&5
/tmp/ccgncoEF.o: In function `void fsm_plop<int>(double*, double*, int,=20
fsm_plap_double_star)':
/home/scratch/kent/work/build/ITK_VTK_fltk/ix86/DEBUG/Insight/Utilities/v=
xl/configure:2610:=20
undefined reference to `__gxx_personality_v0'
collect2: ld returned 1 exit status
configure: failed program was:
#line 2581 "configure"
#include "confdefs.h"


struct fsm_plap_normal { };
template <class I>
inline fsm_plap_normal fsm_plap(I) { return fsm_plap_normal(); }

template <class I, class T>
void fsm_plop(I b, I e, T x, fsm_plap_normal)
{
  for (I p=3Db; p!=3De; ++p)
    *p =3D x;
}


struct fsm_plap_double_star { };
inline fsm_plap_double_star fsm_plap(double *) { return=20
fsm_plap_double_star(); }

template <class T>
void fsm_plop(double *b, double *e, T x, fsm_plap_double_star)
{
  for (double *p=3Db; p<e; ++p)
    *p =3D x;
}


template <class I, class T>
inline void fsm_plip(I b, I e, T x)
{
  if (b !=3D e)
    fsm_plop(b, e, x, fsm_plap(b));
}


void f()
{
  int iarray[20];
  fsm_plip(iarray, iarray+20, 3141);

  double darray[20];
  fsm_plip(darray, darray+20, 2718);
}


int main() {


; return 0; }
configure:2659: checking whether the C++ compiler accepts complete types =
as=20
default template parameters
configure:2702: /home/scratch/kent/gcc3/bin/gcc -c -g -O2  conftest.C 1>&=
5
configure:2723: checking whether the C++ compiler accepts default templat=
e=20
type parameters templated over earlier parameters
configure:2756: /home/scratch/kent/gcc3/bin/gcc -c -g -O2  conftest.C 1>&=
5
configure:2782: checking whether the C++ compiler needs the SunPro class =
scope=20
hack
configure:2834: /home/scratch/kent/gcc3/bin/gcc -c -g -O2  conftest.C 1>&=
5
configure:2862: checking whether the C++ compiler has working exceptions
configure:2923: /home/scratch/kent/gcc3/bin/gcc -c -g -O2  conftest.C 1>&=
5
configure:2953: checking whether the C++ compiler has working namespaces
configure:3052: /home/scratch/kent/gcc3/bin/gcc -c -g -O2  conftest.C 1>&=
5
configure:3082: checking whether the C++ compiler allows std:: for the=20
standard library
configure:3119: /home/scratch/kent/gcc3/bin/gcc -c -g -O2  conftest.C 1>&=
5
configure:3150: checking whether the C++ compiler needs std:: for the sta=
ndard=20
library
configure:3187: /home/scratch/kent/gcc3/bin/gcc -c -g -O2  conftest.C 1>&=
5
configure: In function `void function()':
configure:3176: `vector' undeclared (first use this function)
configure:3176: (Each undeclared identifier is reported only once for eac=
h=20
   function it appears in.)
configure:3176: parse error before `>' token
configure:3177: `flaz' undeclared (first use this function)
configure: failed program was:
#line 3170 "configure"
#include "confdefs.h"

#include <cmath>
#include <vector>
//#include <iostream>
void function() {
  vector<double> flaz;
  flaz.push_back(sqrt(2.0));
  flaz.push_back(fabs(1.0f));
  //cerr << "hello, world" << endl;
}

int main() {

; return 0; }
configure:3221: checking whether byte ordering is bigendian
configure:3239: /home/scratch/kent/gcc3/bin/gcc -c -g -O2  conftest.C 1>&=
5
configure:3254: /home/scratch/kent/gcc3/bin/gcc -c -g -O2  conftest.C 1>&=
5
configure: In function `int main()':
configure:3249: `big' undeclared (first use this function)
configure:3249: (Each undeclared identifier is reported only once for eac=
h=20
   function it appears in.)
configure:3249: parse error before `;' token
configure: failed program was:
#line 3243 "configure"
#include "confdefs.h"
#include <sys/types.h>
#include <sys/param.h>
int main() {

#if BYTE_ORDER !=3D BIG_ENDIAN
 not big endian
#endif
; return 0; }
configure:3339: checking for cassert
configure:3349: /home/scratch/kent/gcc3/bin/gcc -E  conftest.C >/dev/null=
=20
2>conftest.out
configure:3390: checking for ciso646
configure:3400: /home/scratch/kent/gcc3/bin/gcc -E  conftest.C >/dev/null=
=20
2>conftest.out
configure:3441: checking for csetjmp
configure:3451: /home/scratch/kent/gcc3/bin/gcc -E  conftest.C >/dev/null=
=20
2>conftest.out
configure:3492: checking for cstdio
configure:3502: /home/scratch/kent/gcc3/bin/gcc -E  conftest.C >/dev/null=
=20
2>conftest.out
configure:3543: checking for ctime
configure:3553: /home/scratch/kent/gcc3/bin/gcc -E  conftest.C >/dev/null=
=20
2>conftest.out
configure:3594: checking for cctype
configure:3604: /home/scratch/kent/gcc3/bin/gcc -E  conftest.C >/dev/null=
=20
2>conftest.out
configure:3645: checking for climits
configure:3655: /home/scratch/kent/gcc3/bin/gcc -E  conftest.C >/dev/null=
=20
2>conftest.out
configure:3696: checking for csignal
configure:3706: /home/scratch/kent/gcc3/bin/gcc -E  conftest.C >/dev/null=
=20
2>conftest.out
configure:3747: checking for cstdlib
configure:3757: /home/scratch/kent/gcc3/bin/gcc -E  conftest.C >/dev/null=
=20
2>conftest.out
configure:3798: checking for cwchar
configure:3808: /home/scratch/kent/gcc3/bin/gcc -E  conftest.C >/dev/null=
=20
2>conftest.out
configure:3849: checking for cerrno
configure:3859: /home/scratch/kent/gcc3/bin/gcc -E  conftest.C >/dev/null=
=20
2>conftest.out
configure:3900: checking for clocale
configure:3910: /home/scratch/kent/gcc3/bin/gcc -E  conftest.C >/dev/null=
=20
2>conftest.out
configure:3951: checking for cstdarg
configure:3961: /home/scratch/kent/gcc3/bin/gcc -E  conftest.C >/dev/null=
=20
2>conftest.out
configure:4002: checking for cstring
configure:4012: /home/scratch/kent/gcc3/bin/gcc -E  conftest.C >/dev/null=
=20
2>conftest.out
configure:4053: checking for cwctype
configure:4063: /home/scratch/kent/gcc3/bin/gcc -E  conftest.C >/dev/null=
=20
2>conftest.out
configure:4104: checking for cfloat
configure:4114: /home/scratch/kent/gcc3/bin/gcc -E  conftest.C >/dev/null=
=20
2>conftest.out
configure:4155: checking for cmath
configure:4165: /home/scratch/kent/gcc3/bin/gcc -E  conftest.C >/dev/null=
=20
2>conftest.out
configure:4206: checking for cstddef
configure:4216: /home/scratch/kent/gcc3/bin/gcc -E  conftest.C >/dev/null=
=20
2>conftest.out
configure:4257: checking for algorithm
configure:4267: /home/scratch/kent/gcc3/bin/gcc -E  conftest.C >/dev/null=
=20
2>conftest.out
configure:4308: checking for iomanip
configure:4318: /home/scratch/kent/gcc3/bin/gcc -E  conftest.C >/dev/null=
=20
2>conftest.out
configure:4359: checking for list
configure:4369: /home/scratch/kent/gcc3/bin/gcc -E  conftest.C >/dev/null=
=20
2>conftest.out
configure:4410: checking for ostream
configure:4420: /home/scratch/kent/gcc3/bin/gcc -E  conftest.C >/dev/null=
=20
2>conftest.out
configure:4461: checking for streambuf
configure:4471: /home/scratch/kent/gcc3/bin/gcc -E  conftest.C >/dev/null=
=20
2>conftest.out
configure:4512: checking for bitset
configure:4522: /home/scratch/kent/gcc3/bin/gcc -E  conftest.C >/dev/null=
=20
2>conftest.out
configure:4563: checking for ios
configure:4573: /home/scratch/kent/gcc3/bin/gcc -E  conftest.C >/dev/null=
=20
2>conftest.out
configure:4614: checking for locale
configure:4624: /home/scratch/kent/gcc3/bin/gcc -E  conftest.C >/dev/null=
=20
2>conftest.out
configure:4665: checking for queue
configure:4675: /home/scratch/kent/gcc3/bin/gcc -E  conftest.C >/dev/null=
=20
2>conftest.out
configure:4716: checking for string
configure:4726: /home/scratch/kent/gcc3/bin/gcc -E  conftest.C >/dev/null=
=20
2>conftest.out
configure:4767: checking for complex
configure:4777: /home/scratch/kent/gcc3/bin/gcc -E  conftest.C >/dev/null=
=20
2>conftest.out
configure:4818: checking for iosfwd
configure:4828: /home/scratch/kent/gcc3/bin/gcc -E  conftest.C >/dev/null=
=20
2>conftest.out
configure:4869: checking for map
configure:4879: /home/scratch/kent/gcc3/bin/gcc -E  conftest.C >/dev/null=
=20
2>conftest.out
configure:4920: checking for set
configure:4930: /home/scratch/kent/gcc3/bin/gcc -E  conftest.C >/dev/null=
=20
2>conftest.out
configure:4971: checking for typeinfo
configure:4981: /home/scratch/kent/gcc3/bin/gcc -E  conftest.C >/dev/null=
=20
2>conftest.out
configure:5022: checking for deque
configure:5032: /home/scratch/kent/gcc3/bin/gcc -E  conftest.C >/dev/null=
=20
2>conftest.out
configure:5073: checking for iostream
configure:5083: /home/scratch/kent/gcc3/bin/gcc -E  conftest.C >/dev/null=
=20
2>conftest.out
configure:5124: checking for memory
configure:5134: /home/scratch/kent/gcc3/bin/gcc -E  conftest.C >/dev/null=
=20
2>conftest.out
configure:5175: checking for sstream
configure:5185: /home/scratch/kent/gcc3/bin/gcc -E  conftest.C >/dev/null=
=20
2>conftest.out
configure:5226: checking for utility
configure:5236: /home/scratch/kent/gcc3/bin/gcc -E  conftest.C >/dev/null=
=20
2>conftest.out
configure:5277: checking for exception
configure:5287: /home/scratch/kent/gcc3/bin/gcc -E  conftest.C >/dev/null=
=20
2>conftest.out
configure:5328: checking for istream
configure:5338: /home/scratch/kent/gcc3/bin/gcc -E  conftest.C >/dev/null=
=20
2>conftest.out
configure:5379: checking for new
configure:5389: /home/scratch/kent/gcc3/bin/gcc -E  conftest.C >/dev/null=
=20
2>conftest.out
configure:5430: checking for stack
configure:5440: /home/scratch/kent/gcc3/bin/gcc -E  conftest.C >/dev/null=
=20
2>conftest.out
configure:5481: checking for valarray
configure:5491: /home/scratch/kent/gcc3/bin/gcc -E  conftest.C >/dev/null=
=20
2>conftest.out
configure:5532: checking for fstream
configure:5542: /home/scratch/kent/gcc3/bin/gcc -E  conftest.C >/dev/null=
=20
2>conftest.out
configure:5583: checking for iterator
configure:5593: /home/scratch/kent/gcc3/bin/gcc -E  conftest.C >/dev/null=
=20
2>conftest.out
configure:5634: checking for numeric
configure:5644: /home/scratch/kent/gcc3/bin/gcc -E  conftest.C >/dev/null=
=20
2>conftest.out
configure:5685: checking for stdexcept
configure:5695: /home/scratch/kent/gcc3/bin/gcc -E  conftest.C >/dev/null=
=20
2>conftest.out
configure:5736: checking for vector
configure:5746: /home/scratch/kent/gcc3/bin/gcc -E  conftest.C >/dev/null=
=20
2>conftest.out
configure:5787: checking for functional
configure:5797: /home/scratch/kent/gcc3/bin/gcc -E  conftest.C >/dev/null=
=20
2>conftest.out
configure:5838: checking for limits
configure:5848: /home/scratch/kent/gcc3/bin/gcc -E  conftest.C >/dev/null=
=20
2>conftest.out
configure:5889: checking for strstream
configure:5899: /home/scratch/kent/gcc3/bin/gcc -E  conftest.C >/dev/null=
=20
2>conftest.out
In file included from=20
/home/scratch/kent/gcc3/include/c++/3.2.2/backward/strstream:51,
                 from configure:5895:
/home/scratch/kent/gcc3/include/c++/3.2.2/backward/backward_warning.h:32:=
2:=20
warning: #warning This file includes at least one deprecated or antiquate=
d=20
header. Please consider using one of the 32 headers found in section 17.4=
=2E1.2=20
of the C++ standard. Examples include substituting the <X> header for the=
=20
<X.h> header for C++ includes, or <sstream> instead of the deprecated hea=
der=20
<strstream.h>. To disable this warning use -Wno-deprecated.
configure: failed program was:
#line 5894 "configure"
#include "confdefs.h"
#include <strstream>
configure:6051: checking for pthread.h
configure:6061: /home/scratch/kent/gcc3/bin/gcc -E  conftest.C >/dev/null=
=20
2>conftest.out
configure:6085: checking for semaphore.h
configure:6095: /home/scratch/kent/gcc3/bin/gcc -E  conftest.C >/dev/null=
=20
2>conftest.out
configure:6154: /home/scratch/kent/gcc3/bin/gcc -c -g -O2  conftest.C 1>&=
5
configure:6168: checking for ualarm
configure:6199: /home/scratch/kent/gcc3/bin/gcc -o conftest -g -O2  =20
conftest.C  1>&5
/tmp/ccUGa1uk.o: In function `main':
/home/scratch/kent/work/build/ITK_VTK_fltk/ix86/DEBUG/Insight/Utilities/v=
xl/configure:6196:=20
undefined reference to `__gxx_personality_v0'
collect2: ld returned 1 exit status
configure: failed program was:
#line 6173 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
    which can conflict with char ualarm(); below.  */
#include <assert.h>
/* Override any gcc2 internal prototype to avoid an error.  */
#ifdef __cplusplus
extern "C"
#endif
/* We use char because int might match the return type of a gcc2
    builtin and then its argument prototype would still apply.  */
char ualarm();

int main() {

/* The GNU C library defines this for functions which it implements
    to always fail with ENOSYS.  Some functions are actually named
    something starting with __ and the normal name is an alias.  */
#if defined (__stub_ualarm) || defined (__stub___ualarm)
choke me
#else
ualarm();
#endif

; return 0; }
configure:6220: checking for usleep
configure:6251: /home/scratch/kent/gcc3/bin/gcc -o conftest -g -O2  =20
conftest.C  1>&5
/tmp/ccd9W8rj.o: In function `main':
/home/scratch/kent/work/build/ITK_VTK_fltk/ix86/DEBUG/Insight/Utilities/v=
xl/configure:6248:=20
undefined reference to `__gxx_personality_v0'
collect2: ld returned 1 exit status
configure: failed program was:
#line 6225 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
    which can conflict with char usleep(); below.  */
#include <assert.h>
/* Override any gcc2 internal prototype to avoid an error.  */
#ifdef __cplusplus
extern "C"
#endif
/* We use char because int might match the return type of a gcc2
    builtin and then its argument prototype would still apply.  */
char usleep();

int main() {

/* The GNU C library defines this for functions which it implements
    to always fail with ENOSYS.  Some functions are actually named
    something starting with __ and the normal name is an alias.  */
#if defined (__stub_usleep) || defined (__stub___usleep)
choke me
#else
usleep();
#endif

; return 0; }
configure:6272: checking for lchown
configure:6303: /home/scratch/kent/gcc3/bin/gcc -o conftest -g -O2  =20
conftest.C  1>&5
/tmp/ccwNKxXk.o: In function `main':
/home/scratch/kent/work/build/ITK_VTK_fltk/ix86/DEBUG/Insight/Utilities/v=
xl/configure:6300:=20
undefined reference to `__gxx_personality_v0'
collect2: ld returned 1 exit status
configure: failed program was:
#line 6277 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
    which can conflict with char lchown(); below.  */
#include <assert.h>
/* Override any gcc2 internal prototype to avoid an error.  */
#ifdef __cplusplus
extern "C"
#endif
/* We use char because int might match the return type of a gcc2
    builtin and then its argument prototype would still apply.  */
char lchown();

int main() {

/* The GNU C library defines this for functions which it implements
    to always fail with ENOSYS.  Some functions are actually named
    something starting with __ and the normal name is an alias.  */
#if defined (__stub_lchown) || defined (__stub___lchown)
choke me
#else
lchown();
#endif

; return 0; }
configure:6324: checking for pread
configure:6355: /home/scratch/kent/gcc3/bin/gcc -o conftest -g -O2  =20
conftest.C  1>&5
/tmp/cckOnvXs.o: In function `main':
/home/scratch/kent/work/build/ITK_VTK_fltk/ix86/DEBUG/Insight/Utilities/v=
xl/configure:6352:=20
undefined reference to `__gxx_personality_v0'
collect2: ld returned 1 exit status
configure: failed program was:
#line 6329 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
    which can conflict with char pread(); below.  */
#include <assert.h>
/* Override any gcc2 internal prototype to avoid an error.  */
#ifdef __cplusplus
extern "C"
#endif
/* We use char because int might match the return type of a gcc2
    builtin and then its argument prototype would still apply.  */
char pread();

int main() {

/* The GNU C library defines this for functions which it implements
    to always fail with ENOSYS.  Some functions are actually named
    something starting with __ and the normal name is an alias.  */
#if defined (__stub_pread) || defined (__stub___pread)
choke me
#else
pread();
#endif

; return 0; }
configure:6376: checking for pwrite
configure:6407: /home/scratch/kent/gcc3/bin/gcc -o conftest -g -O2  =20
conftest.C  1>&5
/tmp/cciEK4BB.o: In function `main':
/home/scratch/kent/work/build/ITK_VTK_fltk/ix86/DEBUG/Insight/Utilities/v=
xl/configure:6404:=20
undefined reference to `__gxx_personality_v0'
collect2: ld returned 1 exit status
configure: failed program was:
#line 6381 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
    which can conflict with char pwrite(); below.  */
#include <assert.h>
/* Override any gcc2 internal prototype to avoid an error.  */
#ifdef __cplusplus
extern "C"
#endif
/* We use char because int might match the return type of a gcc2
    builtin and then its argument prototype would still apply.  */
char pwrite();

int main() {

/* The GNU C library defines this for functions which it implements
    to always fail with ENOSYS.  Some functions are actually named
    something starting with __ and the normal name is an alias.  */
#if defined (__stub_pwrite) || defined (__stub___pwrite)
choke me
#else
pwrite();
#endif

; return 0; }
configure:6428: checking for tell
configure:6459: /home/scratch/kent/gcc3/bin/gcc -o conftest -g -O2  =20
conftest.C  1>&5
/tmp/ccgGBClM.o: In function `main':
/home/scratch/kent/work/build/ITK_VTK_fltk/ix86/DEBUG/Insight/Utilities/v=
xl/configure:6453:=20
undefined reference to `tell'
/home/scratch/kent/work/build/ITK_VTK_fltk/ix86/DEBUG/Insight/Utilities/v=
xl/configure:6456:=20
undefined reference to `__gxx_personality_v0'
collect2: ld returned 1 exit status
configure: failed program was:
#line 6433 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
    which can conflict with char tell(); below.  */
#include <assert.h>
/* Override any gcc2 internal prototype to avoid an error.  */
#ifdef __cplusplus
extern "C"
#endif
/* We use char because int might match the return type of a gcc2
    builtin and then its argument prototype would still apply.  */
char tell();

int main() {

/* The GNU C library defines this for functions which it implements
    to always fail with ENOSYS.  Some functions are actually named
    something starting with __ and the normal name is an alias.  */
#if defined (__stub_tell) || defined (__stub___tell)
choke me
#else
tell();
#endif

; return 0; }
configure:6483: checking for machine word sizes=20
configure:6534: checking whether we have a working qsort
configure:6563: /home/scratch/kent/gcc3/bin/gcc -c -g -O2  conftest.c 1>&=
5
configure:6593: checking for ieeefp.h
configure:6603: /home/scratch/kent/gcc3/bin/gcc -E  conftest.C >/dev/null=
=20
2>conftest.out
configure:6599:20: ieeefp.h: No such file or directory
configure: failed program was:
#line 6598 "configure"
#include "confdefs.h"
#include <ieeefp.h>
configure:6629: checking for cos in -lm
configure:6651: /home/scratch/kent/gcc3/bin/gcc -o conftest -g -O2  =20
conftest.C -lm   1>&5
configure:6689: checking whether <math.h> provides finite()
configure:6702: /home/scratch/kent/gcc3/bin/gcc -o conftest -g -O2  =20
conftest.C -lm  1>&5
configure:6738: checking whether <math.h> provides sqrtf()
configure:6751: /home/scratch/kent/gcc3/bin/gcc -o conftest -g -O2  =20
conftest.c -lm  1>&5
configure:6787: checking whether <ieeefp.h> provides finite()
configure:6800: /home/scratch/kent/gcc3/bin/gcc -o conftest -g -O2  =20
conftest.C -lm  1>&5
configure:6791:22: ieeefp.h: No such file or directory
configure: In function `int main()':
configure:6795: `finite' undeclared (first use this function)
configure:6795: (Each undeclared identifier is reported only once for eac=
h=20
   function it appears in.)
configure: failed program was:
#line 6789 "configure"
#include "confdefs.h"

  #include <ieeefp.h>
 =20
int main() {

  finite ( 4.0 ) ;
 =20
; return 0; }
configure:6836: checking whether <stdlib.h> provides lrand48()
configure:6849: /home/scratch/kent/gcc3/bin/gcc -o conftest -g -O2  =20
conftest.C -lm  1>&5
configure:6868: checking whether <stdlib.h> provides drand48()
configure:6881: /home/scratch/kent/gcc3/bin/gcc -o conftest -g -O2  =20
conftest.C -lm  1>&5
configure:6911: checking whether byte ordering is bigendian