Обсуждение: v6.4-BETA3 problems with FreeBSD
Hello! I tried postgresql.v6.4-BETA3 and found some problems especially with FreeBSD. The following is my environment:FreeBSD 2.2.7-RELEASEGNU Make version 3.76.1, by Richard Stallman and Roland McGrath.gccversion 2.7.2.1GNU Bison version 1.25flex version 2.5.4 * makefiles/Makefile.freebsdIt should have "-Bforcearchive" option just like asmakefiles/Makefile.bsd (and it used to be).Withoutit, I got such errors in test/regress/results/misc.out. ======================================================================== ERROR: Can't find function reverse_name in file /usr/local/src/postgresql.v6.4-BETA3/pgsql/src/test/regress/input/../regress.so ======================================================================== # And the original Makefile.freebsd does not seem to work# as you intended. As `\' overrides `#', the last 2 lines# arecommented out together. * Makefile.shlibFreeBSD is not supported.So no shared library for plpgsql is installed and regressiontest for it fails. ======================================================================== gmake -C src install gmake[3]: Entering directory `/usr/local/src/postgresql.v6.4-BETA3/pgsql/src/pl/ plpgsql/src' /usr/bin/install -c -m 644 /usr/local/pgsql/lib/plpgsql.so usage: install [-CcDps] [-f flags] [-g group] [-m mode] [-o owner] file1 file2 install [-CcDps] [-f flags] [-g group][-m mode] [-o owner] file1 ... fileN directory install -d [-g group] [-m mode] [-o owner] directory... gmake[3]: *** [install] Error 64 ======================================================================== And no shared libraries for libecpg, libpq++ and libpq.aare made and installed. * pg_dumpallPg_dumpall command outputs "create database" statement such as: ======================================================================== create database with encoding='EUC_JP' DBNAME; ========================================================================But it should be: ======================================================================== create database DBNAME with encoding='EUC_JP'; ======================================================================== Regards -- ASCII CORPORATION Technical Center SHIOZAKI Takehiko <takehi-s@ascii.co.jp>
On Fri, 30 Oct 1998, SHIOZAKI Takehiko wrote: > Hello! > > I tried postgresql.v6.4-BETA3 and found some problems especially > with FreeBSD. > The following is my environment: > FreeBSD 2.2.7-RELEASE > GNU Make version 3.76.1, by Richard Stallman and Roland McGrath. > gcc version 2.7.2.1 > GNU Bison version 1.25 > flex version 2.5.4 > > * makefiles/Makefile.freebsd > It should have "-Bforcearchive" option just like as > makefiles/Makefile.bsd (and it used to be). > Without it, I got such errors in test/regress/results/misc.out. Under ELF, this does not work, so adding it back in "as is" isn't an option. Let me see if I can come up with something here that works... Marc G. Fournier Systems Administrator @ hub.org primary: scrappy@hub.org secondary: scrappy@{freebsd|postgresql}.org
>> I tried postgresql.v6.4-BETA3 and found some problems especially >> with FreeBSD. >> The following is my environment: >> FreeBSD 2.2.7-RELEASE >> GNU Make version 3.76.1, by Richard Stallman and Roland McGrath. >> gcc version 2.7.2.1 >> GNU Bison version 1.25 >> flex version 2.5.4 >> >> * makefiles/Makefile.freebsd >> It should have "-Bforcearchive" option just like as >> makefiles/Makefile.bsd (and it used to be). >> Without it, I got such errors in test/regress/results/misc.out. > > Under ELF, this does not work, so adding it back in "as is" isn't >an option. Let me see if I can come up with something here that works... Maybe we should have separate makefile/Makefiles.whatever for FreeBSD 3.x and 2.2.x ? -- Tatsuo Ishii t-ishii@sra.co.jp
On Fri, 30 Oct 1998, Tatsuo Ishii wrote: > >> I tried postgresql.v6.4-BETA3 and found some problems especially > >> with FreeBSD. > >> The following is my environment: > >> FreeBSD 2.2.7-RELEASE > >> GNU Make version 3.76.1, by Richard Stallman and Roland McGrath. > >> gcc version 2.7.2.1 > >> GNU Bison version 1.25 > >> flex version 2.5.4 > >> > >> * makefiles/Makefile.freebsd > >> It should have "-Bforcearchive" option just like as > >> makefiles/Makefile.bsd (and it used to be). > >> Without it, I got such errors in test/regress/results/misc.out. > > > > Under ELF, this does not work, so adding it back in "as is" isn't > >an option. Let me see if I can come up with something here that works... > > Maybe we should have separate makefile/Makefiles.whatever for FreeBSD > 3.x and 2.2.x ? Ewww... Waht does tools/ccsym show for you? I'm guessing, but you don't have a __ELF__ defined, correct? Marc G. Fournier Systems Administrator @ hub.org primary: scrappy@hub.org secondary: scrappy@{freebsd|postgresql}.org
>> Maybe we should have separate makefile/Makefiles.whatever for FreeBSD >> 3.x and 2.2.x ? > > Ewww... > > Waht does tools/ccsym show for you? I'm guessing, but you don't >have a __ELF__ defined, correct? Right. -- Tatsuo Ishii t-ishii@sra.co.jp
On Fri, 30 Oct 1998, Tatsuo Ishii wrote: > >> Maybe we should have separate makefile/Makefiles.whatever for FreeBSD > >> 3.x and 2.2.x ? > > > > Ewww... > > > > Waht does tools/ccsym show for you? I'm guessing, but you don't > >have a __ELF__ defined, correct? > > Right. And you don't have a /usr/include/elf.h, correct? almost fixed, just want to confirm my assumptions are correct, that is all :) Marc G. Fournier Systems Administrator @ hub.org primary: scrappy@hub.org secondary: scrappy@{freebsd|postgresql}.org
> And you don't have a /usr/include/elf.h, correct? almost fixed, >just want to confirm my assumptions are correct, that is all :) We have /usr/include/elf.h (FreeBSD 2.2.6-RELEASE). What about yours, Takehiko? -- Tatsuo Ishii t-ishii@sra.co.jp
On Fri, 30 Oct 1998, Tatsuo Ishii wrote: > > And you don't have a /usr/include/elf.h, correct? almost fixed, > >just want to confirm my assumptions are correct, that is all :) > > We have /usr/include/elf.h (FreeBSD 2.2.6-RELEASE). What about yours, Oh, shit, there goes that idea :( Hrmmm...back to the drawing board :) Marc G. Fournier Systems Administrator @ hub.org primary: scrappy@hub.org secondary: scrappy@{freebsd|postgresql}.org
[On Oct 30, Tatsuo Ishii <t-ishii@sra.co.jp> writes:] > >We have /usr/include/elf.h (FreeBSD 2.2.6-RELEASE). What about yours, >Takehiko? I also have /usr/include/elf.h in FreeBSD 2.2.7-RELEASE with RCS header:$Id: elf.h,v 1.1.2.1 1998/01/27 16:23:39 jdp Exp$ And I don't have it in FreeBSD 2.2.5-RELEASE. -- $B$?$@$7!";d$O<*I!0v9"$,<e$$$N$G!"2q5D$O6X1l$K$7$F$/$@$5$$!#(B -- $B1v:j(B $B5#I'(B(SHIOZAKI Takehiko) <takehi-s@ascii.co.jp> Technical Center, ASCII CORPORATION
SHIOZAKI Takehiko <takehi-s@ascii.co.jp> writes: > * Makefile.shlib > FreeBSD is not supported. Can you provide an appropriate entry to add to Makefile.shlib for FreeBSD? It's probably much like one of the existing entries... > gmake[3]: Entering directory `/usr/local/src/postgresql.v6.4-BETA3/pgsql/src/pl/ > plpgsql/src' > /usr/bin/install -c -m 644 /usr/local/pgsql/lib/plpgsql.so > usage: install [-CcDps] [-f flags] [-g group] [-m mode] [-o owner] file1 file2 > install [-CcDps] [-f flags] [-g group] [-m mode] [-o owner] file1 ... > fileN directory > install -d [-g group] [-m mode] [-o owner] directory ... > gmake[3]: *** [install] Error 64 Oops. The plpgsql Makefile should exit a little more gracefully on a system not supported by Makefile.shlib. I'll do something about that tomorrow. regards, tom lane
The Hermit Hacker <scrappy@hub.org> writes: > On Fri, 30 Oct 1998, SHIOZAKI Takehiko wrote: >> * makefiles/Makefile.freebsd >> It should have "-Bforcearchive" option just like as >> makefiles/Makefile.bsd (and it used to be). > Under ELF, this does not work, so adding it back in "as is" isn't > an option. Let me see if I can come up with something here that works... Can we teach configure how to tell the difference between ELF and pre-ELF BSD? regards, tom lane
On Thu, 29 Oct 1998, Tom Lane wrote: > The Hermit Hacker <scrappy@hub.org> writes: > > On Fri, 30 Oct 1998, SHIOZAKI Takehiko wrote: > >> * makefiles/Makefile.freebsd > >> It should have "-Bforcearchive" option just like as > >> makefiles/Makefile.bsd (and it used to be). > > > Under ELF, this does not work, so adding it back in "as is" isn't > > an option. Let me see if I can come up with something here that works... > > Can we teach configure how to tell the difference between > ELF and pre-ELF BSD? Working on it now...:) Its not a "nice fix", but it will get us through the release. Marc G. Fournier Systems Administrator @ hub.org primary: scrappy@hub.org secondary: scrappy@{freebsd|postgresql}.org
> > * makefiles/Makefile.freebsd > > It should have "-Bforcearchive" option just like as > > makefiles/Makefile.bsd (and it used to be). > > Without it, I got such errors in test/regress/results/misc.out. > > Under ELF, this does not work, so adding it back in "as is" isn't > an option. Let me see if I can come up with something here that works... Take a look at bsd 4.0. I had to do the same thing. I defined a new template file, and changed the DLSUFFIX, and checked that in Makefile.shlib. -- Bruce Momjian | http://www.op.net/~candle maillist@candle.pha.pa.us | (610) 853-3000+ If your life is a hard drive, | 830 Blythe Avenue + Christ can be your backup. | Drexel Hill, Pennsylvania19026
[On Oct 29, Tom Lane <tgl@sss.pgh.pa.us> writes:] > >Can you provide an appropriate entry to add to Makefile.shlib for >FreeBSD? It's probably much like one of the existing entries... O.K. I tried snapshot(Oct30) and made some patches. # I think that it is confused to manage both Makefile.shlib and # makefiles/Makefile.*, don't you? * configureNow FreeBSD 2.X is not supported..., so I added its entry.If ELF_SYSTEM is set, gmake treat it defined even thoughitis "false". So nothing should be set to use "ifdef".BSD_SHLIB etc. may have same problems. * Makefile.shlibAs you said, FreeBSD entry is much like BSD's.I only added ELF_SYSTEM code. * makefiles/Makefile.freebsdIfdef/else/endif can not be indented with TABs. ======================================================================== *** configure.in.orig Fri Oct 30 17:00:20 1998 --- configure.in Sat Oct 31 10:07:38 1998 *************** *** 17,23 **** linux*) os=linux need_tas=no ;; bsdi*) os=bsdi need_tas=no ;; freebsd3*) os=freebsd need_tas=no elf=yes;; ! freebsd1*) os=freebsd need_tas=no ;; netbsd*|openbsd*) os=bsd need_tas=no ;; dgux*) os=dgux need_tas=no ;; aix*) os=aix need_tas=no ;; --- 17,23 ---- linux*) os=linux need_tas=no ;; bsdi*) os=bsdi need_tas=no ;; freebsd3*) os=freebsd need_tas=no elf=yes;; ! freebsd[12]*) os=freebsd need_tas=no ;; netbsd*|openbsd*) os=bsd need_tas=no ;; dgux*) os=dgux need_tas=no ;; aix*) os=aix need_tas=no ;; *************** *** 52,58 **** then ELF_SYS=true else ! ELF_SYS=false fi if test "X$need_tas" = "Xyes" --- 52,58 ---- then ELF_SYS=true else ! ELF_SYS= fi if test "X$need_tas" = "Xyes" *** configure.orig Fri Oct 30 17:00:20 1998 --- configure Sat Oct 31 10:07:00 1998 *************** *** 617,623 **** linux*) os=linux need_tas=no ;; bsdi*) os=bsdi need_tas=no ;; freebsd3*) os=freebsd need_tas=noelf=yes ;; ! freebsd1*) os=freebsd need_tas=no ;; netbsd*|openbsd*) os=bsd need_tas=no ;; dgux*) os=dgux need_tas=no ;; aix*) os=aix need_tas=no ;; --- 617,623 ---- linux*) os=linux need_tas=no ;; bsdi*) os=bsdi need_tas=no ;; freebsd3*) os=freebsd need_tas=noelf=yes ;; ! freebsd[12]*) os=freebsd need_tas=no ;; netbsd*|openbsd*) os=bsd need_tas=no ;; dgux*) os=dgux need_tas=no ;; aix*) os=aix need_tas=no ;; *************** *** 652,658 **** then ELF_SYS=true else ! ELF_SYS=false fi if test "X$need_tas" = "Xyes" --- 652,658 ---- then ELF_SYS=true else ! ELF_SYS= fi if test "X$need_tas" = "Xyes" *** Makefile.shlib.orig Sat Oct 31 10:12:32 1998 --- Makefile.shlib Sat Oct 31 10:14:47 1998 *************** *** 56,61 **** --- 56,74 ---- # Makefile.global (or really Makefile.port) to supply DLSUFFIX and other # symbols. + ifeq ($(PORTNAME), freebsd) + ifdef BSD_SHLIB + install-shlib-dep := install-shlib + shlib := lib$(NAME)$(DLSUFFIX).$(SO_MAJOR_VERSION).$(SO_MINOR_VERSION) + ifdef ELF_SYSTEM + LDFLAGS_SL := -x -Bshareable + else + LDFLAGS_SL := -x -Bshareable -Bforcearchive + endif + CFLAGS += $(CFLAGS_SL) + endif + endif + ifeq ($(PORTNAME), bsd) ifdef BSD_SHLIB install-shlib-dep := install-shlib *** makefiles/Makefile.freebsd.orig Sat Oct 31 09:13:20 1998 --- makefiles/Makefile.freebsd Sat Oct 31 09:13:45 1998 *************** *** 5,13 **** @${AR} cq $@.pic `lorder $<.obj | tsort` ${RANLIB} $@.pic @rm -f $@ ! ifdef ELF_SYSTEM ! $(LD) -x -Bshareable -o $@ $@.pic ! else ! $(LD) -x -Bshareable -Bforcearchive -o $@ $@.pic ! endif --- 5,13 ---- @${AR} cq $@.pic `lorder $<.obj | tsort` ${RANLIB} $@.pic @rm -f $@ ! ifdef ELF_SYSTEM ! $(LD) -x -Bshareable -o $@ $@.pic ! else ! $(LD) -x -Bshareable -Bforcearchive -o $@ $@.pic ! endif ======================================================================== -- ASCII CORPORATION Technical Center SHIOZAKI Takehiko <takehi-s@ascii.co.jp>
On Sat, 31 Oct 1998, SHIOZAKI Takehiko wrote: > [On Oct 29, Tom Lane <tgl@sss.pgh.pa.us> writes:] > > > >Can you provide an appropriate entry to add to Makefile.shlib for > >FreeBSD? It's probably much like one of the existing entries... > > O.K. > I tried snapshot(Oct30) and made some patches. > # I think that it is confused to manage both Makefile.shlib and > # makefiles/Makefile.*, don't you? Something ot look at for v6.5 .. right now, it works as is :) > * configure > Now FreeBSD 2.X is not supported..., so I added its entry. > If ELF_SYSTEM is set, gmake treat it defined even though > it is "false". So nothing should be set to use "ifdef". > BSD_SHLIB etc. may have same problems. My oops, actually...I meant to put 'freebsd2*', not 'freebsd1*' :) I put in yours though, anyway... Marc G. Fournier Systems Administrator @ hub.org primary: scrappy@hub.org secondary: scrappy@{freebsd|postgresql}.org
[On Oct 31, The Hermit Hacker <scrappy@hub.org> writes:] > > My oops, actually...I meant to put 'freebsd2*', not 'freebsd1*' :) >I put in yours though, anyway... BETA5 stll needs the following small patch for FreeBSD 2.X. # And my patch for nbtsearch.c is not applied yet. Was it wrong? ======================================================================== *** configure.orig Fri Oct 30 17:00:20 1998 --- configure Sat Oct 31 10:07:00 1998 *************** *** 617,623 **** linux*) os=linux need_tas=no ;; bsdi*) os=bsdi need_tas=no ;; freebsd3*) os=freebsd need_tas=noelf=yes ;; ! freebsd12*) os=freebsd need_tas=no ;; netbsd*|openbsd*) os=bsd need_tas=no ;; dgux*) os=dgux need_tas=no ;; aix*) os=aix need_tas=no ;; --- 617,623 ---- linux*) os=linux need_tas=no ;; bsdi*) os=bsdi need_tas=no ;; freebsd3*) os=freebsd need_tas=noelf=yes ;; ! freebsd[12]*) os=freebsd need_tas=no ;; netbsd*|openbsd*) os=bsd need_tas=no ;; dgux*) os=dgux need_tas=no ;; aix*) os=aix need_tas=no ;; *** makefiles/Makefile.freebsd.orig Mon Nov 2 11:38:01 1998 --- makefiles/Makefile.freebsd Mon Nov 2 11:38:08 1998 *************** *** 8,13 **** ifdef ELF_SYSTEM $(LD) -x -Bshareable -o $@ $@.pic else ! $(LD) -x -Bshareable -Bforcearchive -o $@ $@.pic endif --- 8,13 ---- ifdef ELF_SYSTEM $(LD) -x -Bshareable -o $@ $@.pic else ! $(LD) -x -Bshareable -Bforcearchive -o $@ $@.pic endif ======================================================================== -- ASCII CORPORATION Technical Center SHIOZAKI Takehiko <takehi-s@ascii.co.jp>
On Mon, 2 Nov 1998, SHIOZAKI Takehiko wrote: > [On Oct 31, The Hermit Hacker <scrappy@hub.org> writes:] > > > > My oops, actually...I meant to put 'freebsd2*', not 'freebsd1*' :) > >I put in yours though, anyway... > > BETA5 stll needs the following small patch for FreeBSD 2.X. Modifying configure directly isn't accetable, as it will change again once autoconf is run. Should have been written as: freebsd1*|freebsd2*) ... :( Second patch applied... > # And my patch for nbtsearch.c is not applied yet. Was it wrong? Did I miss something? Marc G. Fournier Systems Administrator @ hub.org primary: scrappy@hub.org secondary: scrappy@{freebsd|postgresql}.org
[On Nov 2, The Hermit Hacker <scrappy@hub.org> writes:] > >> # And my patch for nbtsearch.c is not applied yet. Was it wrong? > > Did I miss something? Please make sure whether this is correct. http://www.PostgreSQL.ORG/mhonarc/pgsql-hackers/1998-10/msg01135.html -- ASCII CORPORATION Technical Center SHIOZAKI Takehiko <takehi-s@ascii.co.jp>
On Mon, 2 Nov 1998, SHIOZAKI Takehiko wrote: > [On Nov 2, The Hermit Hacker <scrappy@hub.org> writes:] > > > >> # And my patch for nbtsearch.c is not applied yet. Was it wrong? > > > > Did I miss something? > > Please make sure whether this is correct. > http://www.PostgreSQL.ORG/mhonarc/pgsql-hackers/1998-10/msg01135.html Bruce, can you check that one. Basically, we try and pass: rel->rd_rel->relname instead of rel->rd_rel->relname.data around line 217 (elog(...)) in nbtsearch.c ... Marc G. Fournier Systems Administrator @ hub.org primary: scrappy@hub.org secondary: scrappy@{freebsd|postgresql}.org
> On Mon, 2 Nov 1998, SHIOZAKI Takehiko wrote: > > > [On Nov 2, The Hermit Hacker <scrappy@hub.org> writes:] > > > > > >> # And my patch for nbtsearch.c is not applied yet. Was it wrong? > > > > > > Did I miss something? > > > > Please make sure whether this is correct. > > http://www.PostgreSQL.ORG/mhonarc/pgsql-hackers/1998-10/msg01135.html > > Bruce, can you check that one. Basically, we try and pass: > > rel->rd_rel->relname > > instead of > > rel->rd_rel->relname.data > > around line 217 (elog(...)) in nbtsearch.c ... Oh, I see the problem now. Originally, I thought it was just a question of style, but now I see that the whole structure is being passed to elog(), rather than the character pointer. Patch applied. -- Bruce Momjian | http://www.op.net/~candle maillist@candle.pha.pa.us | (610) 853-3000+ If your life is a hard drive, | 830 Blythe Avenue + Christ can be your backup. | Drexel Hill, Pennsylvania19026