Re: [PATCH] Skip llvm bytecode generation if LLVM is missing

From: Craig Ringer <craig(at)2ndquadrant(dot)com>
To: Andres Freund <andres(at)anarazel(dot)de>
Cc: PostgreSQL Hackers <pgsql-hackers(at)lists(dot)postgresql(dot)org>, Devrim Gündüz <devrim(at)gunduz(dot)org>
Subject: Re: [PATCH] Skip llvm bytecode generation if LLVM is missing
Date: 2020-03-12 06:08:31
Message-ID: CAMsr+YEaLTUfkEkq15CtC7CDoLPuBWGywJrOx0FgSqfV9n+Smg@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On Thu, 12 Mar 2020 at 03:43, Andres Freund <andres(at)anarazel(dot)de> wrote:

> On 2020-03-11 11:25:28 +0800, Craig Ringer wrote:
> > I propose that per the attached patch PGXS should simply skip adding
> > the automatic dependency for .bc files if clang cannot be found.
> > Extensions may still choose to explicitly declare the rule in their
> > own Makefile if they want to force bitcode generation.
>
> Hm, that seems like it could also cause silent failures (e.g. after a
> package upgrade or such).
>
> How about erroring out, but with an instruction that llvm can be
> disabled with make NO_LLVM=1 or such?

I thought about that at first, but that'll only benefit people who're
hand-compiling things, and it's already possible with

make with_llvm=no ...

The proportion of people hand-compiling is an ever-shrinking
proportion of the user base. When something's nested inside an rpm
specfile inside a docker container inside a bash script inside another
Docker container on an AWS instance .... not so fun. They might be
able to inject it into the environment. But often not.

Extensions that explicitly must generate bytecode may add their own
dependency rule. Or we could make skipping bytecode generation if llvm
cannot be found at build-time something the extension can turn off
with a PGXS option, as suggested upthread.

I'm reluctant to go with anything that requires each existing
extension to be patched because that introduces a huge lag time for
this change to actually help anyone out.

--
Craig Ringer http://www.2ndQuadrant.com/
2ndQuadrant - PostgreSQL Solutions for the Enterprise

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Masahiko Sawada 2020-03-12 06:12:44 Re: Some problems of recovery conflict wait events
Previous Message Kyotaro Horiguchi 2020-03-12 05:59:44 Re: [PATCH] Skip llvm bytecode generation if LLVM is missing