[overture] Re: Compiling overture v23 on intel mac

  • From: "Philip M. Blakely" <pmb39@xxxxxxxxx>
  • To: overture@xxxxxxxxxxxxx
  • Date: 29 Apr 2009 08:16:41 +0100

Hi Praveen,

I've copied below a reply I sent to the previous Overture mailing list some time ago. I think you're having the same problem as I had.

Philip

-----------------------------

I've been having similar problems with undefined references to
List<Box>::clear() etc. recently, while using the Intel Compiler version
9.1. It turns out that these errors turn up because although the template
List<T> has been defined, it hasn't been instantiated explicitly for T=Box.

At the bottom of BoxList.H and Array.H, there are lines
#ifdef BL_AUTO_INSTANTIATE
#include <BL_List.C>
#endif

and

#ifdef BL_AUTO_INSTANTIATE
#include <Array.C>
#endif

These will instantiate the correct templates if BL_AUTO_INSTANTIATE is
defined. Either comment out #ifdef BL_AUTO_INSTANTIATE and #endif in both
cases, or reconfigure and compile with --debugFlag=-DBL_AUTO_INSTANTIATE.

I think this is allowed for in the ./configure script, but only if the
compiler is "g++" or "kcc", which doesn't work if your compiler command is
gcc (even if it calls g++).

This certainly got rid of the errors I was having.




On Apr 26 2009, Praveen C wrote:

Hello

I am trying to install overture on intel mac leopard 10.5.6 with gcc-4.3.3
and gfortran. I compiled A++.

When compiling overture, I am getting error at the linking stage. Can you
please help with this error.

Thanks
praveen

