I wrote: > Oh ... wait a second. After further code reading I see that > the BF client sets NO_TEMP_INSTALL if check_install_is_complete > succeeds. So evidently, that is successfully suppressing > "make install" on most animals, but not these two. How come?
Got it: we can see on alligator that it installs (for instance) test_parser.so into /usr/bin/install -c -m 755 test_parser.so '/home/postgres/proj/build-farm-17/buildroot/HEAD/inst/lib/test_parser.so' but what check_install_is_complete is looking for is $tmp_loc = "$tmp_loc/$install_dir"; $bindir = "$tmp_loc/bin"; $libdir = "$tmp_loc/lib/postgresql"; ... my $res = ( (-d $tmp_loc) && (-f "$bindir/postgres" || -f "$bindir/postgres.exe") && (-f "$libdir/hstore$suffix") && (-f "$libdir/test_parser$suffix")); That is, check_install_is_complete expects to see test_parser.so under installdir/lib/postgresql/, but it's actually getting put into installdir/lib/ because "postgres" appears earlier in the path. So we're forcing a bunch of useless "make install"s, but that was never mission-critical until today. Unsurprisingly, lapwing is also running under /home/postgres/. Apparently no other BF animals are. regards, tom lane