On 27 January 2009, at 14:03:24 (Epoch+1233061404 sec), Vincent Letocart wrote 
: 
> 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


I'am still trying... and I have another question

While the configure scripts tells the LIBS variable may be used:

        Some influential environment variables:
          CC          C compiler command
          CFLAGS      C compiler flags
          LDFLAGS     linker flags, e.g. -L<lib dir> if you have libraries in a
                      nonstandard directory <lib dir>
          LIBS        libraries to pass to the linker, e.g. -l<library>
          CPPFLAGS    C/C++/Objective C preprocessor flags, e.g. -I<include 
dir> if
                      you have headers in a nonstandard directory <include dir>
          CXX         C++ compiler command
          CXXFLAGS    C++ compiler flags
          CPP         C preprocessor
          F77         Fortran 77 compiler command
          FFLAGS      Fortran 77 compiler flags
          CXXCPP      C++ preprocessor

and I use it:

        ./configure CXXFLAGS="-I${BORISPREFIX}/hdf5-1.6.5-64/include64 -O3 -mp 
-openmp" 
        LDFLAGS="-L${BORISPREFIX}/lib64 -L${BORISPREFIX}/hdf5-1.6.5-64/lib64" 
        LIBS="-lmkl -liomp5 -lpthread" --prefix=${BORISPREFIX} --disable-gui 
--disable-tetgen 
        --enable-med --enable-gsl

The compile process stops at the very last link step without using those 
libraries coming
from the Intel Compiler :


        icpc -I/home/vincentl/.usr/local/hdf5-1.6.5-64/include64 -O3 -mp 
-openmp -o bin/gmsh -Llib Common/Main.o -lGmshCommon -lGmshMesh -lGmshGeo 
-lGmshPost -lGmshPlugin -lGmshParser -lGmshCommon -lGmshNumeric -lGmshANN 
-lGmshChaco -lGmshMetis -lGmshNetgen -lGmshMathEval -lmed -lhdf5 -lz -lgsl 
-lgslcblas -lm
        Common/Main.o: In function `main':
        Main.cpp:(.text+0xb4): undefined reference to 
`GModel::GModel(std::string)'
        Main.cpp:(.text+0xfa): undefined reference to `GmshInitialize(int, 
char**)'
        Main.cpp:(.text+0x105): undefined reference to `CTX'
        Main.cpp:(.text+0x10b): undefined reference to `CTX'
        Main.cpp:(.text+0x110): undefined reference to `GmshBatch()'
        Main.cpp:(.text+0x115): undefined reference to `GmshFinalize()'
        Main.cpp:(.text+0x11c): undefined reference to `Msg::Exit(int)'
        Main.cpp:(.text+0x19b): undefined reference to `CTX'
        Main.cpp:(.text+0x1a8): undefined reference to `Print_Usage(char 
const*)'
        make: *** [link] Error 1

Again: what did I do wrong ?

Vincent.


-- 
We Klingons believe as you do -- the sick should die.  Only the strong
should live.
                -- Kras, "Friday's Child", stardate 3497.2

_______________________________________________
gmsh mailing list
[email protected]
http://www.geuz.org/mailman/listinfo/gmsh

Reply via email to