Re: RFC: Additional Directory for Extensions

Andrew Dunstan <andrew@dunslane.net>

From: Andrew Dunstan <andrew@dunslane.net>
To: Tom Lane <tgl@sss.pgh.pa.us>, Peter Eisentraut <peter@eisentraut.org>
Cc: Matheus Alcantara <matheusssilv97@gmail.com>, Gabriele Bartolini <gabriele.bartolini@enterprisedb.com>, Craig Ringer <craig.ringer@enterprisedb.com>, "David E. Wheeler" <david@justatheory.com>, Robert Haas <robertmhaas@gmail.com>, Alvaro Herrera <alvherre@alvh.no-ip.org>, PostgreSQL-development <pgsql-hackers@postgresql.org>
Date: 2025-03-20T14:53:17Z
Lists: pgsql-hackers
On 2025-03-19 We 2:55 PM, Tom Lane wrote:
> Peter Eisentraut<peter@eisentraut.org> writes:
>> Committed that, thanks.
> Buildfarm member snakefly doesn't like this too much.  Since no other
> animals have failed, I guess it must be about local conditions on
> that machine, but the report is pretty opaque:
>
> # +++ tap check in src/test/modules/test_extensions +++
>
> #   Failed test '$system extension is installed correctly on pg_available_extensions'
> #   at t/001_extension_control_path.pl line 69.
> #          got: 'f'
> #     expected: 't'
>
> #   Failed test '$system extension is installed correctly on pg_available_extensions with empty extension_control_path'
> #   at t/001_extension_control_path.pl line 76.
> #          got: 'f'
> #     expected: 't'
> # Looks like you failed 2 tests of 5.
> [06:43:53] t/001_extension_control_path.pl ..
> Dubious, test returned 2 (wstat 512, 0x200)
> Failed 2/5 subtests
>
> Looking at the test, it presupposes that "amcheck" must be an
> available extension.  I do not see anything that guarantees
> that that's so, though.  It'd fail if contrib hasn't been
> installed.  Is there a reason to use "amcheck" rather than
> something more certainly available, like "plpgsql"?



I think something else must be going on. The failure in question came 
after the step "install-contrib" succeeded, and the log file for that shows:


make[1]: Entering directory `/opt/postgres/build-farm-18/HEAD/pgsql.build/contrib/amcheck'
/usr/bin/mkdir -p '/opt/postgres/build-farm-18/HEAD/pgsql.build/tmp_install/opt/postgres/build-farm-18/HEAD/inst/lib'
/usr/bin/mkdir -p '/opt/postgres/build-farm-18/HEAD/pgsql.build/tmp_install/opt/postgres/build-farm-18/HEAD/inst/share/extension'
/usr/bin/mkdir -p '/opt/postgres/build-farm-18/HEAD/pgsql.build/tmp_install/opt/postgres/build-farm-18/HEAD/inst/share/extension'
/usr/bin/install -c -m 755  amcheck.so '/opt/postgres/build-farm-18/HEAD/pgsql.build/tmp_install/opt/postgres/build-farm-18/HEAD/inst/lib/amcheck.so'
/usr/bin/install -c -m 644 ./amcheck.control '/opt/postgres/build-farm-18/HEAD/pgsql.build/tmp_install/opt/postgres/build-farm-18/HEAD/inst/share/extension/'
/usr/bin/install -c -m 644 ./amcheck--1.3--1.4.sql ./amcheck--1.2--1.3.sql ./amcheck--1.1--1.2.sql ./amcheck--1.0--1.1.sql ./amcheck--1.0.sql  '/opt/postgres/build-farm-18/HEAD/pgsql.build/tmp_install/opt/postgres/build-farm-18/HEAD/inst/share/extension/'
make[1]: Leaving directory `/opt/postgres/build-farm-18/HEAD/pgsql.build/contrib/amcheck'


(wondering if this another of these cases where the "path includes postgres" thing bites us, and we're looking in the wrong place)


cheers

andrew


--
Andrew Dunstan
EDB:https://www.enterprisedb.com

Commits

  1. doc: Flesh out extension docs for the "prefix" make variable

  2. Fix extension control path tests

  3. extension_control_path