Обсуждение: PostgreSQL 8.2 : regression failures on IA-64
Hello List, I have already posted an e-mail on the general mailing list but on the advice of Devrim Gunduz ;-) , I try on this mailing list. I try to generate the RPM from the src.rpm downloaded on the postgresql.org web site. I work on an IA-64 server with Red Hat Enterprise Linux 4 AS update 2. As root, the first command I launched was : [root@bt1 SOURCES]# rpm -i postgresql-8.2.0-2PGDG.src.rpm [root@bt1 SOURCES]# ls -ltr ../SPECS total 28 -rw-r--r-- 1 root root 24840 Dec 5 06:04 postgresql-8.2.spec [root@bt1 SOURCES]# ls -ltr total 24176 -rw-r--r-- 1 root root 12459207 Dec 2 20:25 postgresql-8.2.0.tar.bz2 -rw-r--r-- 1 root root 897 Dec 2 20:28 pg_config.h -rw-r--r-- 1 root root 1539 Dec 2 20:28 Makefile.regress -rwxr-xr-x 1 root root 56 Dec 2 20:28 filter-requires-perl-Pg.sh -rw-r--r-- 1 root root 1631 Dec 2 20:28 postgresql-logging.patch -rw-r--r-- 1 root root 7529 Dec 2 20:28 postgresql.init -rw-r--r-- 1 root root 85 Dec 2 20:28 postgresql-bashprofile -rw-r--r-- 1 root root 1757 Dec 2 20:28 rpm-pgsql.patch -rw-r--r-- 1 root root 15598 Dec 2 20:28 README.rpm-dist -rw-r--r-- 1 root root 2563 Dec 2 20:28 postgresql-test.patch -rw-r--r-- 1 root root 919 Dec 2 20:28 postgresql-perl-rpath.patch -rw-r--r-- 1 root root 141 Dec 2 20:28 postgresql.pam -rw-r--r-- 1 root root 12198114 Dec 6 17:18 postgresql-8.2.0-2PGDG.src.rpm Then from the SPECS directory, with the spec file that you can find attached, I launched as root : rpmbuild -ba postgresql-8.2.spec Then, as root, I changed the access to these directories : root# chmod -R a+w src/test/regress root# chmod -R a+w contrib/spi And as postgres, I launched the regression tests. root# su - postgres -bash-3.00$ gmake check The tests for create_function_1 and triggers fail... test create_function_1 ... FAILED ... ... ... triggers ... FAILED I see at http://archives.postgresql.org/pgsql-ports/2006-11/msg00011.php that this problem already appear on 64 bits but I am note sure that it is the same problem... You can find attach the files "regression.diff" and "regression.out" In the file "regression.diff", my first problem seems to be linked with the function "autoinc()" : *** ./expected/create_function_1.out Thu Dec 7 14:37:28 2006 --- ./results/create_function_1.out Thu Dec 7 14:41:21 2006 *************** *** 25,40 **** NOTICE: argument type city_budget is only a shell CREATE FUNCTION check_primary_key () RETURNS trigger ! AS '/SLONY_PGS/PostgreSQL_8.2.0/BUILD/postgresql-8.2.0/src/test/regres/../../../contrib/spi/refint.so LANGUAGE C; CREATE FUNCTION check_foreign_key () RETURNS trigger ! AS '/SLONY_PGS/PostgreSQL_8.2.0/BUILD/postgresql-8.2.0/src/test/regres/../../../contrib/spi/refint.so LANGUAGE C; CREATE FUNCTION autoinc () RETURNS trigger ! AS '/SLONY_PGS/PostgreSQL_8.2.0/BUILD/postgresql-8.2.0/src/test/regres/../../../contrib/spi/refint.so LANGUAGE C; CREATE FUNCTION funny_dup17 () RETURNS trigger AS '/SLONY_PGS/PostgreSQL_8.2.0/BUILD/postgresql-8.2.0/src/test/regress/regress.so' --- 25,41 ---- NOTICE: argument type city_budget is only a shell CREATE FUNCTION check_primary_key () RETURNS trigger ! AS '/SLONY_PGS/PostgreSQL_8.2.0/BUILD/postgresql-8.2.0/src/test/regres/../../../contrib/spi/refint.so' LANGUAGE C; CREATE FUNCTION check_foreign_key () RETURNS trigger ! AS '/SLONY_PGS/PostgreSQL_8.2.0/BUILD/postgresql-8.2.0/src/test/regres/../../../contrib/spi/refint.so' LANGUAGE C; CREATE FUNCTION autoinc () RETURNS trigger ! AS '/SLONY_PGS/PostgreSQL_8.2.0/BUILD/postgresql-8.2.0/src/test/regres/../../../contrib/spi/refint.so' LANGUAGE C; *+ ERROR: could not find function "autoinc" in file "/SLONY_PGS/PostgreSQL_8.2.0/BUILD/postgresql-8.2.0/src/test/regres/../../../contrib/spi/refint.so"* I checked the file "contrib/spi/refint.c" : it does not contain a function called autoinc... The two others errors reported in "regression.diff" are : delete from tttest where price_id = 2; select * from tttest; price_id | price_val | price_on | price_off ----------+-----------+----------+----------- ! 1 | 1 | 10 | 999999 ! 3 | 3 | 30 | 999999 ! 2 | 2 | 20 | 40 (3 rows) -- what do we see ? --- 150,175 ---- for each row execute procedure autoinc (price_on, ttdummy_seq); *+ ERROR: function autoinc() does not exist* insert into tttest values (1, 1, null); insert into tttest values (2, 2, null); insert into tttest values (3, 3, 0); select * from tttest; price_id | price_val | price_on | price_off ----------+-----------+----------+----------- ! 1 | 1 | | 999999 ! 2 | 2 | | 999999 ! 3 | 3 | 0 | 999999 (3 rows) delete from tttest where price_id = 2; *+ ERROR: ttdummy (tttest): price_on must be NOT NULL* select * from tttest; price_id | price_val | price_on | price_off ----------+-----------+----------+----------- ! 1 | 1 | | 999999 ! 2 | 2 | | 999999 ! 3 | 3 | 0 | 999999 (3 rows) -- what do we see ? Any suggestion would be appreciated... Thank you for your help. Regards, Alexandra
Hi! I think this was caused by a description mistake of "postgresql-test.patch". > '/SLONY_PGS/PostgreSQL_8.2.0/BUILD/postgresql-8.2.0/src/test/regres/../../../contrib/spi/refint.so>> LANGUAGE C;> CREATEFUNCTION check_foreign_key ()> RETURNS trigger> ! AS> '/SLONY_PGS/PostgreSQL_8.2.0/BUILD/postgresql-8.2.0/src/test/regres/../../../contrib/spi/refint.so>> LANGUAGE C;> CREATEFUNCTION autoinc ()> RETURNS trigger> ! AS> '/SLONY_PGS/PostgreSQL_8.2.0/BUILD/postgresql-8.2.0/src/test/regres/../../../contrib/spi/refint.so Single quotes (') of end of line is insufficient. > CREATE FUNCTION autoinc ()> RETURNS trigger> ! AS> '/SLONY_PGS/PostgreSQL_8.2.0/BUILD/postgresql-8.2.0/src/test/regres/../../../contrib/spi/refint.so We have to use "autoinc.so". (not "refint.so") # And You had better fix "/SLONY_PGS/PostgreSQL_8.2.0/BUILD/postgresql-8.2.0/src/test/regress/" and "/SLONY_PGS/PostgreSQL_8.2.0/BUILD/postgresql-8.2.0/src/test/regres/../../../contrib/spi/" in "/usr/lib/pgsql/test/regress/". best regards. DANTE Alexandra wrote: > Hello List, > > I have already posted an e-mail on the general mailing list but on the > advice of Devrim Gunduz ;-) , I try on this mailing list. > I try to generate the RPM from the src.rpm downloaded on the > postgresql.org web site. I work on an IA-64 server with Red Hat > Enterprise Linux 4 AS update 2. > As root, the first command I launched was : > [root@bt1 SOURCES]# rpm -i postgresql-8.2.0-2PGDG.src.rpm > [root@bt1 SOURCES]# ls -ltr ../SPECS > total 28 > -rw-r--r-- 1 root root 24840 Dec 5 06:04 postgresql-8.2.spec > [root@bt1 SOURCES]# ls -ltr > total 24176 > -rw-r--r-- 1 root root 12459207 Dec 2 20:25 postgresql-8.2.0.tar.bz2 > -rw-r--r-- 1 root root 897 Dec 2 20:28 pg_config.h > -rw-r--r-- 1 root root 1539 Dec 2 20:28 Makefile.regress > -rwxr-xr-x 1 root root 56 Dec 2 20:28 filter-requires-perl-Pg.sh > -rw-r--r-- 1 root root 1631 Dec 2 20:28 postgresql-logging.patch > -rw-r--r-- 1 root root 7529 Dec 2 20:28 postgresql.init > -rw-r--r-- 1 root root 85 Dec 2 20:28 postgresql-bashprofile > -rw-r--r-- 1 root root 1757 Dec 2 20:28 rpm-pgsql.patch > -rw-r--r-- 1 root root 15598 Dec 2 20:28 README.rpm-dist > -rw-r--r-- 1 root root 2563 Dec 2 20:28 postgresql-test.patch > -rw-r--r-- 1 root root 919 Dec 2 20:28 postgresql-perl-rpath.patch > -rw-r--r-- 1 root root 141 Dec 2 20:28 postgresql.pam > -rw-r--r-- 1 root root 12198114 Dec 6 17:18 > postgresql-8.2.0-2PGDG.src.rpm > > Then from the SPECS directory, with the spec file that you can find > attached, I launched as root : > rpmbuild -ba postgresql-8.2.spec > > Then, as root, I changed the access to these directories : > root# chmod -R a+w src/test/regress > root# chmod -R a+w contrib/spi > > And as postgres, I launched the regression tests. > root# su - postgres > -bash-3.00$ gmake check > The tests for create_function_1 and triggers fail... > test create_function_1 ... FAILED > ... ... ... > triggers ... FAILED > > I see at http://archives.postgresql.org/pgsql-ports/2006-11/msg00011.php > that this problem already appear on 64 bits but I am note sure that it > is the same problem... > > > You can find attach the files "regression.diff" and "regression.out" > In the file "regression.diff", my first problem seems to be linked with > the function "autoinc()" : > *** ./expected/create_function_1.out Thu Dec 7 14:37:28 2006 > --- ./results/create_function_1.out Thu Dec 7 14:41:21 2006 > *************** > *** 25,40 **** > NOTICE: argument type city_budget is only a shell > CREATE FUNCTION check_primary_key () > RETURNS trigger > ! AS > '/SLONY_PGS/PostgreSQL_8.2.0/BUILD/postgresql-8.2.0/src/test/regres/../../../contrib/spi/refint.so > > LANGUAGE C; > CREATE FUNCTION check_foreign_key () > RETURNS trigger > ! AS > '/SLONY_PGS/PostgreSQL_8.2.0/BUILD/postgresql-8.2.0/src/test/regres/../../../contrib/spi/refint.so > > LANGUAGE C; > CREATE FUNCTION autoinc () > RETURNS trigger > ! AS > '/SLONY_PGS/PostgreSQL_8.2.0/BUILD/postgresql-8.2.0/src/test/regres/../../../contrib/spi/refint.so > > LANGUAGE C; > CREATE FUNCTION funny_dup17 () > RETURNS trigger > AS > '/SLONY_PGS/PostgreSQL_8.2.0/BUILD/postgresql-8.2.0/src/test/regress/regress.so' > > --- 25,41 ---- > NOTICE: argument type city_budget is only a shell > CREATE FUNCTION check_primary_key () > RETURNS trigger > ! AS > '/SLONY_PGS/PostgreSQL_8.2.0/BUILD/postgresql-8.2.0/src/test/regres/../../../contrib/spi/refint.so' > > LANGUAGE C; > CREATE FUNCTION check_foreign_key () > RETURNS trigger > ! AS > '/SLONY_PGS/PostgreSQL_8.2.0/BUILD/postgresql-8.2.0/src/test/regres/../../../contrib/spi/refint.so' > > LANGUAGE C; > CREATE FUNCTION autoinc () > RETURNS trigger > ! AS > '/SLONY_PGS/PostgreSQL_8.2.0/BUILD/postgresql-8.2.0/src/test/regres/../../../contrib/spi/refint.so' > > LANGUAGE C; > *+ ERROR: could not find function "autoinc" in file > "/SLONY_PGS/PostgreSQL_8.2.0/BUILD/postgresql-8.2.0/src/test/regres/../../../contrib/spi/refint.so"* > > > I checked the file "contrib/spi/refint.c" : it does not contain a > function called autoinc... > > The two others errors reported in "regression.diff" are : > delete from tttest where price_id = 2; > select * from tttest; > price_id | price_val | price_on | price_off > ----------+-----------+----------+----------- > ! 1 | 1 | 10 | 999999 > ! 3 | 3 | 30 | 999999 > ! 2 | 2 | 20 | 40 > (3 rows) > > -- what do we see ? > --- 150,175 ---- > for each row > execute procedure > autoinc (price_on, ttdummy_seq); > *+ ERROR: function autoinc() does not exist* > insert into tttest values (1, 1, null); > insert into tttest values (2, 2, null); > insert into tttest values (3, 3, 0); > select * from tttest; > price_id | price_val | price_on | price_off > ----------+-----------+----------+----------- > ! 1 | 1 | | 999999 > ! 2 | 2 | | 999999 > ! 3 | 3 | 0 | 999999 > (3 rows) > > delete from tttest where price_id = 2; > *+ ERROR: ttdummy (tttest): price_on must be NOT NULL* > select * from tttest; > price_id | price_val | price_on | price_off > ----------+-----------+----------+----------- > ! 1 | 1 | | 999999 > ! 2 | 2 | | 999999 > ! 3 | 3 | 0 | 999999 > (3 rows) > > -- what do we see ? > > Any suggestion would be appreciated... > > Thank you for your help. > Regards, > Alexandra > > ---------------------------(end of broadcast)--------------------------- > TIP 3: Have you checked our extensive FAQ? > > http://www.postgresql.org/docs/faq > -- kasahara.tatsuhito@oss.ntt.co.jp
Hi, On Tue, 2006-12-12 at 19:57 +0900, Tatsuhito Kasahara wrote: > I think this was caused by a description mistake of > "postgresql-test.patch". Yeah, I just figured that while I was looking at what Tom did for FC-7 RPMs. I committed the new patch to CVS. Regards, -- The PostgreSQL Company - Command Prompt, Inc. 1.503.667.4564 PostgreSQL Replication, Consulting, Custom Development, 24x7 support Managed Services, Shared and Dedicated Hosting Co-Authors: plPHP, plPerlNG - http://www.commandprompt.com/
Thank you very much : it works !!!! -bash-3.00$ gmake check 2>&1 |tee traces_check8.2.0_gcc_121206_v2.log ... ... ... test create_function_1 ... ok triggers ... ok ... ... ... =======================All 103 tests passed. ======================= The problems were those you found : - I replaced AS '@abs_spidir@/refint@DLSUFFIX@' by AS '@abs_spidir@/autoinc@DLSUFFIX@' - I added ' at lines 58, 63, 68 By doing this, the regression tests are OK ! Regards, Alexandra Tatsuhito Kasahara wrote: > Hi! > > I think this was caused by a description mistake of > "postgresql-test.patch". > > > > '/SLONY_PGS/PostgreSQL_8.2.0/BUILD/postgresql-8.2.0/src/test/regres/../../../contrib/spi/refint.so > > > > > LANGUAGE C; > > CREATE FUNCTION check_foreign_key () > > RETURNS trigger > > ! AS > > > '/SLONY_PGS/PostgreSQL_8.2.0/BUILD/postgresql-8.2.0/src/test/regres/../../../contrib/spi/refint.so > > > > > LANGUAGE C; > > CREATE FUNCTION autoinc () > > RETURNS trigger > > ! AS > > > '/SLONY_PGS/PostgreSQL_8.2.0/BUILD/postgresql-8.2.0/src/test/regres/../../../contrib/spi/refint.so > > Single quotes (') of end of line is insufficient. > > > > CREATE FUNCTION autoinc () > > RETURNS trigger > > ! AS > > > '/SLONY_PGS/PostgreSQL_8.2.0/BUILD/postgresql-8.2.0/src/test/regres/../../../contrib/spi/refint.so > > We have to use "autoinc.so". (not "refint.so") > > # And You had better fix > "/SLONY_PGS/PostgreSQL_8.2.0/BUILD/postgresql-8.2.0/src/test/regress/" > and > > "/SLONY_PGS/PostgreSQL_8.2.0/BUILD/postgresql-8.2.0/src/test/regres/../../../contrib/spi/" > > in "/usr/lib/pgsql/test/regress/". > > best regards. > > DANTE Alexandra wrote: > >> Hello List, >> >> I have already posted an e-mail on the general mailing list but on >> the advice of Devrim Gunduz ;-) , I try on this mailing list. >> I try to generate the RPM from the src.rpm downloaded on the >> postgresql.org web site. I work on an IA-64 server with Red Hat >> Enterprise Linux 4 AS update 2. >> As root, the first command I launched was : >> [root@bt1 SOURCES]# rpm -i postgresql-8.2.0-2PGDG.src.rpm >> [root@bt1 SOURCES]# ls -ltr ../SPECS >> total 28 >> -rw-r--r-- 1 root root 24840 Dec 5 06:04 postgresql-8.2.spec >> [root@bt1 SOURCES]# ls -ltr >> total 24176 >> -rw-r--r-- 1 root root 12459207 Dec 2 20:25 postgresql-8.2.0.tar.bz2 >> -rw-r--r-- 1 root root 897 Dec 2 20:28 pg_config.h >> -rw-r--r-- 1 root root 1539 Dec 2 20:28 Makefile.regress >> -rwxr-xr-x 1 root root 56 Dec 2 20:28 filter-requires-perl-Pg.sh >> -rw-r--r-- 1 root root 1631 Dec 2 20:28 postgresql-logging.patch >> -rw-r--r-- 1 root root 7529 Dec 2 20:28 postgresql.init >> -rw-r--r-- 1 root root 85 Dec 2 20:28 postgresql-bashprofile >> -rw-r--r-- 1 root root 1757 Dec 2 20:28 rpm-pgsql.patch >> -rw-r--r-- 1 root root 15598 Dec 2 20:28 README.rpm-dist >> -rw-r--r-- 1 root root 2563 Dec 2 20:28 postgresql-test.patch >> -rw-r--r-- 1 root root 919 Dec 2 20:28 >> postgresql-perl-rpath.patch >> -rw-r--r-- 1 root root 141 Dec 2 20:28 postgresql.pam >> -rw-r--r-- 1 root root 12198114 Dec 6 17:18 >> postgresql-8.2.0-2PGDG.src.rpm >> >> Then from the SPECS directory, with the spec file that you can find >> attached, I launched as root : >> rpmbuild -ba postgresql-8.2.spec >> >> Then, as root, I changed the access to these directories : >> root# chmod -R a+w src/test/regress >> root# chmod -R a+w contrib/spi >> >> And as postgres, I launched the regression tests. >> root# su - postgres >> -bash-3.00$ gmake check >> The tests for create_function_1 and triggers fail... >> test create_function_1 ... FAILED >> ... ... ... >> triggers ... FAILED >> >> I see at >> http://archives.postgresql.org/pgsql-ports/2006-11/msg00011.php that >> this problem already appear on 64 bits but I am note sure that it is >> the same problem... >> >> >> You can find attach the files "regression.diff" and "regression.out" >> In the file "regression.diff", my first problem seems to be linked >> with the function "autoinc()" : >> *** ./expected/create_function_1.out Thu Dec 7 14:37:28 2006 >> --- ./results/create_function_1.out Thu Dec 7 14:41:21 2006 >> *************** >> *** 25,40 **** >> NOTICE: argument type city_budget is only a shell >> CREATE FUNCTION check_primary_key () >> RETURNS trigger >> ! AS >> '/SLONY_PGS/PostgreSQL_8.2.0/BUILD/postgresql-8.2.0/src/test/regres/../../../contrib/spi/refint.so >> >> LANGUAGE C; >> CREATE FUNCTION check_foreign_key () >> RETURNS trigger >> ! AS >> '/SLONY_PGS/PostgreSQL_8.2.0/BUILD/postgresql-8.2.0/src/test/regres/../../../contrib/spi/refint.so >> >> LANGUAGE C; >> CREATE FUNCTION autoinc () >> RETURNS trigger >> ! AS >> '/SLONY_PGS/PostgreSQL_8.2.0/BUILD/postgresql-8.2.0/src/test/regres/../../../contrib/spi/refint.so >> >> LANGUAGE C; >> CREATE FUNCTION funny_dup17 () >> RETURNS trigger >> AS >> '/SLONY_PGS/PostgreSQL_8.2.0/BUILD/postgresql-8.2.0/src/test/regress/regress.so' >> >> --- 25,41 ---- >> NOTICE: argument type city_budget is only a shell >> CREATE FUNCTION check_primary_key () >> RETURNS trigger >> ! AS >> '/SLONY_PGS/PostgreSQL_8.2.0/BUILD/postgresql-8.2.0/src/test/regres/../../../contrib/spi/refint.so' >> >> LANGUAGE C; >> CREATE FUNCTION check_foreign_key () >> RETURNS trigger >> ! AS >> '/SLONY_PGS/PostgreSQL_8.2.0/BUILD/postgresql-8.2.0/src/test/regres/../../../contrib/spi/refint.so' >> >> LANGUAGE C; >> CREATE FUNCTION autoinc () >> RETURNS trigger >> ! AS >> '/SLONY_PGS/PostgreSQL_8.2.0/BUILD/postgresql-8.2.0/src/test/regres/../../../contrib/spi/refint.so' >> >> LANGUAGE C; >> *+ ERROR: could not find function "autoinc" in file >> "/SLONY_PGS/PostgreSQL_8.2.0/BUILD/postgresql-8.2.0/src/test/regres/../../../contrib/spi/refint.so"* >> >> >> I checked the file "contrib/spi/refint.c" : it does not contain a >> function called autoinc... >> >> The two others errors reported in "regression.diff" are : >> delete from tttest where price_id = 2; >> select * from tttest; >> price_id | price_val | price_on | price_off >> ----------+-----------+----------+----------- >> ! 1 | 1 | 10 | 999999 >> ! 3 | 3 | 30 | 999999 >> ! 2 | 2 | 20 | 40 >> (3 rows) >> >> -- what do we see ? >> --- 150,175 ---- >> for each row >> execute procedure >> autoinc (price_on, ttdummy_seq); >> *+ ERROR: function autoinc() does not exist* >> insert into tttest values (1, 1, null); >> insert into tttest values (2, 2, null); >> insert into tttest values (3, 3, 0); >> select * from tttest; >> price_id | price_val | price_on | price_off >> ----------+-----------+----------+----------- >> ! 1 | 1 | | 999999 >> ! 2 | 2 | | 999999 >> ! 3 | 3 | 0 | 999999 >> (3 rows) >> >> delete from tttest where price_id = 2; >> *+ ERROR: ttdummy (tttest): price_on must be NOT NULL* >> select * from tttest; >> price_id | price_val | price_on | price_off >> ----------+-----------+----------+----------- >> ! 1 | 1 | | 999999 >> ! 2 | 2 | | 999999 >> ! 3 | 3 | 0 | 999999 >> (3 rows) >> >> -- what do we see ? >> >> Any suggestion would be appreciated... >> >> Thank you for your help. >> Regards, >> Alexandra >> >> ---------------------------(end of broadcast)--------------------------- >> TIP 3: Have you checked our extensive FAQ? >> >> http://www.postgresql.org/docs/faq >> > >