Buildfarm support for older versions

Started by Andrew Dunstanabout 4 years ago27 messages
#1Andrew Dunstan
andrew@dunslane.net

OK, old_branches_of_interest.txt now exists on the buildfarm server, and
the code has been modified to take notice of it (i.e. to accept builds
for branches listed there). The contents are the non-live versions from
9.2 on.

I have set up a test buildfarm client (which will eventually report
under the name 'godwit') alongside crake (Fedora 34). So far testing has
run smoothly, there are only two glitches:

* 9.3 and 9.2 don't have a show_dl_suffix make target. This would
require backpatching b40cb99b85 and d9cdb1ba9e. That's a tiny
change, and I propose to do it shortly unless there's an objection.
* I need to undo the removal of client logic that supported 9.2's
unix_socket_directory setting as opposed to the later
unix_socket_directories.

cheers

andrew

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

#2Tom Lane
tgl@sss.pgh.pa.us
In reply to: Andrew Dunstan (#1)
Re: Buildfarm support for older versions

Andrew Dunstan <andrew@dunslane.net> writes:

I have set up a test buildfarm client (which will eventually report
under the name 'godwit') alongside crake (Fedora 34). So far testing has
run smoothly, there are only two glitches:

* 9.3 and 9.2 don't have a show_dl_suffix make target. This would
require backpatching b40cb99b85 and d9cdb1ba9e. That's a tiny
change, and I propose to do it shortly unless there's an objection.

Not really user-visible, so I can't see a problem with it.

regards, tom lane

#3Larry Rosenman
ler@lerctr.org
In reply to: Andrew Dunstan (#1)
Re: Buildfarm support for older versions

On 12/15/2021 11:15 am, Andrew Dunstan wrote:

OK, old_branches_of_interest.txt now exists on the buildfarm server,
and
the code has been modified to take notice of it (i.e. to accept builds
for branches listed there). The contents are the non-live versions from
9.2 on.

I have set up a test buildfarm client (which will eventually report
under the name 'godwit') alongside crake (Fedora 34). So far testing
has
run smoothly, there are only two glitches:

* 9.3 and 9.2 don't have a show_dl_suffix make target. This would
require backpatching b40cb99b85 and d9cdb1ba9e. That's a tiny
change, and I propose to do it shortly unless there's an objection.
* I need to undo the removal of client logic that supported 9.2's
unix_socket_directory setting as opposed to the later
unix_socket_directories.

cheers

andrew

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

Would a FreeBSD head (peripatus or a new animal) help?
--
Larry Rosenman http://www.lerctr.org/~ler
Phone: +1 214-642-9640 E-Mail: ler@lerctr.org
US Mail: 5708 Sabbia Dr, Round Rock, TX 78665-2106

#4Andrew Dunstan
andrew@dunslane.net
In reply to: Larry Rosenman (#3)
Re: Buildfarm support for older versions

On 12/15/21 21:36, Larry Rosenman wrote:

On 12/15/2021 11:15 am, Andrew Dunstan wrote:

OK, old_branches_of_interest.txt now exists on the buildfarm server, and
the code has been modified to take notice of it (i.e. to accept builds
for branches listed there). The contents are the non-live versions from
9.2 on.

I have set up a test buildfarm client (which will eventually report
under the name 'godwit') alongside crake (Fedora 34). So far testing has
run smoothly, there are only two glitches:

  * 9.3 and 9.2 don't have a show_dl_suffix make target. This would
    require backpatching b40cb99b85 and d9cdb1ba9e. That's a tiny
    change, and I propose to do it shortly unless there's an objection.
  * I need to undo the removal of client logic that supported 9.2's
    unix_socket_directory setting as opposed to the later
    unix_socket_directories.

Would a FreeBSD head (peripatus or a new animal) help?

A new animal, because we're not supporting every build option. On the
non-live branches you really only want:

    --enable-debug --enable-cassert --enable-nls

    --enable-tap-tests --with-perl

You can make it share the same storage as your existing animal (godwit and crake do this). The client is smart enough to manage locks of several animals appropriately.

cheers

andrew

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

#5Larry Rosenman
ler@lerctr.org
In reply to: Andrew Dunstan (#4)
Re: Buildfarm support for older versions

On 12/16/2021 10:02 am, Andrew Dunstan wrote:

On 12/15/21 21:36, Larry Rosenman wrote:

On 12/15/2021 11:15 am, Andrew Dunstan wrote:

OK, old_branches_of_interest.txt now exists on the buildfarm server,
and
the code has been modified to take notice of it (i.e. to accept
builds
for branches listed there). The contents are the non-live versions
from
9.2 on.

I have set up a test buildfarm client (which will eventually report
under the name 'godwit') alongside crake (Fedora 34). So far testing
has
run smoothly, there are only two glitches:

  * 9.3 and 9.2 don't have a show_dl_suffix make target. This would
    require backpatching b40cb99b85 and d9cdb1ba9e. That's a tiny
    change, and I propose to do it shortly unless there's an
objection.
  * I need to undo the removal of client logic that supported 9.2's
    unix_socket_directory setting as opposed to the later
    unix_socket_directories.

Would a FreeBSD head (peripatus or a new animal) help?

A new animal, because we're not supporting every build option. On the
non-live branches you really only want:

    --enable-debug --enable-cassert --enable-nls

    --enable-tap-tests --with-perl

You can make it share the same storage as your existing animal (godwit
and crake do this). The client is smart enough to manage locks of
several animals appropriately.

cheers

andrew

--

So just create a new animal / config file, and set those options?
and FreeBSD head / main would be useful?
(Currently FreeBSD 14 and clang 13).

--
Larry Rosenman http://www.lerctr.org/~ler
Phone: +1 214-642-9640 E-Mail: ler@lerctr.org
US Mail: 5708 Sabbia Dr, Round Rock, TX 78665-2106

#6Andrew Dunstan
andrew@dunslane.net
In reply to: Larry Rosenman (#5)
Re: Buildfarm support for older versions

On 12/16/21 11:11, Larry Rosenman wrote:

A new animal, because we're not supporting every build option. On the
non-live branches you really only want:

    --enable-debug --enable-cassert --enable-nls

    --enable-tap-tests --with-perl

You can make it share the same storage as your existing animal (godwit
and crake do this). The client is smart enough to manage locks of
several animals appropriately.

So just create a new animal / config file, and set those options?
and FreeBSD head / main would be useful?
(Currently FreeBSD 14 and clang 13).

Sure. I think if we get coverage for modern Linux, FreeBSD and Windows
we should be in good shape.

I doubt we need a heck of a lot of animals - there's not going to be
much going on here.

cheers

andrew

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

#7Larry Rosenman
ler@lerctr.org
In reply to: Andrew Dunstan (#6)
Re: Buildfarm support for older versions

On 12/16/2021 11:17 am, Andrew Dunstan wrote:

On 12/16/21 11:11, Larry Rosenman wrote:

A new animal, because we're not supporting every build option. On the
non-live branches you really only want:

    --enable-debug --enable-cassert --enable-nls

    --enable-tap-tests --with-perl

You can make it share the same storage as your existing animal
(godwit
and crake do this). The client is smart enough to manage locks of
several animals appropriately.

So just create a new animal / config file, and set those options?
and FreeBSD head / main would be useful?
(Currently FreeBSD 14 and clang 13).

Sure. I think if we get coverage for modern Linux, FreeBSD and Windows
we should be in good shape.

I doubt we need a heck of a lot of animals - there's not going to be
much going on here.

cheers

andrew

Would you mind terribly giving me the exact steps?
--
Larry Rosenman http://www.lerctr.org/~ler
Phone: +1 214-642-9640 E-Mail: ler@lerctr.org
US Mail: 5708 Sabbia Dr, Round Rock, TX 78665-2106

#8Andrew Dunstan
andrew@dunslane.net
In reply to: Larry Rosenman (#7)
Re: Buildfarm support for older versions

On 12/16/21 12:26, Larry Rosenman wrote:

On 12/16/2021 11:17 am, Andrew Dunstan wrote:

On 12/16/21 11:11, Larry Rosenman wrote:

A new animal, because we're not supporting every build option. On the
non-live branches you really only want:

    --enable-debug --enable-cassert --enable-nls

    --enable-tap-tests --with-perl

You can make it share the same storage as your existing animal (godwit
and crake do this). The client is smart enough to manage locks of
several animals appropriately.

So just create a new animal / config file, and set those options?
and FreeBSD head / main would be useful?
(Currently FreeBSD 14 and clang 13).

Sure. I think if we get coverage for modern Linux, FreeBSD and Windows
we should be in good shape.

I doubt we need a heck of a lot of animals - there's not going to be
much going on here.

Would you mind terribly giving me the exact steps?

* register a new animal with the same details
* copy your existing config file to $new_animal.conf
* edit the file and change the animal name and secret, the config_opts
as above, and remove TestUpgrade form the modules setting
* change branches_to_build to [qw(
            REL9_2_STABLE REL9_3_STABLE REL9_4_STABLE
            REL9_5_STABLE REL9_6_STABLE)]
* you should probably unset CCACHEDIR in both config files
* test with ./run_branches --test --config $newanimal.conf --run-all

cheers

andew

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

#9Larry Rosenman
ler@lerctr.org
In reply to: Andrew Dunstan (#8)
Re: Buildfarm support for older versions

On 12/16/2021 2:47 pm, Andrew Dunstan wrote:

On 12/16/21 12:26, Larry Rosenman wrote:

On 12/16/2021 11:17 am, Andrew Dunstan wrote:

On 12/16/21 11:11, Larry Rosenman wrote:

A new animal, because we're not supporting every build option. On
the
non-live branches you really only want:

    --enable-debug --enable-cassert --enable-nls

    --enable-tap-tests --with-perl

You can make it share the same storage as your existing animal
(godwit
and crake do this). The client is smart enough to manage locks of
several animals appropriately.

So just create a new animal / config file, and set those options?
and FreeBSD head / main would be useful?
(Currently FreeBSD 14 and clang 13).

Sure. I think if we get coverage for modern Linux, FreeBSD and
Windows
we should be in good shape.

I doubt we need a heck of a lot of animals - there's not going to be
much going on here.

Would you mind terribly giving me the exact steps?

* register a new animal with the same details
* copy your existing config file to $new_animal.conf
* edit the file and change the animal name and secret, the
config_opts
as above, and remove TestUpgrade form the modules setting
* change branches_to_build to [qw(
            REL9_2_STABLE REL9_3_STABLE REL9_4_STABLE
            REL9_5_STABLE REL9_6_STABLE)]
* you should probably unset CCACHEDIR in both config files
* test with ./run_branches --test --config $newanimal.conf --run-all

I get:
ERROR for site owner:
Invalid domain for site key

on https://pgbuildfarm.org/cgi-bin/register-form.pl
--
Larry Rosenman http://www.lerctr.org/~ler
Phone: +1 214-642-9640 E-Mail: ler@lerctr.org
US Mail: 5708 Sabbia Dr, Round Rock, TX 78665-2106

#10Andrew Dunstan
andrew@dunslane.net
In reply to: Larry Rosenman (#9)
Re: Buildfarm support for older versions

On 12/16/21 15:53, Larry Rosenman wrote:

I get:
ERROR for site owner:
Invalid domain for site key

on https://pgbuildfarm.org/cgi-bin/register-form.pl

try https://buildfarm.postgresql.org/cgi-bin/register-form.pl

cheers

andrew

#11Larry Rosenman
ler@lerctr.org
In reply to: Andrew Dunstan (#10)
Re: Buildfarm support for older versions

On 12/16/2021 3:23 pm, Andrew Dunstan wrote:

On 12/16/21 15:53, Larry Rosenman wrote:

I get:
ERROR for site owner:
Invalid domain for site key

on https://pgbuildfarm.org/cgi-bin/register-form.pl

try https://buildfarm.postgresql.org/cgi-bin/register-form.pl

cheers

andrew

I filled out that form on the 16th, and haven't gotten a new animal
assignment. Is there
a problem with my data?
--
Larry Rosenman http://www.lerctr.org/~ler
Phone: +1 214-642-9640 E-Mail: ler@lerctr.org
US Mail: 5708 Sabbia Dr, Round Rock, TX 78665-2106

#12Andrew Dunstan
andrew@dunslane.net
In reply to: Larry Rosenman (#11)
Re: Buildfarm support for older versions

On 12/21/21 15:06, Larry Rosenman wrote:

I filled out that form on the 16th, and haven't gotten a new animal
assignment.  Is there
a problem with my data?

It's a manual process, done when your friendly admins have time. I have
approved it now.

cheers

andrew

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

#13Larry Rosenman
ler@lerctr.org
In reply to: Andrew Dunstan (#12)
Re: Buildfarm support for older versions

On 12/22/2021 7:20 am, Andrew Dunstan wrote:

On 12/21/21 15:06, Larry Rosenman wrote:

I filled out that form on the 16th, and haven't gotten a new animal
assignment.  Is there
a problem with my data?

It's a manual process, done when your friendly admins have time. I have
approved it now.

cheers

andrew

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

REL9_2_STABLE make dies on:
gmake[4]: Entering directory
'/home/pgbuildfarm/buildroot/REL9_2_STABLE/pgsql.build/src/backend/utils'
'/usr/bin/perl' ./generate-errcodes.pl
../../../src/backend/utils/errcodes.txt > errcodes.h
cc -O2 -Wall -Wmissing-prototypes -Wpointer-arith
-Wdeclaration-after-statement -Wendif-labels -Wmissing-format-attribute
-Wformat-security -fno-strict-aliasing -fwrapv
-Wno-unused-command-line-argument -Wno-compound-token-split-by-macro
-Wno-sometimes-uninitialized -g -I../../src/port -DFRONTEND
-I../../src/include -I/usr/local/include -c -o path.o path.c
gmake[4]: Leaving directory
'/home/pgbuildfarm/buildroot/REL9_2_STABLE/pgsql.build/src/backend/utils'
prereqdir=`cd 'utils/' >/dev/null && pwd` && \
cd '../../src/include/utils/' && rm -f errcodes.h && \
ln -s "$prereqdir/errcodes.h" .
gmake[3]: Leaving directory
'/home/pgbuildfarm/buildroot/REL9_2_STABLE/pgsql.build/src/backend'
cc -O2 -Wall -Wmissing-prototypes -Wpointer-arith
-Wdeclaration-after-statement -Wendif-labels -Wmissing-format-attribute
-Wformat-security -fno-strict-aliasing
$ tail -30 make.log
ld: error: relocation R_X86_64_PC32 cannot be used against symbol
__mb_sb_limit; recompile with -fPIC

defined in /lib/libc.so.7
referenced by pgstrcasecmp.c:109
pgstrcasecmp.o:(pg_toupper) in archive
../../src/port/libpgport.a

ld: error: relocation R_X86_64_PC32 cannot be used against symbol
_CurrentRuneLocale; recompile with -fPIC

defined in /lib/libc.so.7
referenced by runetype.h:0 (/usr/include/runetype.h:0)
pgstrcasecmp.o:(pg_toupper) in archive
../../src/port/libpgport.a

ld: error: relocation R_X86_64_PC32 cannot be used against symbol
__mb_sb_limit; recompile with -fPIC

defined in /lib/libc.so.7
referenced by pgstrcasecmp.c:126
pgstrcasecmp.o:(pg_tolower) in archive
../../src/port/libpgport.a

ld: error: relocation R_X86_64_PC32 cannot be used against symbol
_CurrentRuneLocale; recompile with -fPIC

defined in /lib/libc.so.7
referenced by runetype.h:0 (/usr/include/runetype.h:0)
pgstrcasecmp.o:(pg_tolower) in archive
../../src/port/libpgport.a

cc: error: linker command failed with exit code 1 (use -v to see
invocation)
gmake[3]: *** [../../src/Makefile.port:20: timetravel.so] Error 1
gmake[3]: *** Waiting for unfinished jobs....
rm moddatetime.o autoinc.o refint.o timetravel.o insert_username.o
gmake[3]: Leaving directory
'/home/pgbuildfarm/buildroot/REL9_2_STABLE/pgsql.build/contrib/spi'
gmake[2]: *** [GNUmakefile:126: submake-contrib-spi] Error 2
gmake[2]: *** Waiting for unfinished jobs....
gmake[2]: Leaving directory
'/home/pgbuildfarm/buildroot/REL9_2_STABLE/pgsql.build/src/test/regress'
gmake[1]: *** [Makefile:33: all-test/regress-recurse] Error 2
gmake[1]: Leaving directory
'/home/pgbuildfarm/buildroot/REL9_2_STABLE/pgsql.build/src'
gmake: *** [GNUmakefile:11: all-src-recurse] Error 2
$

The other branches are still running.
--
Larry Rosenman http://www.lerctr.org/~ler
Phone: +1 214-642-9640 E-Mail: ler@lerctr.org
US Mail: 5708 Sabbia Dr, Round Rock, TX 78665-2106

#14Larry Rosenman
ler@lerctr.org
In reply to: Larry Rosenman (#13)
Re: Buildfarm support for older versions

On 12/22/2021 7:16 pm, Larry Rosenman wrote:

On 12/22/2021 7:20 am, Andrew Dunstan wrote:

On 12/21/21 15:06, Larry Rosenman wrote:

I filled out that form on the 16th, and haven't gotten a new animal
assignment.  Is there
a problem with my data?

It's a manual process, done when your friendly admins have time. I
have
approved it now.

cheers

andrew

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

REL9_2_STABLE make dies on:
gmake[4]: Entering directory
'/home/pgbuildfarm/buildroot/REL9_2_STABLE/pgsql.build/src/backend/utils'
'/usr/bin/perl' ./generate-errcodes.pl
../../../src/backend/utils/errcodes.txt > errcodes.h
cc -O2 -Wall -Wmissing-prototypes -Wpointer-arith
-Wdeclaration-after-statement -Wendif-labels
-Wmissing-format-attribute -Wformat-security -fno-strict-aliasing
-fwrapv -Wno-unused-command-line-argument
-Wno-compound-token-split-by-macro -Wno-sometimes-uninitialized -g
-I../../src/port -DFRONTEND -I../../src/include -I/usr/local/include
-c -o path.o path.c
gmake[4]: Leaving directory
'/home/pgbuildfarm/buildroot/REL9_2_STABLE/pgsql.build/src/backend/utils'
prereqdir=`cd 'utils/' >/dev/null && pwd` && \
cd '../../src/include/utils/' && rm -f errcodes.h && \
ln -s "$prereqdir/errcodes.h" .
gmake[3]: Leaving directory
'/home/pgbuildfarm/buildroot/REL9_2_STABLE/pgsql.build/src/backend'
cc -O2 -Wall -Wmissing-prototypes -Wpointer-arith
-Wdeclaration-after-statement -Wendif-labels
-Wmissing-format-attribute -Wformat-security -fno-strict-aliasing
$ tail -30 make.log
ld: error: relocation R_X86_64_PC32 cannot be used against symbol
__mb_sb_limit; recompile with -fPIC

defined in /lib/libc.so.7
referenced by pgstrcasecmp.c:109
pgstrcasecmp.o:(pg_toupper) in archive
../../src/port/libpgport.a

ld: error: relocation R_X86_64_PC32 cannot be used against symbol
_CurrentRuneLocale; recompile with -fPIC

defined in /lib/libc.so.7
referenced by runetype.h:0 (/usr/include/runetype.h:0)
pgstrcasecmp.o:(pg_toupper) in archive
../../src/port/libpgport.a

ld: error: relocation R_X86_64_PC32 cannot be used against symbol
__mb_sb_limit; recompile with -fPIC

defined in /lib/libc.so.7
referenced by pgstrcasecmp.c:126
pgstrcasecmp.o:(pg_tolower) in archive
../../src/port/libpgport.a

ld: error: relocation R_X86_64_PC32 cannot be used against symbol
_CurrentRuneLocale; recompile with -fPIC

defined in /lib/libc.so.7
referenced by runetype.h:0 (/usr/include/runetype.h:0)
pgstrcasecmp.o:(pg_tolower) in archive
../../src/port/libpgport.a

cc: error: linker command failed with exit code 1 (use -v to see
invocation)
gmake[3]: *** [../../src/Makefile.port:20: timetravel.so] Error 1
gmake[3]: *** Waiting for unfinished jobs....
rm moddatetime.o autoinc.o refint.o timetravel.o insert_username.o
gmake[3]: Leaving directory
'/home/pgbuildfarm/buildroot/REL9_2_STABLE/pgsql.build/contrib/spi'
gmake[2]: *** [GNUmakefile:126: submake-contrib-spi] Error 2
gmake[2]: *** Waiting for unfinished jobs....
gmake[2]: Leaving directory
'/home/pgbuildfarm/buildroot/REL9_2_STABLE/pgsql.build/src/test/regress'
gmake[1]: *** [Makefile:33: all-test/regress-recurse] Error 2
gmake[1]: Leaving directory
'/home/pgbuildfarm/buildroot/REL9_2_STABLE/pgsql.build/src'
gmake: *** [GNUmakefile:11: all-src-recurse] Error 2
$

The other branches are still running.

Here's the full run:
$ bin/latest/run_branches.pl --test --config $(pwd)/conf/gerenuk.conf
--run-all
Wed Dec 22 19:05:53 2021: buildfarm run for gerenuk:REL9_2_STABLE
starting
gerenuk:REL9_2_STABLE [19:05:54] checking out source ...
gerenuk:REL9_2_STABLE [19:06:06] checking if build run needed ...
gerenuk:REL9_2_STABLE [19:06:06] copying source to pgsql.build ...
gerenuk:REL9_2_STABLE [19:06:08] running configure ...
gerenuk:REL9_2_STABLE [19:06:36] running make ...
Branch: REL9_2_STABLE
Stage Make failed with status 2
Wed Dec 22 19:08:21 2021: buildfarm run for gerenuk:REL9_3_STABLE
starting
gerenuk:REL9_3_STABLE [19:08:21] checking out source ...
gerenuk:REL9_3_STABLE [19:08:27] checking if build run needed ...
gerenuk:REL9_3_STABLE [19:08:28] copying source to pgsql.build ...
gerenuk:REL9_3_STABLE [19:08:29] running configure ...
gerenuk:REL9_3_STABLE [19:08:52] running make ...
gerenuk:REL9_3_STABLE [19:10:38] running make check ...
gerenuk:REL9_3_STABLE [19:11:05] running make contrib ...
gerenuk:REL9_3_STABLE [19:11:15] running make install ...
gerenuk:REL9_3_STABLE [19:11:19] running make contrib install ...
gerenuk:REL9_3_STABLE [19:11:21] checking pg_upgrade
gerenuk:REL9_3_STABLE [19:12:29] running make check miscellaneous
modules ...
gerenuk:REL9_3_STABLE [19:12:29] setting up db cluster (C)...
gerenuk:REL9_3_STABLE [19:12:32] starting db (C)...
gerenuk:REL9_3_STABLE [19:12:33] running make installcheck (C)...
gerenuk:REL9_3_STABLE [19:13:00] restarting db (C)...
gerenuk:REL9_3_STABLE [19:13:03] running make isolation check ...
gerenuk:REL9_3_STABLE [19:14:00] restarting db (C)...
gerenuk:REL9_3_STABLE [19:14:03] running make PL installcheck (C)...
gerenuk:REL9_3_STABLE [19:14:04] restarting db (C)...
gerenuk:REL9_3_STABLE [19:14:07] running make contrib installcheck
(C)...
gerenuk:REL9_3_STABLE [19:14:24] stopping db (C)...
gerenuk:REL9_3_STABLE [19:14:26] running make ecpg check ...
gerenuk:REL9_3_STABLE [19:14:47] OK
Branch: REL9_3_STABLE
All stages succeeded
Wed Dec 22 19:14:48 2021: buildfarm run for gerenuk:REL9_4_STABLE
starting
gerenuk:REL9_4_STABLE [19:14:48] checking out source ...
gerenuk:REL9_4_STABLE [19:14:52] checking if build run needed ...
gerenuk:REL9_4_STABLE [19:14:52] copying source to pgsql.build ...
gerenuk:REL9_4_STABLE [19:15:14] running configure ...
gerenuk:REL9_4_STABLE [19:15:32] running make ...
gerenuk:REL9_4_STABLE [19:17:22] running make check ...
gerenuk:REL9_4_STABLE [19:17:49] running make contrib ...
gerenuk:REL9_4_STABLE [19:18:00] running make install ...
gerenuk:REL9_4_STABLE [19:18:03] running make contrib install ...
gerenuk:REL9_4_STABLE [19:18:06] checking pg_upgrade
gerenuk:REL9_4_STABLE [19:19:11] checking test-decoding
gerenuk:REL9_4_STABLE [19:20:13] running make check miscellaneous
modules ...
gerenuk:REL9_4_STABLE [19:20:13] running bin test initdb ...
Branch: REL9_4_STABLE
Stage initdbCheck failed with status 2
Wed Dec 22 19:20:20 2021: buildfarm run for gerenuk:REL9_5_STABLE
starting
gerenuk:REL9_5_STABLE [19:20:20] checking out source ...
gerenuk:REL9_5_STABLE [19:20:26] checking if build run needed ...
gerenuk:REL9_5_STABLE [19:20:26] copying source to pgsql.build ...
gerenuk:REL9_5_STABLE [19:20:56] running configure ...
gerenuk:REL9_5_STABLE [19:21:17] running make ...
gerenuk:REL9_5_STABLE [19:23:16] running make check ...
gerenuk:REL9_5_STABLE [19:23:43] running make contrib ...
gerenuk:REL9_5_STABLE [19:23:53] running make testmodules ...
gerenuk:REL9_5_STABLE [19:23:53] running make install ...
gerenuk:REL9_5_STABLE [19:23:57] running make contrib install ...
gerenuk:REL9_5_STABLE [19:23:59] running make testmodules install ...
gerenuk:REL9_5_STABLE [19:23:59] checking pg_upgrade
gerenuk:REL9_5_STABLE [19:25:09] checking test-decoding
gerenuk:REL9_5_STABLE [19:26:02] running make check miscellaneous
modules ...
gerenuk:REL9_5_STABLE [19:26:02] running bin test initdb ...
Can't stat pgsql.build/src/bin/initdb/tmp_check: No such file or
directory
at /home/pgbuildfarm/bin/build-farm-13.1/PGBuild/Utils.pm line 222.
Branch: REL9_5_STABLE
Stage initdbCheck failed with status 2
Wed Dec 22 19:26:04 2021: buildfarm run for gerenuk:REL9_6_STABLE
starting
gerenuk:REL9_6_STABLE [19:26:04] checking out source ...
gerenuk:REL9_6_STABLE [19:26:12] checking if build run needed ...
gerenuk:REL9_6_STABLE [19:26:12] copying source to pgsql.build ...
gerenuk:REL9_6_STABLE [19:26:47] running configure ...
gerenuk:REL9_6_STABLE [19:27:06] running make ...
gerenuk:REL9_6_STABLE [19:29:13] running make check ...
gerenuk:REL9_6_STABLE [19:29:41] running make contrib ...
gerenuk:REL9_6_STABLE [19:29:51] running make testmodules ...
gerenuk:REL9_6_STABLE [19:29:51] running make install ...
gerenuk:REL9_6_STABLE [19:29:55] running make contrib install ...
gerenuk:REL9_6_STABLE [19:29:57] running make testmodules install ...
gerenuk:REL9_6_STABLE [19:29:58] checking pg_upgrade
gerenuk:REL9_6_STABLE [19:31:09] checking test-decoding
gerenuk:REL9_6_STABLE [19:32:02] running make check miscellaneous
modules ...
gerenuk:REL9_6_STABLE [19:32:02] running bin test initdb ...
Can't stat pgsql.build/src/bin/initdb/tmp_check: No such file or
directory
at /home/pgbuildfarm/bin/build-farm-13.1/PGBuild/Utils.pm line 222.
Branch: REL9_6_STABLE
Stage initdbCheck failed with status 2
$

Looks like there are "issues".

Should I set it up on cron? Or does someone want to look first?

--
Larry Rosenman http://www.lerctr.org/~ler
Phone: +1 214-642-9640 E-Mail: ler@lerctr.org
US Mail: 5708 Sabbia Dr, Round Rock, TX 78665-2106

#15Tom Lane
tgl@sss.pgh.pa.us
In reply to: Larry Rosenman (#13)
Re: Buildfarm support for older versions

Larry Rosenman <ler@lerctr.org> writes:

REL9_2_STABLE make dies on:
ld: error: relocation R_X86_64_PC32 cannot be used against symbol
_CurrentRuneLocale; recompile with -fPIC
[etc]

What configure options did you use?

regards, tom lane

#16Larry Rosenman
ler@lerctr.org
In reply to: Tom Lane (#15)
Re: Buildfarm support for older versions

On 12/22/2021 9:34 pm, Tom Lane wrote:

Larry Rosenman <ler@lerctr.org> writes:

REL9_2_STABLE make dies on:
ld: error: relocation R_X86_64_PC32 cannot be used against symbol
_CurrentRuneLocale; recompile with -fPIC
[etc]

What configure options did you use?

regards, tom lane

config_opts =>[
qw(
--enable-cassert
--enable-debug
--enable-nls
--enable-tap-tests
--with-perl
)
],

--
Larry Rosenman http://www.lerctr.org/~ler
Phone: +1 214-642-9640 E-Mail: ler@lerctr.org
US Mail: 5708 Sabbia Dr, Round Rock, TX 78665-2106

#17Tom Lane
tgl@sss.pgh.pa.us
In reply to: Larry Rosenman (#16)
Re: Buildfarm support for older versions

Larry Rosenman <ler@lerctr.org> writes:

On 12/22/2021 9:34 pm, Tom Lane wrote:

What configure options did you use?

config_opts =>[
qw(
--enable-cassert
--enable-debug
--enable-nls
--enable-tap-tests
--with-perl
)
],

Does it work if you drop --enable-nls? (It'd likely be worth fixing
if so, but I'm trying to narrow the possible causes.)

regards, tom lane

#18Larry Rosenman
ler@lerctr.org
In reply to: Tom Lane (#17)
Re: Buildfarm support for older versions

On 12/22/2021 9:59 pm, Tom Lane wrote:

Larry Rosenman <ler@lerctr.org> writes:

On 12/22/2021 9:34 pm, Tom Lane wrote:

What configure options did you use?

config_opts =>[
qw(
--enable-cassert
--enable-debug
--enable-nls
--enable-tap-tests
--with-perl
)
],

Does it work if you drop --enable-nls? (It'd likely be worth fixing
if so, but I'm trying to narrow the possible causes.)

regards, tom lane

Nope...

gmake[3]: Leaving directory
'/home/pgbuildfarm/buildroot/REL9_2_STABLE/pgsql.build/contrib/dummy_seclabel'
cp ../../../contrib/dummy_seclabel/dummy_seclabel.so dummy_seclabel.so
cc -O2 -Wall -Wmissing-prototypes -Wpointer-arith
-Wdeclaration-after-statement -Wendif-labels -Wmissing-format-attribute
-Wformat-security -fno-strict-aliasing -fwrapv
-Wno-unused-command-line-argument -Wno-compound-token-split-by-macro
-Wno-sometimes-uninitialized -g -fPIC -DPIC -L../../src/port
-L/usr/local/lib -Wl,--as-needed
-Wl,-R'/home/pgbuildfarm/buildroot/REL9_2_STABLE/inst/lib'
-L../../src/port -lpgport -shared -o moddatetime.so moddatetime.o
cc -O2 -Wall -Wmissing-prototypes -Wpointer-arith
-Wdeclaration-after-statement -Wendif-labels -Wmissing-format-attribute
-Wformat-security -fno-strict-aliasing -fwrapv
-Wno-unused-command-line-argument -Wno-compound-token-split-by-macro
-Wno-sometimes-uninitialized -g -fPIC -DPIC -L../../src/port
-L/usr/local/lib -Wl,--as-needed
-Wl,-R'/home/pgbuildfarm/buildroot/REL9_2_STABLE/inst/lib'
-L../../src/port -lpgport -shared -o insert_username.so
insert_username.o
cc -O2 -Wall -Wmissing-prototypes -Wpointer-arith
-Wdeclaration-after-statement -Wendif-labels -Wmissing-format-attribute
-Wformat-security -fno-strict-aliasing -fwrapv
-Wno-unused-command-line-argument -Wno-compound-token-split-by-macro
-Wno-sometimes-uninitialized -g -fPIC -DPIC -L../../src/port
-L/usr/local/lib -Wl,--as-needed
-Wl,-R'/home/pgbuildfarm/buildroot/REL9_2_STABLE/inst/lib'
-L../../src/port -lpgport -shared -o autoinc.so autoinc.o
cc -O2 -Wall -Wmissing-prototypes -Wpointer-arith
-Wdeclaration-after-statement -Wendif-labels -Wmissing-format-attribute
-Wformat-security -fno-strict-aliasing -fwrapv
-Wno-unused-command-line-argument -Wno-compound-token-split-by-macro
-Wno-sometimes-uninitialized -g -fPIC -DPIC -L../../src/port
-L/usr/local/lib -Wl,--as-needed
-Wl,-R'/home/pgbuildfarm/buildroot/REL9_2_STABLE/inst/lib'
-L../../src/port -lpgport -shared -o timetravel.so timetravel.o
cc -O2 -Wall -Wmissing-prototypes -Wpointer-arith
-Wdeclaration-after-statement -Wendif-labels -Wmissing-format-attribute
-Wformat-security -fno-strict-aliasing -fwrapv
-Wno-unused-command-line-argument -Wno-compound-token-split-by-macro
-Wno-sometimes-uninitialized -g -fPIC -DPIC -L../../src/port
-L/usr/local/lib -Wl,--as-needed
-Wl,-R'/home/pgbuildfarm/buildroot/REL9_2_STABLE/inst/lib'
-L../../src/port -lpgport -shared -o refint.so refint.o
ld: error: relocation R_X86_64_PC32 cannot be used against symbol
_CurrentRuneLocale; recompile with -fPIC

defined in /lib/libc.so.7
referenced by pgstrcasecmp.c:37
pgstrcasecmp.o:(pg_strcasecmp) in archive
../../src/port/libpgport.a

ld: error: relocation R_X86_64_PC32 cannot be used against symbol
__mb_sb_limit; recompile with -fPIC

defined in /lib/libc.so.7
referenced by pgstrcasecmp.c:37
pgstrcasecmp.o:(pg_strcasecmp) in archive
../../src/port/libpgport.a

ld: error: relocation R_X86_64_PC32 cannot be used against symbol
_CurrentRuneLocale; recompile with -fPIC

defined in /lib/libc.so.7
referenced by pgstrcasecmp.c:70
pgstrcasecmp.o:(pg_strncasecmp) in archive
../../src/port/libpgport.a

ld: error: relocation R_X86_64_PC32 cannot be used against symbol
__mb_sb_limit; recompile with -fPIC

defined in /lib/libc.so.7
referenced by pgstrcasecmp.c:70
pgstrcasecmp.o:(pg_strncasecmp) in archive
../../src/port/libpgport.a

ld: error: relocation R_X86_64_PC32 cannot be used against symbol
__mb_sb_limit; recompile with -fPIC

defined in /lib/libc.so.7
referenced by pgstrcasecmp.c:109
pgstrcasecmp.o:(pg_toupper) in archive
../../src/port/libpgport.a

ld: error: relocation R_X86_64_PC32 cannot be used against symbol
_CurrentRuneLocale; recompile with -fPIC

defined in /lib/libc.so.7
referenced by runetype.h:0 (/usr/include/runetype.h:0)
pgstrcasecmp.o:(pg_toupper) in archive
../../src/port/libpgport.a

ld: error: relocation R_X86_64_PC32 cannot be used against symbol
__mb_sb_limit; recompile with -fPIC

defined in /lib/libc.so.7
referenced by pgstrcasecmp.c:126
pgstrcasecmp.o:(pg_tolower) in archive
../../src/port/libpgport.a

ld: error: relocation R_X86_64_PC32 cannot be used against symbol
_CurrentRuneLocale; recompile with -fPIC

defined in /lib/libc.so.7
referenced by runetype.h:0 (/usr/include/runetype.h:0)
pgstrcasecmp.o:(pg_tolower) in archive
../../src/port/libpgport.a

cc: error: linker command failed with exit code 1 (use -v to see
invocation)
gmake[3]: *** [../../src/Makefile.port:20: timetravel.so] Error 1
gmake[3]: *** Waiting for unfinished jobs....
rm moddatetime.o autoinc.o refint.o timetravel.o insert_username.o
gmake[3]: Leaving directory
'/home/pgbuildfarm/buildroot/REL9_2_STABLE/pgsql.build/contrib/spi'
gmake[2]: *** [GNUmakefile:126: submake-contrib-spi] Error 2
gmake[2]: *** Waiting for unfinished jobs....
gmake[2]: Leaving directory
'/home/pgbuildfarm/buildroot/REL9_2_STABLE/pgsql.build/src/test/regress'
gmake[1]: *** [Makefile:33: all-test/regress-recurse] Error 2
gmake[1]: Leaving directory
'/home/pgbuildfarm/buildroot/REL9_2_STABLE/pgsql.build/src'
gmake: *** [GNUmakefile:11: all-src-recurse] Error 2
$

--
Larry Rosenman http://www.lerctr.org/~ler
Phone: +1 214-642-9640 E-Mail: ler@lerctr.org
US Mail: 5708 Sabbia Dr, Round Rock, TX 78665-2106

#19Tom Lane
tgl@sss.pgh.pa.us
In reply to: Larry Rosenman (#18)
Re: Buildfarm support for older versions

Larry Rosenman <ler@lerctr.org> writes:

On 12/22/2021 9:59 pm, Tom Lane wrote:

Does it work if you drop --enable-nls? (It'd likely be worth fixing
if so, but I'm trying to narrow the possible causes.)

Nope...

OK. Since 9.3 succeeds, it seems like it's a link problem
we fixed at some point. Can you bisect to find where we
fixed it?

regards, tom lane

#20Larry Rosenman
ler@lerctr.org
In reply to: Tom Lane (#19)
Re: Buildfarm support for older versions

On 12/22/2021 10:15 pm, Tom Lane wrote:

Larry Rosenman <ler@lerctr.org> writes:

On 12/22/2021 9:59 pm, Tom Lane wrote:

Does it work if you drop --enable-nls? (It'd likely be worth fixing
if so, but I'm trying to narrow the possible causes.)

Nope...

OK. Since 9.3 succeeds, it seems like it's a link problem
we fixed at some point. Can you bisect to find where we
fixed it?

regards, tom lane

I can try -- I haven't been very good at that.

I can give you access to the machine and the id the Buildfarm runs
under.

(or give me a good process starting from a buildfarm layout).

--
Larry Rosenman http://www.lerctr.org/~ler
Phone: +1 214-642-9640 E-Mail: ler@lerctr.org
US Mail: 5708 Sabbia Dr, Round Rock, TX 78665-2106

#21Andrew Dunstan
andrew@dunslane.net
In reply to: Larry Rosenman (#20)
Re: Buildfarm support for older versions

On 12/22/21 23:20, Larry Rosenman wrote:

On 12/22/2021 10:15 pm, Tom Lane wrote:

Larry Rosenman <ler@lerctr.org> writes:

On 12/22/2021 9:59 pm, Tom Lane wrote:

Does it work if you drop --enable-nls?  (It'd likely be worth fixing
if so, but I'm trying to narrow the possible causes.)

Nope...

OK.  Since 9.3 succeeds, it seems like it's a link problem
we fixed at some point.  Can you bisect to find where we
fixed it?

            regards, tom lane

I can try -- I haven't been very good at that.

I can give you access to the machine and the id the Buildfarm runs under.

(or give me a good process starting from a buildfarm layout).

I will work on it on my FBSD setup.

cheers

andrew

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

#22Andrew Dunstan
andrew@dunslane.net
In reply to: Andrew Dunstan (#21)
Re: Buildfarm support for older versions

On 12/23/21 08:50, Andrew Dunstan wrote:

On 12/22/21 23:20, Larry Rosenman wrote:

On 12/22/2021 10:15 pm, Tom Lane wrote:

Larry Rosenman <ler@lerctr.org> writes:

On 12/22/2021 9:59 pm, Tom Lane wrote:

Does it work if you drop --enable-nls?  (It'd likely be worth fixing
if so, but I'm trying to narrow the possible causes.)

Nope...

OK.  Since 9.3 succeeds, it seems like it's a link problem
we fixed at some point.  Can you bisect to find where we
fixed it?

            regards, tom lane

I can try -- I haven't been very good at that.

I can give you access to the machine and the id the Buildfarm runs under.

(or give me a good process starting from a buildfarm layout).

I will work on it on my FBSD setup.

For the 9.2 error, try setting this in the config_env stanza:

    CFLAGS => '-O2 -fPIC',

cheers

andrew

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

#23Larry Rosenman
ler@lerctr.org
In reply to: Andrew Dunstan (#22)
Re: Buildfarm support for older versions

On 12/23/2021 10:13 am, Andrew Dunstan wrote:

On 12/23/21 08:50, Andrew Dunstan wrote:

On 12/22/21 23:20, Larry Rosenman wrote:

On 12/22/2021 10:15 pm, Tom Lane wrote:

Larry Rosenman <ler@lerctr.org> writes:

On 12/22/2021 9:59 pm, Tom Lane wrote:

Does it work if you drop --enable-nls?  (It'd likely be worth
fixing
if so, but I'm trying to narrow the possible causes.)

Nope...

OK.  Since 9.3 succeeds, it seems like it's a link problem
we fixed at some point.  Can you bisect to find where we
fixed it?

            regards, tom lane

I can try -- I haven't been very good at that.

I can give you access to the machine and the id the Buildfarm runs
under.

(or give me a good process starting from a buildfarm layout).

I will work on it on my FBSD setup.

For the 9.2 error, try setting this in the config_env stanza:

    CFLAGS => '-O2 -fPIC',

cheers

andrew

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

That got us further, but it dies on startdb:
$ cat startdb-C-1.log
waiting for server to start.... stopped waiting
pg_ctl: could not start server
Examine the log output.
=========== db log file ==========
LOG: unrecognized configuration parameter "unix_socket_directories" in
file
"/home/pgbuildfarm/buildroot/REL9_2_STABLE/inst/data-C/postgresql.conf"
line 576
FATAL: configuration file
"/home/pgbuildfarm/buildroot/REL9_2_STABLE/inst/data-C/postgresql.conf"
contains errors
$

And we have the errors on the other branches with a temp(?) directory.
--
Larry Rosenman http://www.lerctr.org/~ler
Phone: +1 214-642-9640 E-Mail: ler@lerctr.org
US Mail: 5708 Sabbia Dr, Round Rock, TX 78665-2106

#24Andrew Dunstan
andrew@dunslane.net
In reply to: Larry Rosenman (#23)
Re: Buildfarm support for older versions

On 12/23/21 11:27, Larry Rosenman wrote:

For the 9.2 error, try setting this in the config_env stanza:

    CFLAGS => '-O2 -fPIC',

That got us further, but it dies on startdb:
$ cat startdb-C-1.log
waiting for server to start.... stopped waiting
pg_ctl: could not start server
Examine the log output.
=========== db log file ==========
LOG:  unrecognized configuration parameter "unix_socket_directories"
in file
"/home/pgbuildfarm/buildroot/REL9_2_STABLE/inst/data-C/postgresql.conf"
line 576
FATAL:  configuration file
"/home/pgbuildfarm/buildroot/REL9_2_STABLE/inst/data-C/postgresql.conf"
contains errors
$

And we have the errors on the other branches with a temp(?) directory.

looks like it's picking up the wrong perl libraries. Please show us the
output of

grep -v secret /home/pgbuildfarm/buildroot/REL9_2_STABLE/$animal.lastrun-logs/web-txn.data

cheers

andrew

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

#25Larry Rosenman
ler@lerctr.org
In reply to: Andrew Dunstan (#24)
Re: Buildfarm support for older versions

On 12/23/2021 11:23 am, Andrew Dunstan wrote:

On 12/23/21 11:27, Larry Rosenman wrote:

For the 9.2 error, try setting this in the config_env stanza:

    CFLAGS => '-O2 -fPIC',

That got us further, but it dies on startdb:
$ cat startdb-C-1.log
waiting for server to start.... stopped waiting
pg_ctl: could not start server
Examine the log output.
=========== db log file ==========
LOG:  unrecognized configuration parameter "unix_socket_directories"
in file
"/home/pgbuildfarm/buildroot/REL9_2_STABLE/inst/data-C/postgresql.conf"
line 576
FATAL:  configuration file
"/home/pgbuildfarm/buildroot/REL9_2_STABLE/inst/data-C/postgresql.conf"
contains errors
$

And we have the errors on the other branches with a temp(?) directory.

looks like it's picking up the wrong perl libraries. Please show us the
output of

grep -v secret
/home/pgbuildfarm/buildroot/REL9_2_STABLE/$animal.lastrun-logs/web-txn.data

cheers

andrew

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

$ grep -v secret web-txn.data
$changed_this_run = '';
$changed_since_success = '';
$branch = 'REL9_2_STABLE';
$status = 1;
$stage = 'StartDb-C:1';
$animal = 'gerenuk';
$ts = 1640276469;
$log_data = 'Last file mtime in snapshot: Wed Dec 15 23:00:28 2021 GMT
===================================================
waiting for server to start.... stopped waiting
pg_ctl: could not start server
Examine the log output.
=========== db log file ==========
LOG: unrecognized configuration parameter "unix_socket_directories" in
file
"/home/pgbuildfarm/buildroot/REL9_2_STABLE/inst/data-C/postgresql.conf"
line 576
FATAL: configuration file
"/home/pgbuildfarm/buildroot/REL9_2_STABLE/inst/data-C/postgresql.conf"
contains errors
';
$confsum = 'This file was created by PostgreSQL configure 9.2.24, which
was
generated by GNU Autoconf 2.63. Invocation command line was

$ ./configure --enable-cassert --enable-debug --enable-nls
--enable-tap-tests \\
--with-perl
--prefix=/home/pgbuildfarm/buildroot/REL9_2_STABLE/inst \\
--with-pgport=5700
--cache-file=/home/pgbuildfarm/buildroot/accache-gerenuk/config-REL9_2_STABLE.cache

hostname = borg.lerctr.org
uname -m = amd64
uname -r = 14.0-CURRENT
uname -s = FreeBSD
uname -v = FreeBSD 14.0-CURRENT #26 main-n251898-acdc1de369a: Wed Dec 22
18:11:08 CST 2021
root@borg.lerctr.org:/usr/obj/usr/src/amd64.amd64/sys/LER-MINIMAL

/usr/bin/uname -p = amd64

PATH: /home/ler/.asdf/shims
PATH: /home/ler/.asdf/bin
PATH: /sbin
PATH: /bin
PATH: /usr/sbin
PATH: /usr/bin
PATH: /usr/local/sbin
PATH: /usr/local/bin
PATH: /home/ler/bin
PATH: /home/ler/go/bin
PATH: /usr/local/opt/terraform@0.12/bin
PATH: /home/ler/bin

========================================================
$Script_Config = {
\'alerts\' => {},
\'animal\' => \'gerenuk\',
\'base_port\' => 5678,
\'bf_perl_version\' => \'5.32.1\',
\'build_env\' => {
\'INCLUDES\' =>
\'-I/usr/local/include\',
\'LDFLAGS\' => \'-L/usr/local/lib\'
},
\'build_root\' => \'/home/pgbuildfarm/buildroot\',
\'ccache_failure_remove\' => undef,
\'config\' => [],
\'config_env\' => {
\'CFLAGS\' => \'-O2 -fPIC\'
},
\'config_opts\' => [
\'--enable-cassert\',
\'--enable-debug\',
\'--enable-nls\',
\'--enable-tap-tests\',
\'--with-perl\'
],
\'core_file_glob\' => \'*.core*\',
\'extra_config\' => {
\'DEFAULT\' => [
\'log_line_prefix
= \\\'%m [%p:%l] %q%a \\\'\',
\'log_connections
= \\\'true\\\'\',

\'log_disconnections = \\\'true\\\'\',
\'log_statement =
\\\'all\\\'\',
\'fsync = off\'
]
},
\'force_every\' => {},
\'git_ignore_mirror_failure\' => 1,
\'git_keep_mirror\' => 1,
\'git_use_workdirs\' => 1,
\'invocation_args\' => [
\'--config\',

\'/home/pgbuildfarm/conf/gerenuk.conf\',
\'--test\',
\'REL9_2_STABLE\'
],
\'keep_error_builds\' => 0,
\'locales\' => [
\'C\'
],
\'mail_events\' => {
\'all\' => [],
\'change\' => [
\'ler@lerctr.org\'
],
\'fail\' => [
\'ler@lerctr.org\'
],
\'green\' => [
\'ler@lerctr.org\'
]
},
\'make\' => \'gmake\',
\'make_jobs\' => 10,
\'module_versions\' => {
\'PGBuild::Log\' =>
\'REL_13.1\',

\'PGBuild::Modules::TestDecoding\' => \'REL_13.1\',

\'PGBuild::Modules::TestUpgrade\' => \'REL_13.1\',
\'PGBuild::Options\' =>
\'REL_13.1\',
\'PGBuild::SCM\' =>
\'REL_13.1\',
\'PGBuild::Utils\' =>
\'REL_13.1\',
\'PGBuild::WebTxn\' =>
\'REL_13.1\'
},
\'modules\' => [
\'TestUpgrade\',
\'TestDecoding\'
],
\'optional_steps\' => {},
\'orig_env\' => {
\'BF_CONF_BRANCHES\' =>
\'REL9_2_STABLE,REL9_3_STABLE,REL9_4_STABLE,REL9_5_STABLE,REL9_6_STABLE\',
\'EDITOR\' => \'xxxxxx\',
\'ENV\' => \'xxxxxx\',
\'HOME\' => \'/home/pgbuildfarm\',
\'LANG\' => \'xxxxxx\',
\'LOGNAME\' => \'pgbuildfarm\',
\'MAIL\' => \'xxxxxx\',
\'PAGER\' => \'xxxxxx\',
\'PATH\' =>
\'/home/ler/.asdf/shims:/home/ler/.asdf/bin:/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/sbin:/usr/local/bin:/home/ler/bin:/home/ler/go/bin:/usr/local/opt/terraform@0.12/bin:/home/ler/bin\',
\'PWD\' => \'xxxxxx\',
\'SHELL\' => \'/bin/sh\',
\'SUDO_COMMAND\' => \'xxxxxx\',
\'SUDO_GID\' => \'xxxxxx\',
\'SUDO_UID\' => \'xxxxxx\',
\'SUDO_USER\' => \'xxxxxx\',
\'TERM\' => \'xxxxxx\',
\'USER\' => \'pgbuildfarm\'
},
\'scm\' => \'git\',
\'scm_url\' => undef,
\'scmrepo\' => undef,
\'script_version\' => \'REL_13.1\',
\'steps_completed\' => [
\'SCM-checkout\',
\'Configure\',
\'Make\',
\'Check\',
\'Contrib\',
\'Install\',
\'ContribInstall\',
\'pg_upgradeCheck\',
\'MiscCheck\',
\'Initdb-C\'
],
\'tar_log_cmd\' => undef,
\'target\' =>
\'https://buildfarm.postgresql.org/cgi-bin/pgstatus.pl\&#39;,
\'trigger_exclude\' => qr/^doc\\/|\\.po$/,
\'trigger_include\' => undef,
\'upgrade_target\' =>
\'https://buildfarm.postgresql.org/cgi-bin/upgrade.pl\&#39;,
\'use_default_ccache_dir\' => 0,
\'use_git_cvsserver\' => undef,
\'use_vpath\' => undef,
\'using_msvc\' => undef,
\'wait_timeout\' => undef
};
';
$target = 'https://buildfarm.postgresql.org/cgi-bin/pgstatus.pl&#39;;
$verbose = 1;
$ pwd
/home/pgbuildfarm/buildroot/REL9_2_STABLE/gerenuk.lastrun-logs
$
--
Larry Rosenman http://www.lerctr.org/~ler
Phone: +1 214-642-9640 E-Mail: ler@lerctr.org
US Mail: 5708 Sabbia Dr, Round Rock, TX 78665-2106

#26Andrew Dunstan
andrew@dunslane.net
In reply to: Andrew Dunstan (#24)
Re: Buildfarm support for older versions

On 12/23/21 12:23, Andrew Dunstan wrote:

On 12/23/21 11:27, Larry Rosenman wrote:

For the 9.2 error, try setting this in the config_env stanza:

    CFLAGS => '-O2 -fPIC',

That got us further, but it dies on startdb:
$ cat startdb-C-1.log
waiting for server to start.... stopped waiting
pg_ctl: could not start server
Examine the log output.
=========== db log file ==========
LOG:  unrecognized configuration parameter "unix_socket_directories"
in file
"/home/pgbuildfarm/buildroot/REL9_2_STABLE/inst/data-C/postgresql.conf"
line 576
FATAL:  configuration file
"/home/pgbuildfarm/buildroot/REL9_2_STABLE/inst/data-C/postgresql.conf"
contains errors
$

And we have the errors on the other branches with a temp(?) directory.

looks like it's picking up the wrong perl libraries. Please show us the
output of

grep -v secret /home/pgbuildfarm/buildroot/REL9_2_STABLE/$animal.lastrun-logs/web-txn.data

Oh, you need to be building with the buildfarm client's git tip, not the
released code. Alternatively, apply this patch:

https://github.com/PGBuildFarm/client-code/commit/75c762ba74fdec96ebf6c2433d61d3eeead825c3

cheers

andrew

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

#27Larry Rosenman
ler@lerctr.org
In reply to: Andrew Dunstan (#26)
1 attachment(s)
Re: Buildfarm support for older versions

On 12/23/2021 11:58 am, Andrew Dunstan wrote:

Oh, you need to be building with the buildfarm client's git tip, not
the
released code. Alternatively, apply this patch:

https://github.com/PGBuildFarm/client-code/commit/75c762ba74fdec96ebf6c2433d61d3eeead825c3

with git tip:
output attached.

I can give access if needed.

$ grep -v secret conf/gerenuk.conf
# -*-perl-*- hey - emacs - this is a perl file

=comment

Copyright (c) 2003-2010, Andrew Dunstan

See accompanying License file for license details

=cut

package PGBuild;

use strict;

use warnings FATAL => 'qw';

use vars qw(%conf);

# use vars qw($VERSION); $VERSION = 'REL_4.19';

my $branch;
{
no warnings qw(once);
$branch = $main::branch;
}

%conf =(

# identity
animal => "gerenuk",

# source code
scm => 'git', # or 'cvs'
git_keep_mirror => 1, # manage a git mirror in the build root
git_ignore_mirror_failure => 1, # ignore failures in fetching to
mirror

# use symlinked git repo from non-HEAD branches,
# like git-new-workdir does
git_use_workdirs => 1,

scmrepo => undef, # default is community repo for either type
scm_url => undef, # webref for diffs on server - use default for
community
# git_reference => undef, # for --reference on git repo
# cvsmethod => 'update', # or 'export'
use_git_cvsserver => undef, # or 'true' if repo is a git cvsserver

# external commands and control
make => 'gmake', # or gmake if required. can include path if
necessary.
make_jobs => 10, # >1 for parallel "make" and "make check" steps
tar_log_cmd => undef, # default is "tar -z -cf runlogs.tgz *.log"
# replacement must have the same effect

# max time in seconds allowed for a single branch run
# undef/0 means unlimited
wait_timeout => undef,

# where and how to build
# must be absolute, can be either Unix or Windows style for MSVC
# undef means default, buildroot dir in script directory
build_root => '/home/pgbuildfarm/buildroot', , # or
'/path/to/buildroot',
use_vpath => undef, # set true to do vpath builds

# path to directory with auxiliary web script
# if relative, the must be relative to buildroot/branch
# Now only used on older Msys installations
# aux_path => "../..",

keep_error_builds => 0,
core_file_glob => "*.core*", # Linux style, use "*.core" for BSD

# where to report status
target => "https://buildfarm.postgresql.org/cgi-bin/pgstatus.pl&quot;,

# where to report change in OS version or compiler version
upgrade_target =>
"https://buildfarm.postgresql.org/cgi-bin/upgrade.pl&quot;,

# change this to a true value if using MSVC, in which case also
# see MSVC section below

using_msvc => undef,

# if force_every is a scalar it will be used on all branches, like
this
# for legacy reasons:
# force_every => 336 , # max hours between builds, undef or 0 =
unforced
# we now prefer it to be a hash with branch names as the keys, like
this
#
# this setting should be kept conservatively high, or not used at
all -
# for the most part it's best to let the script decide if something
# has changed that requires a new run for the branch.
#
# an entry with a name of 'default' matches any branch not named
force_every => {

# HEAD => 48,
# REL8_3_STABLE => 72,
# default => 168,
},

# alerts are triggered if the server doesn't see a build on a branch
after
# this many hours, and then sent out every so often,

alerts => {

#HEAD => { alert_after => 72, alert_every => 24 },
# REL8_1_STABLE => { alert_after => 240, alert_every => 48 },
},

# include / exclude patterns for files that trigger a build
# if both are specified then they are both applied as filters
# undef means don't ignore anything.
# exclude qr[^doc/|\.po$] to ignore changes to docs and po files
# (recommended)
# undef means null filter.
trigger_exclude => qr[^doc/|\.po$],
trigger_include => undef,

# settings for mail notices - default to notifying nobody
# these lists contain addresses to be notified
# must be complete email addresses, as the email is sent from the
server

mail_events =>{
all => [], # unconditional
fail => ["ler\@lerctr.org"], # if this build fails
change => ["ler\@lerctr.org"], # if this build causes a state
change
green => ["ler\@lerctr.org"], # if this build causes a state
change to/from OK
},

# if this flag is set and ccache is used, an unsuccessful run will
result
# in the removal of the ccache directory (and you need to make sure
that
# its parent is writable). The default is off - ccache should be
able to
# handle failures, although there have been suspicions in the past
that
# it's not quite as reliable as we'd want, and thus we have this
option.

ccache_failure_remove => undef,

# set this if you want to use ccache with the default ccache
directory
# location, effectively $buildroot/ccache-$animal.

use_default_ccache_dir => 0,

# env settings to apply within build/report process
# these settings will be seen by all the processes, including the
# configure process.

build_env =>{

# use a dedicated cache for the build farm. this should give us
# very high hit rates and slightly faster cache searching.
#
# only set this if you want to set your own path for the ccache
# directory
#CCACHE_DIR => "/home/pgbuildfarm/misc/ccache",

### use these settings for CYGWIN
# CYGWIN => 'server',
# MAX_CONNECTIONS => '3',

### set this if you need a proxy setting for the
# outbound web transaction that reports the results
# BF_PROXY => 'http://my.proxy.server:portnum/&#39;,

# see below for MSVC settings

# possibly set this to something high if you get pg_ctl failures
# default is 120
# PGCTLTIMEOUT => '120',
INCLUDES=>"-I/usr/local/include",
LDFLAGS=>"-L/usr/local/lib",

},

# env settings to pass to configure. These settings will only be
seen by
# configure.
config_env =>{

# comment out if not using ccache
# CC => 'ccache clang',
CFLAGS => '-O2 -fPIC',
},

# don't use --prefix or --with-pgport here
# they are set up by the script
# per-branch config can be done here or
# more simply by using the examples below.
# (default ldap flag is below because it's not supported in all
branches)

# see below for MSVC config

config_opts =>[
qw(
--enable-cassert
--enable-debug
--enable-nls
--enable-tap-tests
--with-perl
)
],

# per-branch contents of extra config for check stages.
# each branch has an array of setting lines (no \n required)
# a DEFAULT entry is used for all branches, before any
# branch-specific settings.
extra_config =>{
DEFAULT => [
q(log_line_prefix = '%m [%p:%l] %q%a '),
"log_connections = 'true'",
"log_disconnections = 'true'",
"log_statement = 'all'",
"fsync = off"
],
},

optional_steps =>{

# which optional steps to run and when to run them
# valid keys are: branches, dow, min_hours_since, min_hour,
max_hour
# find_typedefs => { branches => ['HEAD'], dow => [1,4],
# min_hours_since => 25 },
# build_docs => {min_hours_since => 24},
},

# locales to test

locales => [qw( C )],

# port number actually used will be based on this param and the
branch,
# so we ensure they don't collide

base_port => 5678,

modules => [qw(TestUpgrade TestDecoding)],

#
);

if ($branch eq 'global')
{

$conf{branches_to_build} = [qw( REL9_2_STABLE REL9_3_STABLE
REL9_4_STABLE
REL9_5_STABLE REL9_6_STABLE)]

# or 'HEAD_PLUS_LATEST' or 'HEAD_PLUS_LATEST2'
# or [qw( HEAD RELx_y_STABLE etc )]

# set this if you are running multiple animals and want them
coordinated

# $conf{global_lock_dir} = '/path/to/lockdir';

}

# MSVC setup

if ($conf{using_msvc})
{

# all this stuff is to support MSVC builds - it's literally what
# a VS Command Prompt sets for me.
# make sure it's what your sets for you. There can be subtle
differences.
# Note: we need to set here whatever would be set in buildenv.bat,
as
# we aren't going to write that file. This supercedes it. In
# particular, the PATH possibly needs to include the path to perl,
bison,
# flex etc., as well as CVS if that's not in the path.

my %extra_buildenv =(

VSINSTALLDIR => 'C:\Program Files\Microsoft Visual Studio 8',
VCINSTALLDIR => 'C:\Program Files\Microsoft Visual Studio 8\VC',
VS80COMNTOOLS =>
'C:\Program Files\Microsoft Visual Studio 8\Common7\Tools',
FrameworkDir => 'C:\WINDOWS\Microsoft.NET\Framework',
FrameworkVersion => 'v2.0.50727',
FrameworkSDKDir =>'C:\Program Files\Microsoft Visual Studio
8\SDK\v2.0',
DevEnvDir => 'C:\Program Files\Microsoft Visual Studio
8\Common7\IDE',

PATH => join(';',
'C:\Program Files\Microsoft Visual Studio 8\Common7\IDE',
'C:\Program Files\Microsoft Visual Studio 8\VC\BIN',
'C:\Program Files\Microsoft Visual Studio 8\Common7\Tools',
'C:\Program Files\Microsoft Visual Studio
8\Common7\Tools\bin',
'C:\Program Files\Microsoft Visual Studio
8\VC\PlatformSDK\bin',
'C:\Program Files\Microsoft Visual Studio 8\SDK\v2.0\bin',
'C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727',
'C:\Program Files\Microsoft Visual Studio 8\VC\VCPackages',
'C:\Perl\Bin',
'c:\prog\pgdepend\bin',
$ENV{PATH}),
INCLUDE => join(';',
'C:\Program Files\Microsoft Visual Studio
8\VC\ATLMFC\INCLUDE',
'C:\Program Files\Microsoft Visual Studio 8\VC\INCLUDE',
'C:\Program Files\Microsoft Visual Studio
8\VC\PlatformSDK\include',
'C:\Program Files\Microsoft Visual Studio
8\SDK\v2.0\include',
$ENV{INCLUDE}),

LIB => join(';',
'C:\Program Files\Microsoft Visual Studio 8\VC\ATLMFC\LIB',
'C:\Program Files\Microsoft Visual Studio 8\VC\LIB'
.'C:\Program Files\Microsoft Visual Studio
8\VC\PlatformSDK\lib',
'C:\Program Files\Microsoft Visual Studio 8\SDK\v2.0\lib'
.$ENV{LIB}),

LIBPATH => join(';',
'C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727',
'C:\Program Files\Microsoft Visual Studio 8\VC\ATLMFC\LIB'),
);

%{$conf{build_env}} = (%{$conf{build_env}}, %extra_buildenv);

# MSVC needs a somewhat different style of config opts (why??)
# What we write here will be literally (via Data::Dumper) put into
# the config.pl file for the MSVC build.

$conf{config_opts} ={
asserts=>1, # --enable-cassert
integer_datetimes=>1, # --enable-integer-datetimes
nls=>undef, # --enable-nls=<path>
tcl=>'c:\tcl', # --with-tcl=<path>
perl=>'c:\perl', # --with-perl=<path>
python=>'c:\python25', # --with-python=<path>
krb5=> undef, # --with-krb5=<path>
ldap=>0, # --with-ldap
openssl=> undef, # --with-ssl=<path>
xml=> undef, # --with-libxml=<path>
xslt=> undef, # --with-libxslt=<path>,
iconv=> undef, # path to iconv library
zlib=> undef, # --with-zlib=<path>
};

}

##################################
#
# examples of per branch processing
# tailor as required for your site.
#
##################################
if ($branch eq 'HEAD')
{

# push(@{$conf{config_opts}},"--enable-depend");
}
elsif ($branch =~ /^REL7_/)
{

# push(@{$conf{config_opts}},"--without-tk");
}

1;
$

--
Larry Rosenman http://www.lerctr.org/~ler
Phone: +1 214-642-9640 E-Mail: ler@lerctr.org
US Mail: 5708 Sabbia Dr, Round Rock, TX 78665-2106

Attachments:

gerenuk.outtext/plain; name=gerenuk.outDownload