Skip to Content.
Sympa Menu

cgal-discuss - Re: [cgal-discuss] Spatial Searching: How to cope with duplicate points?

Subject: CGAL users discussion list

List archive

Re: [cgal-discuss] Spatial Searching: How to cope with duplicate points?


Chronological Thread 
  • From: "Laurent Rineau (GeometryFactory)" <>
  • To:
  • Subject: Re: [cgal-discuss] Spatial Searching: How to cope with duplicate points?
  • Date: Wed, 20 Oct 2010 15:37:21 +0200
  • Organization: GeometryFactory

Le mercredi 20 octobre 2010 15:07:03, Sebastian Kapfer a écrit :
> Dear Sebastien!
>
> On Wed, Oct 20, 2010 at 11:27:26AM +0200, Sebastien Loriot
> (GeometryFactory)
wrote:
> > I can see you have a 64bits machine. Mine is 32.
> > I try on a 64bits machine and still you code ran without
> > assertion failure.
> >
> > Did you used cmake to build CGAL?
>
> Yes.
>
> > can you try using cmake to generate the makefile to compile
> > your example (you can use the script cgal_create_cmake_script to
> > generate a CMakeLists.txt)
>
> Using CMake has nothing to do with it.

You are wrong. With gcc-4.2, for example, CGAL cmake scripts adds the
compilation flag -fno-strict-aliasing, because the aliasing features of that
version of gcc have bugs.

> In the meantime, I tried on a more modern machine. Ubuntu Lucid, GCC
> 4.4, AMD64, Boost 1.43, CGAL 3.7. Same problem.
>
> But your mention of your 32 bit machine tripped me off. Of course, on
> AMD64, GCC uses the SSE unit to implement floating point, which has
> 64-bit floats all the way through, and doesn't use 80-bit floats for
> registers.
>
> > sk@noether(~/spielwiese/fast_thicken/MinimalExample)>
> > g++ -O3
> > -frounding-math -mfpmath=387 -lCGAL -odistance_browsing
> > distance_browsing.cpp
> > sk@noether(~/spielwiese/fast_thicken/MinimalExample)>
> > ./distance_browsing
> > sk@noether(~/spielwiese/fast_thicken/MinimalExample)>
> > g++ -O3
> > -frounding-math -mfpmath=sse -lCGAL -odistance_browsing
> > distance_browsing.cpp
> > sk@noether(~/spielwiese/fast_thicken/MinimalExample)>
> > ./distance_browsing
> > terminate called after throwing an instance of
> > 'CGAL::Assertion_exception'
> >
> > what(): CGAL ERROR: assertion violation!
> > Expr: new_rd >= copy_rd
> > File:
> > /opt/cgal/3.7_boost1.40/include/CGAL/Orthogonal_incremental_neighbor_se
> > arch.h Line: 267
> > Aborted
>
> (see http://gcc.gnu.org/onlinedocs/gcc/i386-and-x86_002d64-Options.html)
>
> So it seems CGAL works when using 80-bit floats, but not with true
> 64-bit floats?

No. CGAL is tested on different platforms, including of course 32 and 64 bits
one. The error comes probably from something else. You compiled your programs
without using CMake. What header <CGAL/compiler_config.h> is found when g++
is
called without -I flags? Does this header correspond to the same version of
CGAL as the libCGAL.so that is found by the linker without -L flags? It seems
your CGAL installation is in /opt/cgal/3.7_boost1.40/. How comes that your
compiler can found its headers and library without -I and -L flags?

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



Archive powered by MHonArc 2.6.16.

Top of Page