Re: RFC: Additional Directory for Extensions - Mailing list pgsql-hackers

From Tom Lane
Subject Re: RFC: Additional Directory for Extensions
Date
Msg-id 1571161.1742575348@sss.pgh.pa.us
Whole thread Raw
In response to Re: RFC: Additional Directory for Extensions  (Matheus Alcantara <matheusssilv97@gmail.com>)
Responses Re: RFC: Additional Directory for Extensions
List pgsql-hackers
Matheus Alcantara <matheusssilv97@gmail.com> writes:
> On Thu, Mar 20, 2025 at 7:38 PM Andrew Dunstan <andrew@dunslane.net> wrote:
>>> (wondering if this another of these cases where the "path includes postgres" thing bites us, and we're looking in
thewrong place) 

>> Nope, testing shows it's not that, so I am rather confused about what was going on.

> I'm not sure if I'm checking on the right place [1] but it seems that the
> Contrib and ContribInstall is executed after Check step which causes this test
> failure?

No, this is not failing in Check.

I did just notice a clue though: on snakefly, the failing step's
log [1] includes

make[1]: Leaving directory `/opt/postgres/build-farm-18/HEAD/pgsql.build/src/backend'
rm -rf '/opt/postgres/build-farm-18/HEAD/pgsql.build'/tmp_install
/usr/bin/mkdir -p '/opt/postgres/build-farm-18/HEAD/pgsql.build'/tmp_install/log
make -C '../../../..' DESTDIR='/opt/postgres/build-farm-18/HEAD/pgsql.build'/tmp_install install
>'/opt/postgres/build-farm-18/HEAD/pgsql.build'/tmp_install/log/install.log2>&1 
make -j1  checkprep >>'/opt/postgres/build-farm-18/HEAD/pgsql.build'/tmp_install/log/install.log 2>&1

PATH="/opt/postgres/build-farm-18/HEAD/pgsql.build/tmp_install/opt/postgres/build-farm-18/HEAD/inst/bin:/opt/postgres/build-farm-18/HEAD/pgsql.build/src/test/modules/test_extensions:$PATH"
LD_LIBRARY_PATH="/opt/postgres/build-farm-18/HEAD/pgsql.build/tmp_install/opt/postgres/build-farm-18/HEAD/inst/lib:$LD_LIBRARY_PATH"
INITDB_TEMPLATE='/opt/postgres/build-farm-18/HEAD/pgsql.build'/tmp_install/initdb-template initdb --auth trust
--no-sync--no-instructions --lc-messages=C --no-clean
'/opt/postgres/build-farm-18/HEAD/pgsql.build'/tmp_install/initdb-template
>>'/opt/postgres/build-farm-18/HEAD/pgsql.build'/tmp_install/log/initdb-template.log2>&1 
echo "# +++ regress check in src/test/modules/test_extensions +++" &&
PATH="/opt/postgres/build-farm-18/HEAD/pgsql.build/tmp_install/opt/postgres/build-farm-18/HEAD/inst/bin:/opt/postgres/build-farm-18/HEAD/pgsql.build/src/test/modules/test_extensions:$PATH"
LD_LIBRARY_PATH="/opt/postgres/build-farm-18/HEAD/pgsql.build/tmp_install/opt/postgres/build-farm-18/HEAD/inst/lib:$LD_LIBRARY_PATH"
INITDB_TEMPLATE='/opt/postgres/build-farm-18/HEAD/pgsql.build'/tmp_install/initdb-template
../../../../src/test/regress/pg_regress--temp-instance=./tmp_check --inputdir=. --bindir=
--temp-config=/opt/postgres/build-farm-18/tmp/buildfarm-C9Iy3s/bfextra.conf --no-locale --port=5678
--dbname=contrib_regressiontest_extensions test_extdepend 
# +++ regress check in src/test/modules/test_extensions +++
# initializing database system by running initdb

showing that the step made its own tmp_install, and that only the core
"install" process was executed, so the lack of amcheck in that install
tree is not surprising.  But concurrent runs on other animals, eg [2],
don't show a tmp_install rebuild happening.  So those are using an
installation tree that *does* include contrib modules.

So what this comes down to is "why is snakefly doing a fresh install
here?".  I don't know the buildfarm client well enough to identify
probable causes.  I do note that Makefile.global.in conditionalizes
tmp_install rebuild on several variables:

temp-install: | submake-generated-headers
ifndef NO_TEMP_INSTALL
ifneq ($(abs_top_builddir),)
ifeq ($(MAKELEVEL),0)
    rm -rf '$(abs_top_builddir)'/tmp_install
    $(MKDIR_P) '$(abs_top_builddir)'/tmp_install/log
    $(MAKE) -C '$(top_builddir)' DESTDIR='$(abs_top_builddir)'/tmp_install install
>'$(abs_top_builddir)'/tmp_install/log/install.log2>&1 
    $(MAKE) -j1 $(if $(CHECKPREP_TOP),-C $(CHECKPREP_TOP),) checkprep
>>'$(abs_top_builddir)'/tmp_install/log/install.log2>&1 

I think we've had trouble before with that MAKELEVEL test...

            regards, tom lane

[1]
https://buildfarm.postgresql.org/cgi-bin/show_stage_log.pl?nm=snakefly&dt=2025-03-20%2009%3A46%3A05&stg=module-test_extensions-check
[2]
https://buildfarm.postgresql.org/cgi-bin/show_stage_log.pl?nm=alligator&dt=2025-03-19%2006%3A10%3A38&stg=module-test_extensions-check



pgsql-hackers by date:

Previous
From: Peter Eisentraut
Date:
Subject: Re: Next commitfest app release is planned for March 18th
Next
From: Ranier Vilela
Date:
Subject: Re: Removing unneeded self joins