jeff-davis / PostgreSQL-Temporal

Temporal extensions for PostgreSQL
Other
49 stars 14 forks source link

PostgreSQL 9.3 make install fails #7

Open martinbog opened 9 years ago

martinbog commented 9 years ago

Hi,

I'm on Xubuntu 14.04.2 i386 arch. I'm trying to create temporal-enabled database following the instructions from strabon website ( http://strabon.di.uoa.gr/installation-linux).

I got an error when I tried the make install check

sudo make installcheck
/usr/lib/postgresql/9.3/lib/pgxs/src/makefiles/../../src/test/regress/pg_regress --inputdir=./ --psqldir='/usr/lib/postgresql/9.3/bin'   --inputdir=test --load-language=plpgsql --dbname=contrib_regression period
(using postmaster on Unix socket, default port)
============== dropping database "contrib_regression" ==============
DROP DATABASE
============== creating database "contrib_regression" ==============
CREATE DATABASE
ALTER DATABASE
============== installing plpgsql                     ==============
CREATE LANGUAGE
============== running regression test queries        ==============
test period                   ... FAILED

======================
 1 of 1 tests failed. 
======================

The differences that caused some tests to fail can be viewed in the
file "/home/martin/Documents/PostgreSQL-Temporal-master/regression.diffs".  A copy of the test summary that you see
above is saved in the file "/home/martin/Documents/PostgreSQL-Temporal-master/regression.out".

make: *** [installcheck] Error 1

and in the "regression.diffs"

*** /home/martin/Documents/PostgreSQL-Temporal-master/test/expected/period.out  2012-01-24 09:02:10.000000000 +0100
--- /home/martin/Documents/PostgreSQL-Temporal-master/results/period.out    2015-05-29 15:59:52.261660971 +0200
***************
*** 1,4 ****
--- 1,5 ----
  \set ECHO 0
+ unrecognized value "0" for "ECHO"; assuming "none"
  psql:temporal.sql:14: NOTICE:  return type period is only a shell
  psql:temporal.sql:17: NOTICE:  argument type period is only a shell
  select '[2009-01-01, 2009-03-01)'::period @> '[2009-02-03, 2009-02-07)'::period;

======================================================================

Regards, Martin

JayCeeJr commented 9 years ago

I am having the same issue in CentOS 7.1

root@db0 /tmp/PostgreSQL-Temporal # make
cp temporal.sql.in sql/temporal--0.7.1.sql
sed 's,MODULE_PATHNAME,$libdir/temporal,g' temporal.sql.in >temporal.sql
gcc -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -m64 -mtune=generic -DLINUX_OOM_ADJ=0 -Wall -Wmissing-prototypes -Wpointer-arith -Wdeclaration-after-statement -Wendif-labels -Wmissing-format-attribute -Wformat-security -fno-strict-aliasing -fwrapv -fexcess-precision=standard -fpic -I. -I. -I/usr/pgsql-9.3/include/server -I/usr/pgsql-9.3/include/internal -D_GNU_SOURCE -I/usr/include/libxml2  -I/usr/include  -c -o src/temporal.o src/temporal.c
src/temporal.c:53:16: warning: ‘period_dup’ defined but not used [-Wunused-function]
 static period *period_dup(period *src)
                ^
gcc -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -m64 -mtune=generic -DLINUX_OOM_ADJ=0 -Wall -Wmissing-prototypes -Wpointer-arith -Wdeclaration-after-statement -Wendif-labels -Wmissing-format-attribute -Wformat-security -fno-strict-aliasing -fwrapv -fexcess-precision=standard -fpic -L/usr/pgsql-9.3/lib -Wl,--as-needed  -L/usr/lib64 -Wl,--as-needed -Wl,-rpath,'/usr/pgsql-9.3/lib',--enable-new-dtags  -shared -o src/temporal.so src/temporal.o
root@db0 /tmp/PostgreSQL-Temporal # make install
/usr/bin/mkdir -p '/usr/pgsql-9.3/share/extension'
/usr/bin/mkdir -p '/usr/pgsql-9.3/share/extension'
/usr/bin/mkdir -p '/usr/pgsql-9.3/lib'
/usr/bin/mkdir -p '/usr/share/doc/pgsql/extension'
/usr/bin/install -c -m 644 ./temporal.control '/usr/pgsql-9.3/share/extension/'
/usr/bin/install -c -m 644 ./sql/temporal--0.7.1.sql ./sql/temporal--0.7.0.sql ./sql/temporal--0.7.1.sql temporal.sql '/usr/pgsql-9.3/share/extension/'
/usr/bin/install: will not overwrite just-created ‘/usr/pgsql-9.3/share/extension/temporal--0.7.1.sql’ with ‘./sql/temporal--0.7.1.sql’
make: *** [install] Error 1
root@db0 /tmp/PostgreSQL-Temporal # make installcheck
/usr/pgsql-9.3/lib/pgxs/src/makefiles/../../src/test/regress/pg_regress --inputdir=. --psqldir='/usr/pgsql-9.3/bin'   --inputdir=test --load-language=plpgsql --dbname=contrib_regression period
(using postmaster on localhost, port 5433)
============== dropping database "contrib_regression" ==============
DROP DATABASE
============== creating database "contrib_regression" ==============
CREATE DATABASE
ALTER DATABASE
============== installing plpgsql                     ==============
CREATE LANGUAGE
============== running regression test queries        ==============
test period                   ... FAILED

======================
 1 of 1 tests failed. 
======================

The differences that caused some tests to fail can be viewed in the
file "/tmp/PostgreSQL-Temporal/regression.diffs".  A copy of the test summary that you see
above is saved in the file "/tmp/PostgreSQL-Temporal/regression.out".

make: *** [installcheck] Error 1
root@db0 /tmp/PostgreSQL-Temporal # cat regression.diffs 
*** /tmp/PostgreSQL-Temporal/test/expected/period.out   2015-08-14 12:01:37.814767842 -0500
--- /tmp/PostgreSQL-Temporal/results/period.out 2015-08-14 12:03:08.727807992 -0500
***************
*** 1,10 ****
  \set ECHO 0
  psql:temporal.sql:14: NOTICE:  return type period is only a shell
! psql:temporal.sql:17: NOTICE:  argument type period is only a shell
  select '[2009-01-01, 2009-03-01)'::period @> '[2009-02-03, 2009-02-07)'::period;
!  ?column? 
! ----------
!  t
! (1 row)
! 
  ROLLBACK;
--- 1,82 ----
  \set ECHO 0
+ unrecognized value "0" for "ECHO"; assuming "none"
  psql:temporal.sql:14: NOTICE:  return type period is only a shell
! psql:temporal.sql:14: ERROR:  could not access file "$libdir/temporal": No such file or directory
! psql:temporal.sql:17: ERROR:  current transaction is aborted, commands ignored until end of transaction block
! psql:temporal.sql:24: ERROR:  current transaction is aborted, commands ignored until end of transaction block
! psql:temporal.sql:32: ERROR:  current transaction is aborted, commands ignored until end of transaction block
! psql:temporal.sql:35: ERROR:  current transaction is aborted, commands ignored until end of transaction block
! psql:temporal.sql:38: ERROR:  current transaction is aborted, commands ignored until end of transaction block
! psql:temporal.sql:45: ERROR:  current transaction is aborted, commands ignored until end of transaction block
! psql:temporal.sql:48: ERROR:  current transaction is aborted, commands ignored until end of transaction block
! psql:temporal.sql:51: ERROR:  current transaction is aborted, commands ignored until end of transaction block
! psql:temporal.sql:54: ERROR:  current transaction is aborted, commands ignored until end of transaction block
! psql:temporal.sql:61: ERROR:  current transaction is aborted, commands ignored until end of transaction block
! psql:temporal.sql:64: ERROR:  current transaction is aborted, commands ignored until end of transaction block
! psql:temporal.sql:67: ERROR:  current transaction is aborted, commands ignored until end of transaction block
! psql:temporal.sql:70: ERROR:  current transaction is aborted, commands ignored until end of transaction block
! psql:temporal.sql:73: ERROR:  current transaction is aborted, commands ignored until end of transaction block
! psql:temporal.sql:76: ERROR:  current transaction is aborted, commands ignored until end of transaction block
! psql:temporal.sql:79: ERROR:  current transaction is aborted, commands ignored until end of transaction block
! psql:temporal.sql:82: ERROR:  current transaction is aborted, commands ignored until end of transaction block
! psql:temporal.sql:85: ERROR:  current transaction is aborted, commands ignored until end of transaction block
! psql:temporal.sql:88: ERROR:  current transaction is aborted, commands ignored until end of transaction block
! psql:temporal.sql:91: ERROR:  current transaction is aborted, commands ignored until end of transaction block
! psql:temporal.sql:94: ERROR:  current transaction is aborted, commands ignored until end of transaction block
! psql:temporal.sql:97: ERROR:  current transaction is aborted, commands ignored until end of transaction block
! psql:temporal.sql:101: ERROR:  current transaction is aborted, commands ignored until end of transaction block
! psql:temporal.sql:104: ERROR:  current transaction is aborted, commands ignored until end of transaction block
! psql:temporal.sql:107: ERROR:  current transaction is aborted, commands ignored until end of transaction block
! psql:temporal.sql:110: ERROR:  current transaction is aborted, commands ignored until end of transaction block
! psql:temporal.sql:113: ERROR:  current transaction is aborted, commands ignored until end of transaction block
! psql:temporal.sql:116: ERROR:  current transaction is aborted, commands ignored until end of transaction block
! psql:temporal.sql:119: ERROR:  current transaction is aborted, commands ignored until end of transaction block
! psql:temporal.sql:122: ERROR:  current transaction is aborted, commands ignored until end of transaction block
! psql:temporal.sql:129: ERROR:  current transaction is aborted, commands ignored until end of transaction block
! psql:temporal.sql:132: ERROR:  current transaction is aborted, commands ignored until end of transaction block
! psql:temporal.sql:135: ERROR:  current transaction is aborted, commands ignored until end of transaction block
! psql:temporal.sql:138: ERROR:  current transaction is aborted, commands ignored until end of transaction block
! psql:temporal.sql:141: ERROR:  current transaction is aborted, commands ignored until end of transaction block
! psql:temporal.sql:144: ERROR:  current transaction is aborted, commands ignored until end of transaction block
! psql:temporal.sql:147: ERROR:  current transaction is aborted, commands ignored until end of transaction block
! psql:temporal.sql:150: ERROR:  current transaction is aborted, commands ignored until end of transaction block
! psql:temporal.sql:153: ERROR:  current transaction is aborted, commands ignored until end of transaction block
! psql:temporal.sql:156: ERROR:  current transaction is aborted, commands ignored until end of transaction block
! psql:temporal.sql:163: ERROR:  current transaction is aborted, commands ignored until end of transaction block
! psql:temporal.sql:166: ERROR:  current transaction is aborted, commands ignored until end of transaction block
! psql:temporal.sql:169: ERROR:  current transaction is aborted, commands ignored until end of transaction block
! psql:temporal.sql:172: ERROR:  current transaction is aborted, commands ignored until end of transaction block
! psql:temporal.sql:175: ERROR:  current transaction is aborted, commands ignored until end of transaction block
! psql:temporal.sql:178: ERROR:  current transaction is aborted, commands ignored until end of transaction block
! psql:temporal.sql:181: ERROR:  current transaction is aborted, commands ignored until end of transaction block
! psql:temporal.sql:185: ERROR:  current transaction is aborted, commands ignored until end of transaction block
! psql:temporal.sql:199: ERROR:  current transaction is aborted, commands ignored until end of transaction block
! psql:temporal.sql:207: ERROR:  current transaction is aborted, commands ignored until end of transaction block
! psql:temporal.sql:214: ERROR:  current transaction is aborted, commands ignored until end of transaction block
! psql:temporal.sql:221: ERROR:  current transaction is aborted, commands ignored until end of transaction block
! psql:temporal.sql:230: ERROR:  current transaction is aborted, commands ignored until end of transaction block
! psql:temporal.sql:239: ERROR:  current transaction is aborted, commands ignored until end of transaction block
! psql:temporal.sql:248: ERROR:  current transaction is aborted, commands ignored until end of transaction block
! psql:temporal.sql:257: ERROR:  current transaction is aborted, commands ignored until end of transaction block
! psql:temporal.sql:266: ERROR:  current transaction is aborted, commands ignored until end of transaction block
! psql:temporal.sql:275: ERROR:  current transaction is aborted, commands ignored until end of transaction block
! psql:temporal.sql:284: ERROR:  current transaction is aborted, commands ignored until end of transaction block
! psql:temporal.sql:293: ERROR:  current transaction is aborted, commands ignored until end of transaction block
! psql:temporal.sql:302: ERROR:  current transaction is aborted, commands ignored until end of transaction block
! psql:temporal.sql:311: ERROR:  current transaction is aborted, commands ignored until end of transaction block
! psql:temporal.sql:320: ERROR:  current transaction is aborted, commands ignored until end of transaction block
! psql:temporal.sql:328: ERROR:  current transaction is aborted, commands ignored until end of transaction block
! psql:temporal.sql:336: ERROR:  current transaction is aborted, commands ignored until end of transaction block
! psql:temporal.sql:347: ERROR:  current transaction is aborted, commands ignored until end of transaction block
! psql:temporal.sql:357: ERROR:  current transaction is aborted, commands ignored until end of transaction block
! psql:temporal.sql:367: ERROR:  current transaction is aborted, commands ignored until end of transaction block
! psql:temporal.sql:377: ERROR:  current transaction is aborted, commands ignored until end of transaction block
! psql:temporal.sql:387: ERROR:  current transaction is aborted, commands ignored until end of transaction block
! psql:temporal.sql:397: ERROR:  current transaction is aborted, commands ignored until end of transaction block
! psql:temporal.sql:407: ERROR:  current transaction is aborted, commands ignored until end of transaction block
! psql:temporal.sql:417: ERROR:  current transaction is aborted, commands ignored until end of transaction block
! psql:temporal.sql:442: ERROR:  current transaction is aborted, commands ignored until end of transaction block
! psql:temporal.sql:451: ERROR:  current transaction is aborted, commands ignored until end of transaction block
  select '[2009-01-01, 2009-03-01)'::period @> '[2009-02-03, 2009-02-07)'::period;
! ERROR:  current transaction is aborted, commands ignored until end of transaction block
  ROLLBACK;

======================================================================
dewiniaid commented 8 years ago

Postgres 9.2 added native range types that largely supercedes this -- http://www.postgresql.org/docs/9.2/static/rangetypes.html

Notably see tsrange and tstzrange.

JayCeeJr commented 8 years ago

We had some legacy stuff using this version, we modified our code to use the native syntax in the latest Postgres. A prime example of technical debt :).

dewiniaid commented 8 years ago

I suspect CREATE DOMAIN period AS ts[tz]range; would have fixed most issues ;)

The design for the range types in 9.2 originates from this, after all.