Re: Michael Paquier 2018-04-12 <20180411235843.gg32...@paquier.xyz>
> > You sure you're on 31f1f0bb4fd642643994d35c35ecb5b929711a99 or later?
> > Which gmake version is this?

GNU Make 4.2.1

> For what it's worth, all those combinations work for me when on
> d1e90792:
> ./configure blah
> cd src/pl/plpython/
> make -j 4 [ all | install ]
> 
> But this does not work:
> ./configure blah
> cd src/pl/plpython/
> make -j 4 check
> 
> make[2]: *** [Makefile:89: keywords_srv.o] Error 1
> make[2]: *** Deleting file 'keywords_srv.o'
> make[2]: Leaving directory '/home/ioltas/git/postgres/src/common'
> make[1]: *** [../../../src/Makefile.global:568: submake-libpgport] Error 2

Most of these work for me as well. The actual incantation via
debian/rules fails, but I couldn't really narrow down what the
difference is. Manually invoking the debian/rules targets:

$ debian/rules stamp/configure-build-py3
mkdir -p stamp build-py3
cd build-py3 && ../configure \
           --with-python \
           PYTHON=/usr/bin/python3 \
           --mandir=/usr/share/postgresql/11/man 
--docdir=/usr/share/doc/postgresql-doc-11 --sysconfdir=/etc/postgresql-common 
--datarootdir=/usr/share/ --datadir=/usr/share/postgresql/11 
--bindir=/usr/lib/postgresql/11/bin --libdir=/usr/lib/x86_64-linux-gnu/ 
--libexecdir=/usr/lib/postgresql/ --includedir=/usr/include/postgresql/ 
--with-extra-version=" (Debian 11~~devel-1)" --enable-nls 
--enable-integer-datetimes --enable-thread-safety --enable-tap-tests 
--enable-debug  --disable-rpath --with-llvm --with-uuid=e2fs --with-gnu-ld 
--with-pgport=5432 --with-system-tzdata=/usr/share/zoneinfo --with-systemd  
CFLAGS='-g -O2 -fdebug-prefix-map=/srv/projects/postgresql/pg/master=. 
-fstack-protector-strong -Wformat -Werror=format-security 
-fno-omit-frame-pointer' LDFLAGS='-Wl,-z,relro -Wl,-z,now'
checking build system type... x86_64-pc-linux-gnu
checking host system type... x86_64-pc-linux-gnu
...
checking for PYTHON... /usr/bin/python3
configure: using python 3.6.5 (default, Apr  1 2018, 05:46:30)
checking for Python distutils module... yes
checking Python configuration directory... 
/usr/lib/python3.6/config-3.6m-x86_64-linux-gnu
checking Python include directories... -I/usr/include/python3.6m
checking how to link an embedded Python application... 
-L/usr/lib/python3.6/config-3.6m-x86_64-linux-gnu -lpython3.6m -lpthread -ldl  
-lutil -lm
...
preparing build tree... done
configure: creating ./config.status
config.status: creating GNUmakefile
config.status: creating src/Makefile.global
config.status: creating src/include/pg_config.h
config.status: creating src/include/pg_config_ext.h
config.status: creating src/interfaces/ecpg/include/ecpg_config.h
config.status: linking ../src/backend/port/tas/dummy.s to src/backend/port/tas.s
config.status: linking ../src/backend/port/dynloader/linux.c to 
src/backend/port/dynloader.c
config.status: linking ../src/backend/port/posix_sema.c to 
src/backend/port/pg_sema.c
config.status: linking ../src/backend/port/sysv_shmem.c to 
src/backend/port/pg_shmem.c
config.status: linking ../src/backend/port/dynloader/linux.h to 
src/include/dynloader.h
config.status: linking ../src/include/port/linux.h to src/include/pg_config_os.h
config.status: linking ../src/makefiles/Makefile.linux to src/Makefile.port
touch "stamp/configure-build-py3"

