Skip to Content.
Sympa Menu

cgal-discuss - Re: [cgal-discuss] two questions on future CGAL developments

Subject: CGAL users discussion list

List archive

Re: [cgal-discuss] two questions on future CGAL developments


Chronological Thread 
  • From: "Laurent Rineau (GeometryFactory)" <>
  • To:
  • Subject: Re: [cgal-discuss] two questions on future CGAL developments
  • Date: Wed, 5 May 2010 20:46:47 +0200
  • Organization: GeometryFactory

On Wednesday 05 May 2010 20:27:57 Edoardo Milotti wrote:
> > I can answer to that question: the Intel Compiler (versions 11.0 and
> > 11.1) is tested by CGAL daily testsuite. You must make sure the
> > following compilation
> >
> > flags are used:
> > -D_GLIBCXX_USE_C99_FP_MACROS_DYNAMIC=1 -fp-model strict -diag-disable
> > 980
> >
> > (Probably only -fp-model strict is important, and the other flags are
> > there to silent some warnings.)
> >
> > *However*, the compilation flag -strict-ansi of the Intel Compiler is
> > (not yet) supported. I have added that setup (with -strict-ansi), and
> > things are going better and better. Probably Intel Compiler 11.1 with
> > -strict-ansi will be supported (or almost supported) by CGAL-3.7.
> >
> > Can you give use an example of the error log you get?
>
> I do not use the -strict-ansi flag, while I always set -fp-model strict.
>
> I have tried to build the libraries with
>
> cmake -DCMAKE_C_COMPILER=/opt/intel/Compiler/11.1/088/bin/intel64/icc
> -DCMAKE_CXX_COMPILER=/opt/intel/Compiler/11.1/088/bin/intel64/icpc
> -DWITH_examples=true

The version I test is /opt/intel/Compiler/11.1/059/bin/intel64/icpc (ie build
version 059 instead of 088), but I doubt it can make any difference.

Do you call the following command before the compilation?

source /opt/intel/Compiler/11.1/088/bin/iccvars.sh intel64

> and then make. The libraries build (with some warnings that tell me there
> are duplicate libraries), but when I try to run the examples I always get
> "segmentation error".

I cannot reproduce that behavior with CGAL-3.6. I have compiled the libraries
with icpc (11.1/059) as well as, for example, examples/Triangulation_3/, and
there examples ran fine.

> Now I am using the libraries built by gcc 4.5.

Oops, no!! The generated file include/CGAL/compiler_config.h is very compiler-
dependent.

> When I try to compile the program that calls CGAL with icpc I get a list of
> error messages like this:
>
>
> ********************
>
> /CG_Software/CGAL-3.6/CGAL-3.6/include/CGAL/Triangulation_ds_cell_base_3.h(
> 50): error: only "()" is allowed as initializer for array member
> "CGAL::Triangulation_ds_cell_base_3<TDS>::V"
>
> : V((Vertex_handle[4]) {v0, v1, v2, v3} ) {}
>
> ^
> detected during:

Have a look at the line 50 of the file
CGAL-3.6/include/CGAL/Triangulation_ds_cell_base_3.h

You will see that that line depends on the macro
CGAL_CFG_ARRAY_MEMBER_INITIALIZATION_BUG, which is defined in <CGAL/compiler-
config.h>, and that file is created during the configuration of CGAL
libraries.

Here, you are trying to compile some CGAL program with the Intel Compiler,
using a feature that is available only with g++ (actually it is not a "bug",
but a language extension specific to g++).

--
Laurent Rineau, PhD
R&D Engineer at GeometryFactory http://www.geometryfactory.com/
Release Manager of the CGAL Project http://www.cgal.org/



Archive powered by MHonArc 2.6.16.

Top of Page