Обсуждение: 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