[Gmsh] Compile Error; Platform: Ubuntu Dapper (AMD64)

William Hunter willemjagter at gmail.com
Thu Oct 19 08:58:55 CEST 2006


Success!

Installed all the mesa-dev debs, which placed gl.h in the right place.
Ran ./configure without the prefix option this time. Also made use of
the linker option (Wl,...) and added -fPIC to the options (both in the
variables file). Then did make and sudo make install. Everything's
fine.

In summary: Compiled GSL from source, used FLTK deb, compiled Gmsh from source.

Thanks for your help.
--
William

On 18/10/06, David Colignon <David.Colignon at ulg.ac.be> wrote:
>
> William Hunter wrote:
> > Dave;
> >
> > I've attached the output from doing "./configure
> > --with-fltk-prefix=/usr/include/FL/". I noticed that my fltk is
> > installed in a non-standard location, hence the use of the prefix
> > option above. I tried compiling fltk from source last night, but I get
> > a heck of a lot of errors. Fltk's configure script doesn't complain,
> > but gcc is not happy. The debian package works fine though and it's
> > current (FLTK v1.1), so that's what I'm using. As an aside, GSL
> > compiled without any problems whatsoever.
>
> Hi William,
>
> the line
>
> checking for fltk-config... /usr/bin/fltk-config
>
> in the output of ./configure shows that it has found FLTK.
>
> On my box, I installed FLTK with synaptic (libfltk1.1 and libfltk1.1-dev) and they are installed in the same location as you.
>
> >
> > Below is what I get if I cd into Fltk and do "make". It complains
> > about not finding 'gl.h', but I checked and it's there (?) -- I'm
> > confused. Here's the output:
> >
> > william at tambotie:~/tmp/gmsh-1.65.0$ cd Fltk/
> > william at tambotie:~/tmp/gmsh-1.65.0/Fltk$ make
> > g++ -g -O2 -DHAVE_GSL -DHAVE_MATH_EVAL -DHAVE_NETGEN -DHAVE_METIS
> > -DHAVE_ANN_ -DHAVE_LIBZ -DHAVE_LIBPNG -DHAVE_LIBJPEG -DHAVE_FLTK
> > -I/usr/include/FL/ -I/usr/include/freetype2 -I../Common -I../DataStr
> > -I../Graphics -I../Geo -I../Mesh -I../Numeric -I../Parser -I../Fltk
> > -I../Plugin -I../utils/solvers -I../contrib/ANN/include -c Main.cpp
> > In file included from GUI.h:28,
> >                 from Main.cpp:27:
>
> > /usr/include/FL/gl.h:53:23: error: GL/gl.h: No such file or directory
>
>
>
> I now remember that I have had the same kind of problem : /usr/include/FL/gl.h try to include /usr/include/GL/gl.h but GL/gl.h is not installed in the Dapper distribution.
> The solution is to find gl.h (and also glext.h) on another linux distribution and to put them in /usr/include/GL .
> It worked for me...
>
> Cheers,
>
> Dave
>
>
>
> > In file included from Colorbar_Window.h:23,
> >                 from GUI.h:59,
> >                 from Main.cpp:27:
> > ../Common/GmshUI.h:39:24: error: GL/glu.h: No such file or directory
> > /usr/include/FL/gl.h: In function ‘void gl_rectf(int, int, int, int)’:
> > /usr/include/FL/gl.h:63: error: ‘glRecti’ was not declared in this
> > scope
> > ../Mesh/Matrix.h: In member function ‘double Vector3::length()’:
> > ../Mesh/Matrix.h:86: error: ‘sqrt’ was not declared in this scope
> > make: *** [Main.o] Error 1
> >
> > Can you figure out what's going on? (The '’' symbols is an artifact
> > from pasting from Linux to Windows, I think. They're not in the
> > original Linux output.)
> >
> > Regards,
> > William
> >
> >
> > On 17/10/06, David Colignon <David.Colignon at ulg.ac.be> wrote:
> >> Hi,
> >>
> >> you must have other errors in the Fltk directory. Can you cd in the
> >> Gmsh/Fltk directory and again perform a "make" ?
> >>
> >> Cheers,
> >>
> >> Dave
> >>
> >>
> >> William Hunter wrote:
> >> > My apologies, I didn't include the ML :-).
> >> >
> >> > ---------- Forwarded message ----------
> >> > From: William Hunter <willemjagter at gmail.com>
> >> > Date: 17-Oct-2006 08:35
> >> > Subject: Re: [Gmsh] Compile Error; Platform: Ubuntu Dapper (AMD64)
> >> > To: Colignon David <David.Colignon at ulg.ac.be>
> >> >
> >> >
> >> > Dave;
> >> >
> >> > Here's the last (and as far as I can see only) error message:
> >> >
> >> > make[1]: Leaving directory
> >> `/home/william/tmp/gmsh-1.65.0/contrib/MathEval'
> >> > g++ -g -O2 -o bin/gmsh -Llib -lGmshFltk -lGmshParser -lGmshGraphics
> >> > -lGmshMesh -lGmshGeo -lGmshPlugin -lGmshCommon -lGmshDataStr
> >> > -lGmshNumeric -lGmshParallel -lfltk_images -lfltk_gl -lfltk -ljpeg
> >> > -lpng -lz -lGmshANN -lGmshMetis -lGmshNetgen -lGmshMathEval -lgsl
> >> > -lgslcblas -lm
> >> > /usr/bin/ld: cannot find -lGmshFltk
> >> > collect2: ld returned 1 exit status
> >> > make: *** [link] Error 1
> >> >
> >> > uname -a returns the following:
> >> > Linux tambotie 2.6.15-26-amd64-generic #1 SMP PREEMPT Thu Aug 3
> >> > 02:52:35 UTC 2006 x86_64 GNU/Linux
> >> >
> >> > What I did:
> >> > Unpacked the gmsh archive in 'tmp' in my home directory, then did
> >> > './configure' which didn't complain about anything (except saying NO
> >> > to optional mesh software, which I don't need) and then I typed
> >> > 'make'.
> >> >
> >> > I can only guess that I have to specify a specific directory for
> >> > something in the variables file? I tried adding the -fPIC option to
> >> > the flags in variables, but this made no difference. The only
> >> > non-standard location on my system is the location of BLAS -- I use
> >> > ATLAS, and that's located in /usr/local/atlas, but is this relevant at
> >> > all?
> >> >
> >> > Thanks for your help,
> >> > William
> >> >
> >> >
> >> >
> >> > On 16/10/06, Colignon David <David.Colignon at ulg.ac.be> wrote:
> >> >> Hi,
> >> >>
> >> >> yes, I compile the latest gmsh version ( gmsh-nightly-source.tgz
> >> )on the
> >> >> same kind of platform ( uname -a = Linux elap91 2.6.15-26-amd64-k8
> >> #1 SMP
> >> >> PREEMPT Thu Aug 3 03:11:38 UTC 2006 x86_64 GNU/Linux ) without any
> >> >> problem...
> >> >> Can you send the first error message you get ?
> >> >>
> >> >> Dave
> >> >>
> >> >>
> >> >>
> >> >>> List;
> >> >>>
> >> >>> Before I dump a string of error messages here, has anyone
> >> successfully
> >> >>> compiled the latest Gmsh on the above mentioned platform?
> >> >>>
> >> >>> I have a .deb (v 1.65), and that works fine, but I want to compile
> >> the
> >> >>> latest version...
> >> >>>
> >> >>> All the requirements (GSL and FLTK) are met on my machine (here I did
> >> >>> use the .debs -- might that be the problem?), but I still can't
> >> >>> compile from the gmsh source.
> >> >>>
> >> >>> I'm sure it's something trivial, just don't know what! Any ideas/help
> >> >>> please?
> >> >>> --
> >> >>> wh
> >> >>> _______________________________________________
> >> >>> gmsh mailing list
> >> >>> gmsh at geuz.org
> >> >>> http://www.geuz.org/mailman/listinfo/gmsh
> >> >>>
> >> >>
> >> >>
> >> > _______________________________________________
> >> > gmsh mailing list
> >> > gmsh at geuz.org
> >> > http://www.geuz.org/mailman/listinfo/gmsh
> >>
> >
> > ------------------------------------------------------------------------
> >
> > william at tambotie:~/tmp/gmsh-1.65.0$ ./configure --with-fltk-prefix=/usr/include/FL/
> > checking for gcc... gcc
> > checking for C compiler default output file name... a.out
> > checking whether the C compiler works... yes
> > checking whether we are cross compiling... no
> > checking for suffix of executables...
> > checking for suffix of object files... o
> > checking whether we are using the GNU C compiler... yes
> > checking whether gcc accepts -g... yes
> > checking for gcc option to accept ANSI C... none needed
> > checking for g++... g++
> > checking whether we are using the GNU C++ compiler... yes
> > checking whether g++ accepts -g... yes
> > checking how to run the C preprocessor... gcc -E
> > checking for ranlib... ranlib
> > checking for ar... /usr/bin/ar
> > checking for fltk-config... /usr/bin/fltk-config
> > checking for main in -ljpeg... yes
> > checking for main in -lz... yes
> > checking for main in -lpng... yes
> > checking for main in -lm... yes
> > checking for vsnprintf... yes
> > checking for snprintf... yes
> > checking for ./contrib/Triangle/triangle.c... no
> > ********************************************************************
> > If you want to use Jonathan Shewchuk's Triangle as an alternative
> > isotropic 2D mesh generator, please download Triangle from the
> > author's web site at http://www.cs.cmu.edu/~quake/triangle.html,
> > unpack the archive and copy the two files 'triangle.c' and
> > 'triangle.h' in the ./contrib/Triangle subdirectory. Then run
> > ./configure again.
> > Please note that by doing so, you agree with Triangle's licensing
> > requirements stated in ./contrib/Triangle/README. (Most notably, you
> > may then only redistribute Gmsh if no compensation is received.)
> > ********************************************************************
> > checking for ./contrib/ANN/include/ANN/ANN.h... yes
> > ********************************************************************
> > You are building a version of Gmsh that contains ANN, the
> > Approximate Nearest Neighbor library.
> > Please note that by doing so, you agree with ANN's licensing
> > requirements stated in ./contrib/ANN/Copyright.txt.
> > To disable ANN, run configure again with the --disable-ann
> > option.
> > ********************************************************************
> > checking for ./contrib/Metis/metis.h... yes
> > ********************************************************************
> > You are building a version of Gmsh that contains METIS, the
> > Serial Graph Partitioner.
> > Please note that by doing so, you agree with METIS's licensing
> > requirements stated in ./contrib/Metis/README.
> > To disable METIS, run configure again with the --disable-metis
> > option.
> > ********************************************************************
> > checking for ./contrib/Netgen/libsrc/meshing/meshclass.cpp... yes
> > ********************************************************************
> > You are building a version of Gmsh that contains Joachim Schoberl's
> > Netgen as an alternative 3D mesh generator. Netgen is distributed
> > under the GNU LGPL: see ./contrib/Netgen/COPYING.LIB for more info.
> > To disable Netgen, run configure again with the --disable-netgen
> > option.
> > ********************************************************************
> > checking for ./contrib/Tetgen/tetgen.h... no
> > ********************************************************************
> > If you want to use Hang Si's Tetgen as an alternative
> > 3D mesh generator, please download Tetgen from the project's
> > web site at http://www.tetgen.berlios.de, unpack the archive
> > and move the files predicates.cxx, tetgen.cxx and tetgen.h in
> > the ./contrib/Tetgen subdirectory. Then run ./configure again.
> > Please note that by doing so, you agree with Tetgen's licensing
> > requirements stated in ./contrib/Tetgen/LICENSE. (Most notably, you
> > may then only redistribute Gmsh if no compensation is received.)
> > ********************************************************************
> > checking for ./contrib/MathEval/matheval.cpp... yes
> > checking for main in -lgslcblas... yes
> > checking for main in -lgsl... yes
> > configure: creating ./config.status
> > config.status: creating variables
> > ********************************************************************
> > Gmsh is configured for
> > - OS           : Linux
> > - C compiler   : gcc
> > - C++ compiler : g++
> > - Linker       : g++
> > - Optimization : -g -O2
> > - Options      : -DHAVE_GSL -DHAVE_MATH_EVAL -DHAVE_NETGEN -DHAVE_METIS -DHAVE_ANN_ -DHAVE_LIBZ -DHAVE_LIBPNG -DHAVE_LIBJPEG -DHAVE_FLTK  -I/usr/include/FL/ -I/usr/include/freetype2
> > ********************************************************************
> > To fine-tune the configuration, edit the 'variables' file
> > ********************************************************************
>