Chombo Class Libaries and Other Packages

This page describes the trials and tribulations encountered when trying to combine CHombo with other packages.

Chombo is the name of the ANAG software that encompasses a LARGE number of C++ class libaries and fortran routines. The basic idea is that C++ is used for data management, and Fortran is used for compute-intensive tasks. Chombo is layered upon a number of other software layers from both ANAG and CCSE. The C++ code makes extensive use of features that are documented in the language standard, but which are not implemented by all compilers. The size of the distribution, combined with language issues, both serve to create serious obstacles for the developer. This page describes some of our experiences in attempting to combine Chombo with other packages.

Combining with AVS 5

This was attempted on a Solaris platform. AVS 5 was built with the Sparcworks 4.2 compilers from Sun Micro. Chombo will NOT build with these compilers. On solaris, one must use g++ to build Chombo. We attempted to build an AVS module that would simply open and read some configuration information from an AMR data file using some of the Chombo i/o tools. Due to name mangling differences between CC and g++, the link fails due to undefined (mangled) symbols related to low level system i/o calls. Attempting the link with CC generates a large volume of undefined symbols (g++ wants to link with libstd++, not libc or libC).

Combining with VTK

This was done on both SGI IRIX and Sun Solaris (Sparc's and PC's) with some difficulty.