[Gmsh] Gmsh 2.3.0 / FourierModel / --enable-fm

Vincent Letocart vincent.letocart at aeronomie.be
Tue Jan 27 14:03:24 CET 2009


On 26 January 2009, at 18:55:00 (Epoch+1232992500 sec), Christophe Geuzaine wrote : 
> Vincent Letocart wrote:
> >Hi everyone
> >
> >I'm currently trying to compile gmsh 2.3.0 but I'm hitting
> >trubbles with flag --enable-fm.
> >
> >It is related to a library called FourierModel but I can't
> >find any source code in the tarball related to this option.
> 
> Hi Vincent - that's normal: the FourierModel library is not publicly 
> available.

This is why. OK.

Can you also explain why I then can't compile ?

I use the configure script like this to get it compiled in my home directory 
(med, fltk and gsl are already intalled), compilers are from Intel (CC=icc, 
CXX=icpc)

./configure CPPFLAGS="-DTRUE=1 -DFALSE=0 -I${BORISPREFIX}/include64" CFLAGS="-I${BORISPREFIX}/include64" CXXFLAGS="-I${BORISPREFIX}/include64" LDFLAGS="-L${BORISPREFIX}/lib64 -lmkl -liomp5 -lpthread" --prefix=${BORISPREFIX} --libdir=${BORISPREFIX}/lib64 GMSH_LIBS='-lmkl -liomp5 -lpthread' --enable-hdf5 --with-hdf5-prefix=${BORISPREFIX}/hdf5-1.6.5-64 --enable-tree-browser --enable-med --with-med-prefix=${BORISPREFIX} --disable-fm --enable-shared --disable-chaco --disable-gui

A while after the 'make', I got a tremendous amout of C++ insults :-)
Investigating shows a strange behaviour as follow in that excerpt from the produced output:


== begin ==
icpc -I/home/vincentl/.usr/local/include64 -I/home/vincentl/.usr/local/include -I/home/vincentl/.usr/local/hdf5-1.6.5-64/include -I../Numeric -I../Common -I../Geo -I../Mesh -I../Post -I../contrib/Tetgen -I../contrib/Netgen -I../contrib/Netgen/libsrc/include -I../contrib/Netgen/libsrc/interface -I../contrib/ANN/include -I../contrib/Metis -I../contrib/MathEval -I../contrib/gmm  -c qualityMeasures.cpp
icpc -I/home/vincentl/.usr/local/include64 -I/home/vincentl/.usr/local/include -I/home/vincentl/.usr/local/hdf5-1.6.5-64/include -I../Numeric -I../Common -I../Geo -I../Mesh -I../Post -I../contrib/Tetgen -I../contrib/Netgen -I../contrib/Netgen/libsrc/include -I../contrib/Netgen/libsrc/interface -I../contrib/ANN/include -I../contrib/Metis -I../contrib/MathEval -I../contrib/gmm  -c BoundaryLayers.cpp
../Geo/GVertex.h(19): warning #654: overloaded virtual function "GEntity::getNumMeshElements" is only partially overridden in class "GVertex"
  class GVertex : public GEntity 
        ^

icpc -I/home/vincentl/.usr/local/include -I/home/vincentl/.usr/local/hdf5-1.6.5-64/include -I../Numeric -I../Common -I../Geo -I../Mesh -I../Post -I../contrib/Tetgen -I../contrib/Netgen -I../contrib/Netgen/libsrc/include -I../contrib/Netgen/libsrc/interface -I../contrib/ANN/include -I../contrib/Metis -I../contrib/MathEval -I../contrib/gmm  -c BDS.cpp
../Numeric/GmshMatrix.h(272): catastrophic error: could not open source file "gsl/gsl_linalg.h"
  #include <gsl/gsl_linalg.h>
                             ^
== end ==


The question is :

As I generated 64-bits binaries for gsl 1.12 and put the libs and include 
files in (respectively) .../lib64 and .../include64 dirs, I also tried in many
ways to tell it through the configure script, but those icpc actions just
CUT OFF the "-I/home/vincentl/.usr/local/include64" directive I added...

Did I miss another detail somewhere ?

Thanks by advance

Vincent.

-- 
The man on tops walks a lonely street; the "chain" of command is often
a noose.