Table of Contents
This page documents the installation of a custom version of Overture that does not have any Motif, OpenGL or X11 dependencies available as a tarball & in our SVN repository. Note: These instructions are not valid for the latest version of Overture available at the Overture Install page.
Resources:
Ensure that you have the HDF, A++ & P++ libraries and header files on your system. If you do not know the location of these libraries, or if they are not installed ask your system administrator. If you are the system administrator, follow the instructions below for obtaining and installing these dependencies:
$INSTALL_DIR/overture
:
cd $INSTALL_DIR wget http://download.hao.ucar.edu/pub/schmitt/cism/LTR-para/overture-02-19-2008.tar.gz tar -zxvf overture-02-19-2008.tar.gz
cd $INSTALL_DIR svn --username [yourname] co https://proxy.subversion.ucar.edu/cism_CSE/trunk/overture
cd $INSTALL_DIR/overture setenv APlusPlus $INSTALL_DIR/A++ setenv PPlusPlus $INSTALL_DIR/P++ setenv HDF $INSTALL_DIR setenv Overture $INSTALL_DIR/overture setenv XLIBS IGNORE_X setenv OpenGL IGNORE_X setenv MOTIF IGNORE_X setenv PERL IGNORE_PERL
env.example
file included with our Overture distribution as an example of the environment variables you need to set.config/MakeDefs.linux
and replace -DINTEL86
with
-D__x86_x64__ -DBL_AUTO_INSTANTIATE
./configure [OS] CC=${CXX} cc=${CC} FC=${F77}
[OS]
is replaced with one of aix, dec, dec-linux, dec-linux-compaq, hpux, linux, irix, sun5
(run sh configure --help
for more information). $CC
, $CXX
and $F77
are environment variables pointing to your C, C++ and Fortran compilers. You may wish to compile an optimized parallel version of Overture (note: We have not extensively tested the optimized parallel version of Overture) by issuing the following commands:
chmod gu+x configure sh configure [OS] opt parallel CC=${CXX} cc=${CC} FC={F77}
boxlib/Makefile
, swapping
-D__x86_x64__ -DBL_AUTO_INSTANTIATE
-D__x86_x64__ -DBL_AUTO_INSTANTIATE -D__ia64
gmake
bin/ogen
:
async.c:-( .text+0x32): undefined reference to `aio_suspend' async.c:-( .text+0x64): undefined reference to `aio_return' async.c:-( .text+0x8d): undefined reference to `aio_error' /export/pgf70/linux86-64/7.0-3/lib/libpgftnrtl.a(async.o): In function `Fio_asy_read': async.c:-( .text+0x2b0): undefined reference to `aio_read' /export/pgf70/linux86-64/7.0-3/lib/libpgftnrtl.a(async.o): In function `Fio_asy_write': async.c:-( .text+0x362): undefined reference to `aio_write'
-lrt
to the end of FORTRAN_LIBS in bin/Makefile
Edit config/MakeDefs.linux
and do the following:
Replace -DINTEL86
with
-D__x86_x64__ -DBL_AUTO_INSTANTIATE
Add the following to the lines that specify $GLIBS
:
-L/usr/lib64 -lg2c -lstdc++
Run ./configure ...
(e.g. by following the standard Overture build instructions). Before running gmake
, you should edit boxLib/Makefile and replace the line containing "
x86_x64
"
with
-D__x86_x64__ -D__ia64
Otherwise, you may get errors about "nld" and "nrd" being un-defined.
Then run
./configure linux cc=icc CC=icc FC=ifort gmake
http://www.llnl.gov/CASC/Overture
The notes below say to "edit the appropriate Makefile". You have two options for this:
config/Makedefs.$ARCHITECTURE
, gmake clean, and re-run the configure
script.gmake[1]: *** [rap] Error 1 gmake[1]: Leaving directory }}/misc/p63/cmit2/pschmitt/releaseCandidate/opt/overture/bin' gmake: *** [all] Error 2
overture/bin
, so you would edit bin/Makefile
.To build on a 64-bit Intel machine (like wjet and STIC), we had to edit config/Makedefs.linux and replace -DINTEL86
with
-D__x86_64__
offsetof
:
"plyFileInterface.C", line 153: error: identifier "__offsetof__" is undefined {"x", PLY_FLOAT, PLY_FLOAT, offsetof(PlyVertex,x), 0, 0, 0, 0}, ^ "plyFileInterface.C", line 194: error: identifier "__offsetof__" is undefined {"vertex_indices", PLY_INT, PLY_INT, offsetof(PlyFace,verts),
offsetof
, as suggested on the Portland Group C++ forum:
#define offsetof(TYPE, MEMBER) ((size_t) &((TYPE *)0)->MEMBER)
iostream.h: No such file or directory
using namespace std;
at the top for it to recognize iostream. The simplest fix is to install the g++ 3.3 header files & libraries. For more information, see this article./home/pschmitt/cmit2/pschmitt/opt-intel/overture/bin/../lib/libOverture.so: undefined reference to `dtime_'
-lg2c
to the GLIBS environment variable of the appropriate Makefile (i.e. if you get this crash in overture/bin, edit overture/bin/Makefile). Note: You might also need to tell the compiler where the libg2c.a or libg2c.so
library resides. Sometimes it's in /usr/lib64
, in which case you need to add -L/usr/lib64 -lg2c
."/hao/wiltbemj/opt/AIX-64/src/overture/include/UnstructuredMapping.h", line 428.47: 1540-0216 (S) An expression of type "void *" cannot be converted to type "int".
#ifndef IGNORE_PERL #include <perl.h> #endif
-DIGNORE_PERL
to cc_FLAGS
and CC_FLAGS
. Try recompiling.error: more than one instance of overloaded function "abs" matches the argument list: function "abs(int)" function "std::abs(long)" function "std::abs(long double)" argument types are: (double) if (abs(1.0 - tvf) > distTolerance) {
abs
with fabs
and add #include <cstdlib>
to the first line of the file./local/d/schmitt/cism/opt-pgi-mpich/overture/bin/../lib/libOverture_static.a(BoxList.o): In function `BoxList::__ct(BoxList const &)': /local/d/schmitt/cism/opt-pgi-mpich/overture/boxlib/BoxList.C:46: undefined reference to `List<Box>::__ct(List<> const &)' /local/d/schmitt/cism/opt-pgi-mpich/overture/bin/../lib/libOverture_static.a(BoxList.o): In function `BoxList::operator=(BoxList const &)': /local/d/schmitt/cism/opt-pgi-mpich/overture/boxlib/BoxList.C:50: undefined reference to `__CPR63____as__16List__tm__5_3BoxFRC15List__tm__4_Z1Z_RJ27J' /local/d/schmitt/cism/opt-pgi-mpich/overture/bin/../lib/libOverture_static.a(BoxList.o): In function `BoxList::intersect(Box const &)': /local/d/schmitt/cism/opt-pgi-mpich/overture/boxlib/BoxList.C:128: undefined reference to `List<Box>::remove(ListIterator<> &)' /local/d/schmitt/cism/opt-pgi-mpich/overture/bin/../lib/libOverture_static.a(BoxList.o): In function `BoxList::complementIn(Box const &, BoxList const &)': /local/d/schmitt/cism/opt-pgi-mpich/overture/boxlib/BoxList.C:155: undefined reference to `List<Box>::catenate(List<> &)' /local/d/schmitt/cism/opt-pgi-mpich/overture/boxlib/BoxList.C:156: undefined reference to `List<Box>::remove(ListIterator<> &)' /local/d/schmitt/cism/opt-pgi-mpich/overture/bin/../lib/libOverture_static.a(BoxList.o): In function `BoxList::simplify(void)': /local/d/schmitt/cism/opt-pgi-mpich/overture/boxlib/BoxList.C:275: undefined reference to `List<Box>::remove(ListIterator<> &)' /local/d/schmitt/cism/opt-pgi-mpich/overture/bin/../lib/libOverture_static.a(BoxList.o): In function `length': /local/d/schmitt/cism/opt-pgi-mpich/overture/boxlib/BoxList.C:316: undefined reference to `Array<Box>::length(long const(void))' /local/d/schmitt/cism/opt-pgi-mpich/overture/bin/../lib/libOverture_static.a(BoxList.o): In function `operator[]': /local/d/schmitt/cism/opt-pgi-mpich/overture/boxlib/BoxList.C:344: undefined reference to `get__17Array__tm__5_3BoxCFl_RCZ1Z' /local/d/schmitt/cism/opt-pgi-mpich/overture/bin/../lib/libOverture_static.a(BoxList.o): In function `clear': /local/d/schmitt/cism/opt-pgi-mpich/overture/boxlib/BoxList.C:465: undefined reference to `List<Box>::clear(void)' /local/d/schmitt/cism/opt-pgi-mpich/overture/bin/../lib/libOverture_static.a(BoxList.o): In function `length': /local/d/schmitt/cism/opt-pgi-mpich/overture/boxlib/BoxList.C:481: undefined reference to `List<Box>::length(int const(void))' /local/d/schmitt/cism/opt-pgi-mpich/overture/bin/../lib/libOverture_static.a(BoxList.o): In function `complementIn': /local/d/schmitt/cism/opt-pgi-mpich/overture/boxlib/BoxList.C:406: undefined reference to `List<Box>::catenate(List<> &)' /local/d/schmitt/cism/opt-pgi-mpich/overture/boxlib/BoxList.C:407: undefined reference to `List<Box>::remove(ListIterator<> &)' /local/d/schmitt/cism/opt-pgi-mpich/overture/bin/../lib/libOverture_static.a(BoxList.o): In function `List<Box>::__dt(void)': /local/d/schmitt/cism/opt-pgi-mpich/overture/boxlib/BoxList.C:542: undefined reference to `List<Box>::clear(void)' /local/d/schmitt/cism/opt-pgi-mpich/overture/bin/../lib/libOverture_static.a(BoxList.o): In function `append__16List__tm__5_3BoxFRCZ1Z_v': /local/d/schmitt/cism/opt-pgi-mpich/overture/boxlib/BoxList.C:557: undefined reference to `__CPR79__addAfter__16List__tm__5_3BoxFP19ListLink__tm__4_Z1ZRCZ1Z_PJ30J'
-DBL_AUTO_INSTANTIATE
to cc_FLAGS
, CC_FLAGS
and FF_FLAGS
in config/MakeDefs.ARCHITECTURE. Then run gmake clean
and return to step 2 above (re-run configure
and gmake
to rebuild Overture).async.c:(.text+0x26b): undefined reference to `aio_read' /opt/local/pgi7.1/linux86/7.1/lib/libpgftnrtl.a(async.o): In function `Fio_asy_write': async.c:(.text+0x33b): undefined reference to `aio_write'
-lrt
to "Lib" inside "overture/bin/Makefile"./local/d/schmitt/cism/opt/lib/libdf.a(cszip.o): In function `HCPcszip_write': cszip.c:(.text+0x38d): undefined reference to `SZ_encoder_enabled'
'''* No rule to make target 'ABC.h' needed by 'XYZ'. Stop.
gmake
command again.hdfi.h
about "GOT_MACHINE" of the form
If you get an error on this line more than one machine type has been defined. Please check your Makefile.
-DINTEL86
flag with
-DINTEL64 -D__386 -DUNIX386
boxlib/FPC.c
of the form
FPC.C(79): error: identifier "nld" is undefined return nld; ^ FPC.C(109): error: identifier "nrd" is undefined return nrd; ^ FPC.C(149): catastrophic error: #error directive: We do not yet support FAB I/O on this machine #error We do not yet support FAB I/O on this machine
-D__ia64
to the CFLAGS
. Run gmake clean
and return to step 2 above: re-run configure
and gmake
.overture/boxlib/FPC.C
. Edit boxlib/Makefile
and add
-D__i486__
cc_FLAGS
and CC_FLAGS
.overture/static/mogl.C
of the form
mogl.C catastrophic error: cold not open source file X11/GLw/GLwMDraw.h
-DOV_USE_MESA
to cc_flags
and CC_flags
of "overture/static/Makefile". If that doesn't work, make sure your system has "GLwMDraw.h" installed. It may be installed in "/usr/include/GL/GLwMDraw.h" Edit "mogl.C". Remove "X11/" from line 167 of overture/static/mogl.C
pgCC-Error-Unknown switch: -Wno-deprecated
configure
script again.catastrophic error: #error directive: "SEEK_SET is #defined but must not be for the C++ binding of MPI" error "SEEK_SET is #defined but must not be for the C++ binding of MPI"
-DMPICH_IGNORE_CXX_SEEK
and -DMPICH_SKIP_MPICXX
to cc_FLAGS
and CC_FLAGS of overture/config/MakeDefs.
OS
. gmake clean
and re{{configure}} and gmake
overture.ifort -fPIC -w -inline-level=0 -r8 -i4 -I/dev/shm/wilsone/overture/include -I. -c assignBoundaryConditions.f . . . Fatal compilation error: Out of memory asking for 69640.
-O0
:
cd GridFunction/ && ifort -fPIC -w -O0 -r8 -i4 -I/dev/shm/wilsone/overture/include -I. -c assignBoundaryConditions.f
gfortran -O -fPIC -r8 -i4 -I/tor/d/schmitt/cism/opt-gnu/overture/include -I. -c assignBoundaryConditions.f gfortran: unrecognized option '-r8' In file assignBoundaryConditions.f:3969 stop 123456 1 Error: Too many digits in STOP code at (1) In file assignBoundaryConditions.f:4279 stop 123456 1 Error: Too many digits in STOP code at (1) In file assignBoundaryConditions.f:4581 stop 123456 1 Error: Too many digits in STOP code at (1)
ld: 0711-781 ERROR: TOC overflow. TOC size: 122376 Maximum size: 65536
-bbigtoc
to the corresponding Makefile & command. It should compile, even though you get the warning:
ld: 0711-783 WARNING: TOC overflow. TOC size: 122376 Maximum size: 65536 Extra instructions are being generated for each reference to a TOC symbol if the symbol is in the TOC overflow area.
ld: 0706-006 Cannot find or open library file: -l Rapsodi ld:open(): A file or directory in the path name does not exist.
$(Overture)/lib
and the compile command looks okay. Solution: Open the Makefile and add the following before including the library -lRapsodi
:
-Wl,-brtl,-blibpath:$(Overture)/lib
/home/pschmitt/cmit2/pschmitt/releaseCandidate/opt/overture/bin/../lib/libOverture.so: undefined reference to `std::basic_ostream<char, std::char_traits<char> >& std::flush<char, std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&)'
-lstdc++
to FLIBS
.xlC -DIGNORE_X -DIGNORE_PERL -g -qspill=50000 -qmaxmem=-1 -w -DFBIND=1 -I/home/bluevista/schmitt/cism/releaseCandidate/opt/overture/bin/../include -I/home/bluevista/schmitt/cism/releaseCandidate/opt/A++/include -IIGNORE_X/include -IIGNORE_X/include -DBL_USE_DOUBLE -DBL_Solaris -I -o ogen ogenDriver.o ogen.o -Wl,-brtl,-blibpath:/usr/lib/threads:/usr/lib:/home/bluevista/schmitt/cism/releaseCandidate/opt/overture/bin/../lib::/home/bluevista/schmitt/cism/releaseCandidate/opt/overture/bin/../lib:/usr/lib/threads:/usr/lib -L/home/bluevista/schmitt/cism/releaseCandidate/opt/overture/bin/../lib -lOverture -lOverture_static -L/home/bluevista/schmitt/cism/releaseCandidate/opt/A++/lib -lApp -lApp_static -lf -Wl,-rpath,/home/bluevista/schmitt/cism/releaseCandidate/opt/lib -L/home/bluevista/schmitt/cism/releaseCandidate/opt/lib -lmfhdf -ldf -ljpeg -lz ld: 0706-012 The -p flag is not recognized. ld: 0706-012 The -a flag is not recognized. ld: 0706-012 The -t flag is not recognized. ld: 0706-012 The -h flag is not recognized. gmake[1]: *** [ogen] Error 255
-rpath
flag; Remove it from the corresponding Makefile.LibRapsodi= -Wl,-brtl,-blibpath:$(Overture)/lib
[]$ gmake mpiCC -DIGNORE_X -DIGNORE_PERL -fPIC -DBL_AUTO_INSTANTIATE - fpermissive -DIGNORE_PERL -I/home/ccmc/LFM_MIX_install/overture/ include -I. -D__x86_64__ -I/home/ccmc/LFM_MIX_install/P++//include -IIGNORE_X/include -IIGNORE_X/include -DBL_USE_DOUBLE -DBL_Solaris -I -DHAS_MODFL_PROTO -g -DNO_REAL -I/home/ccmc/LFM_MIX_install/include -c grid.C /home/ccmc/LFM_MIX_install/overture/include/List.H:43: error: 'List' is not a template type /home/ccmc/LFM_MIX_install/overture/include/List.H:49: error: 'List' is not a template cd boxlib /home/ccmc/LFM_MIX_install/overture/include/List.H:83: error: 'List' is not a template /home/ccmc/LFM_MIX_install/overture/include/List.H:164: error: 'List' is not a template /home/ccmc/LFM_MIX_install/overture/include/List.H:169: error: 'List' is not a template /home/ccmc/LFM_MIX_install/overture/include/List.H:176: error: 'List' is not a template /home/ccmc/LFM_MIX_install/overture/include/List.H:217: error: 'List' is not a template type /home/ccmc/LFM_MIX_install/overture/include/List.H:217: error: redefinition of 'class List' /export/mpich/include/mpi2c++/mpi2c++_list.h:34: error: previous definition of 'class List' /home/ccmc/LFM_MIX_install/overture/include/List.H:400: error: 'List' is not a template ...
List<T>
, List ()
and ::List
to OgshowList<T>
, OgshowList ()
, ::OgshowList
in all the Overture files./usr/local/pgi/linux86-64/6.2/lib/libpgc.a(trace_lin.o)(.text+0x10): In function `findrout': : undefined reference to `__pgi_trace' /usr/local/pgi/linux86-64/6.2/lib/libpgc.a(trace_lin.o)(.text+0x18): In function `findrout': : undefined reference to `__pgi_tracee'
-L/usr/local/pgi/linux86-64/6.2/lib /usr/local/pgi/linux86-64/6.2/lib/pgi.ld -lpgc
"HDF_DataBase.C", line 1788: error: identifier "MAX_VAR_DIMS" is undefined int32 tag, ref, rank, nt, dims[MAX_VAR_DIMS|MAX_VAR_DIMS], nattrs; ^ "HDF_DataBase.C", line 1790: error: identifier "MAX_NC_NAME" is undefined char sd_name[MAX_NC_NAME|MAX_NC_NAME]; ^ "HDF_DataBase.C", line 1882: error: identifier "MAX_VAR_DIMS" is undefined int32 tag, ref, rank, nt, dims[MAX_VAR_DIMS|MAX_VAR_DIMS], nattrs; ^ "HDF_DataBase.C", line 1884: error: identifier "MAX_NC_NAME" is undefined char sd_name[MAX_NC_NAME|MAX_NC_NAME]; ^ "HDF_DataBase.C", line 1976: error: identifier "MAX_VAR_DIMS" is undefined int32 tag, ref, rank, nt, dims[MAX_VAR_DIMS|MAX_VAR_DIMS], nattrs; ^ "HDF_DataBase.C", line 1978: error: identifier "MAX_NC_NAME" is undefined char sd_name[MAX_NC_NAME|MAX_NC_NAME];
MAX_
with H4_MAX_
. Here's an example using Perl:
perl -pi -e "s/MAX_VAR/H4_MAX_VAR/g" DataBase/*C
cc1: error: unrecognized command line option "-i4"
rap.C(32): error: a value of type "const char *" cannot be used to initialize an entity of type "char *" char * dot = strrchr((const char*) line, '.'); ^ compilation aborted for rap.C (code 2) make[1]: *** [rap.o] Error 2 make[1]: Leaving directory `/home/col/lfm/lfm_2_1_4/overture/bin' make: *** [all] Error 2
char * dot = const_cast<char *>( strrchr((const char*) line, '.') );
std::const_cast
.gmake[1]: Entering directory `/nics/d/home/schmitt/opt-pgi-11.9/overture/bin' /usr/bin/ld: cannot find -lOverture gmake[1]: *** [ogen] Error 2 gmake[1]: Leaving directory `/nics/d/home/schmitt/opt-pgi-11.9/overture/bin' gmake: *** [all] Error 2