/sw/bin/g++-4 -o libOverture.dylib -dynamiclib -single_module -Wl-bind_at_load -L/opt/overture/Overture.v23/lib -L/System/Library/Perl/5.8.8/darwin-thread-multi-2level/CORE -lperl -ldl -lm -lutil -lc -L/usr/X11R6/lib -lGL -lGLU -L/sw/lib -lXm -L/usr/X11R6/lib -lXpm -lXp -lXt -lXmu -lXi -lXext -lX11 -lm -L/sw/lib -lmfhdf -ldf -ljpeg -lz -lgfortran -L/opt/overture/A++P++-0.7.9d/A++/install/lib -lApp -lApp_static ../DataBase/*.o ../GridFunction/*.o ../templates/*.o \
            ../Grid/*.o ../Mapping/*.o ../Oges/*.o  ../GridGenerator/*.o
../Ogshow/*.o ../mapUtil/*.o \
../otherStuff/*.o -L/System/Library/Perl/5.8.8/darwin-thread-multi-2level/CORE -lperl -ldl -lm -lutil -lc -L/usr/X11R6/lib -lGL -lGLU -L/sw/lib -lXm -L/usr/X11R6/lib -lXpm -lXp -lXt -lXmu -lXi -lXext -lX11 -lm -L/opt/overture/Overture.v23/lib -lOverture_static -L/sw/lib -lmfhdf -ldf -ljpeg -lz -lgfortran -L/opt/overture/A++P++-0.7.9d/A++/install/lib -lApp -lApp_static -Wl-weak-framework,vecLib Undefined symbols:
 "List<Box>::catenate(List<Box>&)", referenced from:
     BoxList::complementIn(Box const&, BoxList const&) in
libOverture_static.a(BoxList.o)
     complementIn(Box const&, BoxList const&) in
libOverture_static.a(BoxList.o)
 "List<Box>::join(List<Box> const&)", referenced from:
     BoxList::join(BoxList const&) in ParentChildSiblingInfo.o
 "List<Box>::List(List<Box> const&)", referenced from:
     BoxList::BoxList(BoxList const&) in libOverture_static.a(BoxList.o)
     BoxList::BoxList(BoxList const&) in libOverture_static.a(BoxList.o)
 "List<Box>::remove(ListIterator<Box>&)", referenced from:
     BoxList::simplify()     in libOverture_static.a(BoxList.o)
     BoxList::complementIn(Box const&, BoxList const&) in
libOverture_static.a(BoxList.o)
     complementIn(Box const&, BoxList const&) in
libOverture_static.a(BoxList.o)
     BoxList::intersect(Box const&) in libOverture_static.a(BoxList.o)
 "List<Box>::length() const", referenced from:
     BoxList::length() const in ParentChildSiblingInfo.o
     Regrid::buildGrids(GridCollection&, GridCollection&, int, int, int,
BoxList*, intArray**) in Regrid.o
     Regrid::buildGrids(GridCollection&, GridCollection&, int, int, int,
BoxList*, intArray**) in Regrid.o
     Regrid::buildGrids(GridCollection&, GridCollection&, int, int, int,
BoxList*, intArray**) in Regrid.o
     BoxList::length() const in libOverture_static.a(BoxList.o)
 "Array<Box>::length() const", referenced from:
     BoxArray::length() const in libOverture_static.a(BoxList.o)
 "List<Box>::addAfter(ListLink<Box>*, Box const&)", referenced from:
     List<Box>::append(Box const&) in GridCollection.o
     List<Box>::append(Box const&) in ParentChildSiblingInfo.o
     Regrid::splitBox(Box&, intArray const&, BoxList&, int) in Regrid.o
     Regrid::splitBox(Box&, intArray const&, BoxList&, int) in Regrid.o
Regrid::buildProperNestingDomains(GridCollection&, int, int, int, int) in Regrid.o
     List<Box>::append(Box const&) in Integrate.o
     List<Box>::append(Box const&) in libOverture_static.a(BoxList.o)
 "List<Box>::clear()", referenced from:
     BoxList::clear()     in GridCollection.o
     List<Box>::~List()  in GridCollection.o
     BoxList::clear()     in ParentChildSiblingInfo.o
     List<Box>::~List()  in ParentChildSiblingInfo.o
     List<Box>::~List()  in InterpolateRefinements.o
     Regrid::splitBox(Box&, intArray const&, BoxList&, int) in Regrid.o
     Regrid::splitBox(Box&, intArray const&, BoxList&, int) in Regrid.o
     Regrid::splitBox(Box&, intArray const&, BoxList&, int) in Regrid.o
     Regrid::splitBox(Box&, intArray const&, BoxList&, int) in Regrid.o
     Regrid::splitBox(Box&, intArray const&, BoxList&, int) in Regrid.o
     Regrid::splitBox(Box&, intArray const&, BoxList&, int) in Regrid.o
     Regrid::splitBox(Box&, intArray const&, BoxList&, int) in Regrid.o
     Regrid::splitBox(Box&, intArray const&, BoxList&, int) in Regrid.o
Regrid::buildProperNestingDomains(GridCollection&, int, int, int, int) in Regrid.o Regrid::buildProperNestingDomains(GridCollection&, int, int, int, int) in Regrid.o Regrid::buildProperNestingDomains(GridCollection&, int, int, int, int) in Regrid.o Regrid::buildProperNestingDomains(GridCollection&, int, int, int, int) in Regrid.o Regrid::buildProperNestingDomains(GridCollection&, int, int, int, int) in Regrid.o Regrid::buildProperNestingDomains(GridCollection&, int, int, int, int) in Regrid.o Regrid::buildProperNestingDomains(GridCollection&, int, int, int, int) in Regrid.o Regrid::buildProperNestingDomains(GridCollection&, int, int, int, int) in Regrid.o Regrid::buildProperNestingDomains(GridCollection&, int, int, int, int) in Regrid.o Regrid::buildProperNestingDomains(GridCollection&, int, int, int, int) in Regrid.o Regrid::buildProperNestingDomains(GridCollection&, int, int, int, int) in Regrid.o Regrid::buildProperNestingDomains(GridCollection&, int, int, int, int) in Regrid.o Regrid::buildProperNestingDomains(GridCollection&, int, int, int, int) in Regrid.o Regrid::buildProperNestingDomains(GridCollection&, int, int, int, int) in Regrid.o Regrid::buildProperNestingDomains(GridCollection&, int, int, int, int) in Regrid.o Regrid::buildProperNestingDomains(GridCollection&, int, int, int, int) in Regrid.o Regrid::buildProperNestingDomains(GridCollection&, int, int, int, int) in Regrid.o Regrid::buildProperNestingDomains(GridCollection&, int, int, int, int) in Regrid.o Regrid::buildProperNestingDomains(GridCollection&, int, int, int, int) in Regrid.o Regrid::buildProperNestingDomains(GridCollection&, int, int, int, int) in Regrid.o Regrid::buildProperNestingDomains(GridCollection&, int, int, int, int) in Regrid.o Regrid::buildProperNestingDomains(GridCollection&, int, int, int, int) in Regrid.o Regrid::buildProperNestingDomains(GridCollection&, int, int, int, int) in Regrid.o Regrid::buildProperNestingDomains(GridCollection&, int, int, int, int) in Regrid.o Regrid::buildProperNestingDomains(GridCollection&, int, int, int, int) in Regrid.o Regrid::buildProperNestingDomains(GridCollection&, int, int, int, int) in Regrid.o Regrid::regridAligned(GridCollection&, GridCollection&, bool, doubleGridCollectionFunction*, double, intGridCollectionFunction&, int, int) in Regrid.o Regrid::regridAligned(GridCollection&, GridCollection&, bool, doubleGridCollectionFunction*, double, intGridCollectionFunction&, int, int) in Regrid.o Regrid::regridAligned(GridCollection&, GridCollection&, bool, doubleGridCollectionFunction*, double, intGridCollectionFunction&, int, int) in Regrid.o Regrid::regridAligned(GridCollection&, GridCollection&, bool, doubleGridCollectionFunction*, double, intGridCollectionFunction&, int, int) in Regrid.o Regrid::regridAligned(GridCollection&, GridCollection&, bool, doubleGridCollectionFunction*, double, intGridCollectionFunction&, int, int) in Regrid.o Regrid::regridAligned(GridCollection&, GridCollection&, bool, doubleGridCollectionFunction*, double, intGridCollectionFunction&, int, int) in Regrid.o Regrid::regridAligned(GridCollection&, GridCollection&, bool, doubleGridCollectionFunction*, double, intGridCollectionFunction&, int, int) in Regrid.o Regrid::regridAligned(GridCollection&, GridCollection&, bool, doubleGridCollectionFunction*, double, intGridCollectionFunction&, int, int) in Regrid.o Regrid::regridAligned(GridCollection&, GridCollection&, bool, doubleGridCollectionFunction*, double, intGridCollectionFunction&, int, int) in Regrid.o Regrid::regridAligned(GridCollection&, GridCollection&, bool, doubleGridCollectionFunction*, double, intGridCollectionFunction&, int, int) in Regrid.o Regrid::regridAligned(GridCollection&, GridCollection&, bool, doubleGridCollectionFunction*, double, intGridCollectionFunction&, int, int) in Regrid.o Regrid::regridAligned(GridCollection&, GridCollection&, bool, doubleGridCollectionFunction*, double, intGridCollectionFunction&, int, int) in Regrid.o
     intersect(BoxList const&, Box const&) in Regrid.o
     intersect(BoxList const&, Box const&) in Regrid.o
     BoxList::clear()     in Integrate.o
     List<Box>::~List()  in Integrate.o
     List<Box>::~List()  in libOverture_static.a(BoxList.o)
     BoxList::clear()     in libOverture_static.a(BoxList.o)
 "List<Box>::operator=(List<Box> const&)", referenced from:
     BoxList::operator=(BoxList const&) in libOverture_static.a(BoxList.o)
 "Array<Box>::get(long) const", referenced from:
     BoxArray::operator[](int) const in libOverture_static.a(BoxList.o)
ld: symbol(s) not found
collect2: ld returned 1 exit status
make[1]: *** [libso_date] Error 1
make: *** [all] Error 2



Other related posts: