[Gmsh] error when compiling under Solaris 8

OSHIMA Takuya oshima at eng.niigata-u.ac.jp
Tue Apr 24 02:37:49 CEST 2007


Hi,

I had a very similar error when compiling gmsh-2.0.7 on Windows with
--enable-cygwin. In my case the problematic symbol was "_L," which
seems to have been defined somewhere in an unidentified Cygwin system
header file, and the following quick fix worked.

--- gmsh-2.0.7/Mesh/meshGRegionTransfinite.cpp  2007-03-20 07:34:12.000000000 +0
900
+++ gmsh-2.0.7.new/Mesh/meshGRegionTransfinite.cpp      2007-04-09 08:35:02.0000
00000 +0900
@@ -162,6 +162,9 @@
 class GOrientedTransfiniteFace {
 private:
   GFace *_gf;
+#ifdef _L
+#undef _L
+#endif
   int _L, _H;
   int _permutation, _index;
   std::vector<MVertex*> _list;

--
Takuya Oshima

From: Kea <kea031 at gmail.com>
Subject: [Gmsh] error when compiling under Solaris 8
Date: Mon, 23 Apr 2007 18:12:41 +0200

> Hi,
> I'm trying to compile gmsh under Solaris 8 with gcc 3.3.2 (I also tried 4.1.0)
> and I run into this error :
> 
> meshGRegionTransfinite.cpp:165: warning: declaration does not declare anything
> meshGRegionTransfinite.cpp :165: error: parse error before numeric constant
> meshGRegionTransfinite.cpp: In constructor `
>    GOrientedTransfiniteFace::GOrientedTransfiniteFace()':
> meshGRegionTransfinite.cpp:171: error: parse error before `;' token
> meshGRegionTransfinite.cpp:171: error: class `GOrientedTransfiniteFace' does
>    not have any field named `_H'
> meshGRegionTransfinite.cpp: In constructor `
>    GOrientedTransfiniteFace::GOrientedTransfiniteFace(GFace*,
>    std::vector<GVertex*, std::allocator<GVertex*> >&)':
> meshGRegionTransfinite.cpp:175: error: parse error before `;' token
> meshGRegionTransfinite.cpp:175: error: class `GOrientedTransfiniteFace' does
>    not have any field named `_H'
> meshGRegionTransfinite.cpp:177: error: non-lvalue in assignment
> meshGRegionTransfinite.cpp:179: error: `_H' undeclared (first use this
>    function)
> meshGRegionTransfinite.cpp :179: error: (Each undeclared identifier is
> reported
>    only once for each function it appears in.)
> *** Error code 1
> make: Fatal error: Command failed for target `meshGRegionTransfinite.o'
> Current working directory /Produits/tmp/rla/gmsh- 2.0.7/Mesh
> *** Error code 1
> make: Fatal error: Command failed for target `compile'
> 
> It seems like _H is defined as a constant in some .h
> How do I solve this?
>