The Netgen 4.5 from the web location : http://www.hpfem.jku.at/netgen/ (CVS access) is used in the SMESH Module of Salome3 distribution. 1. How to build Netgen for Salome ------------------------------ 1.1. Download Netgen 4.5 from the NETGEN home site (see above). 1.2. Unpack the downloaded Netgen 4.5 archive (hereafter we assume that this is netgen45 directory) 1.3. Patch the netgen 4.5 distribution for SALOME: $ cd netgen45 $ patch -p1 < patch_directory/netgen45ForSalome.patch 1.4. For 64-bit platform you also need to apply another patch: $ cd netgen45 $ patch -p1 < patch_directory/netgen45lib64.patch 1.5. Set CASROOT environment variable to OCCT installation path, since Netgen 4.5 requires Open CASCADE Technology: $ setenv CASROOT 1.6. Compile and install netgen 4.5. To do this, simply run makeForSalome.sh script (it is created from the patch): $ sh makeForSalome.sh 2. Additional information for maintainers -------------------------------------- The file check_NETGEN.m4 assumes that Netgen is installed in the directory as follow: prompt> ls include/ lib/ prompt> ls /include adfront2.hpp explicitcurve2d.hpp hpref_quad.hpp myadt.hpp spbita2d.hpp adfront3.hpp extrusion.hpp hpref_segm.hpp mydefs.hpp specials.hpp adtree.hpp findip.hpp hpref_tet.hpp mystdlib.h specpoin.hpp algprim.hpp findip2.hpp hpref_trig.hpp mystring.hpp spline.hpp array.hpp flags.hpp hprefinement.hpp ngexception.hpp spline2d.hpp autoptr.hpp gencyl.hpp identify.hpp nglib.h spline3d.hpp basemat.hpp geom2d.hpp improve2.hpp occgeom.hpp splinegeometry.hpp bisect.hpp geom2dmesh.hpp improve3.hpp occmeshsurf.hpp splinegeometry2.hpp bitarray.hpp geom3d.hpp linalg.hpp opti.hpp stack.hpp boundarylayer.hpp geometry2d.hpp localh.hpp optmem.hpp stlgeom.hpp brick.hpp geomfuncs.hpp manifold.hpp parthreads.hpp stlline.hpp classifyhpel.hpp geoml.hpp meshclass.hpp polyhedra.hpp stltool.hpp clusters.hpp geomobjects.hpp meshfunc.hpp polynomial.hpp stltopology.hpp csg.hpp geomops.hpp meshing.hpp profiler.hpp surface.hpp csgeom.hpp geomsearch.hpp meshing2.hpp revolution.hpp symbolta.hpp csgparser.hpp geomtest3d.hpp meshing3.hpp ruler2.hpp table.hpp curve2d.hpp global.hpp meshstlsurface.hpp ruler3.hpp template.hpp curvedelems.hpp gprim.hpp meshsurf.hpp seti.hpp topology.hpp curvedelems_new.hpp hashtabl.hpp meshtool.hpp singularref.hpp transform3d.hpp densemat.hpp hpref_hex.hpp meshtype.hpp solid.hpp triapprox.hpp dynamicmem.hpp hpref_prism.hpp moveablemem.hpp sort.hpp vector.hpp edgeflw.hpp hpref_pyramid.hpp msghandler.hpp sparsmat.hpp prompt> ls /lib libcsg.a libgeom2d.a libla.a libnginterface.a libopti.a libgen.a libgprim.a libmesh.a libocc.a libstlgeom.a The library files can be also installed in the LINUX or LINUX64 subfolder of the lib directory. All the libraries *.a should be compiled without the option -DOPENGL. netgen45 is assumed to be the directory downloaded from the above web location archive of Netgen. The library /lib/libnginterface.a should contain the objects nglib.o (from netgen45/libsrc/interface/nglib.cpp) and ngnewdelete.o (from netgen45/ngtcltk/ngnewdelete.cpp). To have that kind of distribution from the version in the above web location you need not to compile Netgen as suggested in the netgen45/README.INSTALL file. Simply modify the Makefiles to remove -DOPENGL from compiler flags list and to add OCC include dir and flags to compiler flags, add the objects nglib.o and ngnewdelete.o to the library libnginterface.a and recompile the libraries only. All this job is done by applying the patch and running the script makeForSalome.sh. The suggested patch alters some Netgen sources to compile them. Michael SAZONOV m-sazonov@opencascade.com