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

William Hunter willemjagter at gmail.com
Wed Oct 18 09:16:56 CEST 2006


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.

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
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
>
-------------- next part --------------
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
********************************************************************