Fix race with LLVM and bison. - Mailing list pgsql-hackers

From Maksim.Melnikov
Subject Fix race with LLVM and bison.
Date
Msg-id f070a61e-1dd3-4fd9-bbc9-18d100b6722a@postgrespro.ru
Whole thread Raw
Responses Re: Fix race with LLVM and bison.
List pgsql-hackers
Hi All.

I've found build error in configuration --with-llvm

CPPFLAGS="-O2" ./configure --enable-debug --enable-cassert 
--enable-tap-tests --with-openssl --with-icu  --with-llvm

....

make world-bin -j3

....

cubescan.c:9:10: fatal error: 'cubeparse.h' file not found
     9 | #include "cubeparse.h"  /* must be after cubedata.h for YYSTYPE 
and NDBOX */

....
segscan.c:9:10: fatal error: 'segparse.h' file not found
     9 | #include "segparse.h"   /* must be after segdata.h for SEG */


The reason is race, that exist between LLVM compilation and bison source 
code generation and compilation can occur first.

Ideally LLVM compilation target should depend on header files targets.

The error is difficult to reproduce and I've done simple patch to have 
stable reproducing. Fix patch is also attached.

Thanks.

Attachment

pgsql-hackers by date:

Previous
From: Peter Eisentraut
Date:
Subject: Re: Make copyObject work in C++
Next
From: Etsuro Fujita
Date:
Subject: Re: Options to control remote transactions’ access/deferrable modes in postgres_fdw