Satish Balay via petsc-dev <petsc-dev@mcs.anl.gov> writes:

> I get the following error with triangle+spai build with gcc-10 [this is on 
> linux though - ignore osx in PETSC_ARCH]
>
>      CLINKER arch-ci-osx-cxx-pkgs-opt/lib/libpetsc.so.3.13.0
> /usr/bin/ld: 
> /home/balay/petsc/arch-ci-osx-cxx-pkgs-opt/lib/libtriangle.a(triangle.o):/home/balay/petsc/arch-ci-osx-cxx-pkgs-opt/externalpackages/Triangle/src/triangle.c:667:
>  multiple definition of `epsilon'; 
> /home/balay/petsc/arch-ci-osx-cxx-pkgs-opt/lib/libspai.a(spai.o):(.bss+0x188):
>  first defined here
>
>
> Matt,
>
> Any objection to this change to triangle?
>
> diff --git a/src/triangle.c b/src/triangle.c
> index 8e915a1..76f6d84 100644
> --- a/src/triangle.c
> +++ b/src/triangle.c
> @@ -664,7 +664,7 @@ long samples;                /* Number of random samples 
> for point location. */
>  unsigned long randomseed;                     /* Current random number seed. 
> */
>  
>  REAL splitter;       /* Used to split REAL factors for exact multiplication. 
> */
> -REAL epsilon;                             /* Floating-point machine epsilon. 
> */
> +static REAL epsilon;                      /* Floating-point machine epsilon. 
> */
>  REAL resulterrbound;
>  REAL ccwerrboundA, ccwerrboundB, ccwerrboundC;
>  REAL iccerrboundA, iccerrboundB, iccerrboundC;

Can you make the rest of these static while you're at it?

Reply via email to