$ debian/rules stamp/build-py3
/usr/bin/make -C build-py3/src/pl/plpython
make[1]: Verzeichnis 
„/srv/projects/postgresql/pg/master/build-py3/src/pl/plpython“ wird betreten
/usr/bin/msgfmt -c -o po/cs.mo 
/srv/projects/postgresql/pg/master/build-py3/../src/pl/plpython/po/cs.po
... more msgfmt
gcc -Wall -Wmissing-prototypes -Wpointer-arith -Wdeclaration-after-statement 
-Wendif-labels -Wmissing-format-attribute -Wformat-security 
-fno-strict-aliasing -fwrapv -fexcess-precision=standard -g -g -O2 
-fdebug-prefix-map=/srv/projects/postgresql/pg/master=. 
-fstack-protector-strong -Wformat -Werror=format-security 
-fno-omit-frame-pointer -fPIC -I. 
-I/srv/projects/postgresql/pg/master/build-py3/../src/pl/plpython 
-I/usr/include/python3.6m -I../../../src/include 
-I/srv/projects/postgresql/pg/master/build-py3/../src/include  -Wdate-time 
-D_FORTIFY_SOURCE=2 -D_GNU_SOURCE   -c -o plpy_cursorobject.o 
/srv/projects/postgresql/pg/master/build-py3/../src/pl/plpython/plpy_cursorobject.c
gcc -Wall -Wmissing-prototypes -Wpointer-arith -Wdeclaration-after-statement 
-Wendif-labels -Wmissing-format-attribute -Wformat-security 
-fno-strict-aliasing -fwrapv -fexcess-precision=standard -g -g -O2 
-fdebug-prefix-map=/srv/projects/postgresql/pg/master=. 
-fstack-protector-strong -Wformat -Werror=format-security 
-fno-omit-frame-pointer -fPIC -I. 
-I/srv/projects/postgresql/pg/master/build-py3/../src/pl/plpython 
-I/usr/include/python3.6m -I../../../src/include 
-I/srv/projects/postgresql/pg/master/build-py3/../src/include  -Wdate-time 
-D_FORTIFY_SOURCE=2 -D_GNU_SOURCE   -c -o plpy_elog.o 
/srv/projects/postgresql/pg/master/build-py3/../src/pl/plpython/plpy_elog.c
In file included from 
/srv/projects/postgresql/pg/master/build-py3/../src/include/postgres.h:47:0,
                 from 
/srv/projects/postgresql/pg/master/build-py3/../src/pl/plpython/plpy_cursorobject.c:7:
/srv/projects/postgresql/pg/master/build-py3/../src/include/utils/elog.h:71:10: 
fatal error: utils/errcodes.h: Datei oder Verzeichnis nicht gefunden
 #include "utils/errcodes.h"
          ^~~~~~~~~~~~~~~~~~
compilation terminated.
In file included from 
/srv/projects/postgresql/pg/master/build-py3/../src/include/postgres.h:47:0,
                 from 
/srv/projects/postgresql/pg/master/build-py3/../src/pl/plpython/plpy_elog.c:7:
/srv/projects/postgresql/pg/master/build-py3/../src/include/utils/elog.h:71:10: 
fatal error: utils/errcodes.h: Datei oder Verzeichnis nicht gefunden
 #include "utils/errcodes.h"
          ^~~~~~~~~~~~~~~~~~
compilation terminated.
make[1]: *** [<eingebaut>: plpy_cursorobject.o] Fehler 1
make[1]: *** Es wird auf noch nicht beendete Prozesse gewartet....
make[1]: *** [<eingebaut>: plpy_elog.o] Fehler 1
make[1]: Verzeichnis 
„/srv/projects/postgresql/pg/master/build-py3/src/pl/plpython“ wird verlassen
make: *** [debian/rules:156: stamp/build-py3] Fehler 2


Invoking the commands manually works. debian/rules is
https://salsa.debian.org/postgresql/postgresql/blob/11/debian/rules

(Known bug: ltree_plpython is not yet built for python 3)

Christoph

Reply via email to