Re: 7.2 is slow? [compile problem]

From: "Christopher Kings-Lynne" <chriskl(at)familyhealth(dot)com(dot)au>
To: "Ashley Cambrell" <ash(at)freaky-namuh(dot)com>, "Tom Lane" <tgl(at)sss(dot)pgh(dot)pa(dot)us>
Cc: <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: 7.2 is slow? [compile problem]
Date: 2001-12-20 02:02:42
Message-ID: GNELIHDDFBOCMGBFGEFOMEOACAAA.chriskl@familyhealth.com.au
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

I just got the same problem on latest CVS on freebsd/i386

gmake[4]: Entering directory `/home/chriskl/pgsql/src/backend/utils/time'
gcc -pipe -O2 -Wall -Wmissing-prototypes -Wmissing-declarations -I../../../.
./src/include -c -o tqual.o tqual.c
/usr/libexec/elf/ld -r -o SUBSYS.o tqual.o
gmake[4]: Leaving directory `/home/chriskl/pgsql/src/backend/utils/time'
/usr/libexec/elf/ld -r -o SUBSYS.o fmgrtab.o adt/SUBSYS.o cache/SUBSYS.o
error/SUBSYS.o fmgr/SUBSYS.o hash/SUBSYS.o init/SUBSYS.o misc/SUBS
YS.o mmgr/SUBSYS.o sort/SUBSYS.o time/SUBSYS.o
gmake[3]: Leaving directory `/home/chriskl/pgsql/src/backend/utils'
gcc -pipe -O2 -Wall -Wmissing-prototypes -Wmissing-declarations -R/home/chr
iskl/local/lib -export-dynamic access/SUBSYS.o bootstrap/SUBSYS
.o catalog/SUBSYS.o parser/SUBSYS.o commands/SUBSYS.o executor/SUBSYS.o
lib/SUBSYS.o libpq/SUBSYS.o main/SUBSYS.o nodes/SUBSYS.o optimizer/
SUBSYS.o port/SUBSYS.o postmaster/SUBSYS.o regex/SUBSYS.o rewrite/SUBSYS.o
storage/SUBSYS.o tcop/SUBSYS.o utils/SUBSYS.o -lz -lcrypt -lcomp
at -lm -lutil -lreadline -o postgres
nodes/SUBSYS.o: In function `pprint':
nodes/SUBSYS.o(.text+0xda71): undefined reference to `MIN'
nodes/SUBSYS.o(.text+0xdade): undefined reference to `MIN'
gmake[2]: *** [postgres] Error 1
gmake[2]: Leaving directory `/home/chriskl/pgsql/src/backend'
gmake[1]: *** [all] Error 2
gmake[1]: Leaving directory `/home/chriskl/pgsql/src'
gmake: *** [all] Error 2

Chris

> -----Original Message-----
> From: pgsql-hackers-owner(at)postgresql(dot)org
> [mailto:pgsql-hackers-owner(at)postgresql(dot)org]On Behalf Of Ashley Cambrell
> Sent: Thursday, 20 December 2001 8:51 AM
> To: Tom Lane
> Cc: pgsql-hackers(at)postgresql(dot)org
> Subject: Re: [HACKERS] 7.2 is slow? [compile problem]
>
>
> I haven't actually tried to compile 7.2 from the CVS, but there seems to
> be a problem? [maybe on my side]
>
> make[3]: Leaving directory
> `/home/ash/ash-server/Work/build/pgsql/src/backend/utils'
> gcc -O2 -Wall -Wmissing-prototypes -Wmissing-declarations
> -Wl,-rpath,/tmp//lib -export-dynamic access/SUBSYS.o bootstrap/SUBSYS.o
> catalog/SUBSYS.o parser/SUBSYS.o commands/SUBSYS.o executor/SUBSYS.o
> lib/SUBSYS.o libpq/SUBSYS.o main/SUBSYS.o nodes/SUBSYS.o
> optimizer/SUBSYS.o port/SUBSYS.o postmaster/SUBSYS.o regex/SUBSYS.o
> rewrite/SUBSYS.o storage/SUBSYS.o tcop/SUBSYS.o utils/SUBSYS.o -lz
> -lcrypt -lresolv -lnsl -ldl -lm -lreadline -o postgres
> nodes/SUBSYS.o: In function `pprint':
> nodes/SUBSYS.o(.text+0xdc95): undefined reference to `MIN'
> nodes/SUBSYS.o(.text+0xdcfd): undefined reference to `MIN'
> collect2: ld returned 1 exit status
> make[2]: *** [postgres] Error 1
> make[2]: Leaving directory
> `/home/ash/ash-server/Work/build/pgsql/src/backend'
> make[1]: *** [all] Error 2
> make[1]: Leaving directory `/home/ash/ash-server/Work/build/pgsql/src'
> make: *** [all] Error 2
>
> In ./src/backend/nodes/print.c:
>
> /* outdent */
> if (indentLev > 0)
> {
> indentLev--;
> indentDist = MIN(indentLev * INDENTSTOP, MAXINDENT);
> }
>
>
> If I add
> #ifndef MIN
> #define MIN(a,b) (((a)<(b)) ? (a) : (b))
> #endif
> to print.c it compiles fine.
>
> Ashley Cambrell
>
>
> <snip>
>
> >
> >That's annoying. The LWLock changes were intended to solve the
> >inefficiency with multiple CPUs, but it seems like we still have a
> >problem somewhere.
> >
> >Could you recompile the backend with profiling enabled and try to get
> >a profile from your test case? To build a profilable backend, it's
> >sufficient to do
> >
> > cd .../src/backend
> > gmake clean
> > gmake PROFILE=-pg all
> > gmake install-bin
> >
> >(assuming you are using gcc). Then restart the postmaster, and you
> >should notice "gmon.out" files being dropped into the various database
> >subdirectories anytime a backend exits. Next run your test case,
> >and as soon as it finishes copy the gmon.out file to a safe place.
> >(You'll only be able to get the profile from the last process to exit,
> >so try to make sure that this is representative. Might be worth
> >repeating the test a few times to make sure that the results don't
> >vary a whole lot.) Finally, do
> >
> > gprof .../bin/postgres gmon.out >resultfile
> >
> >to produce a legible result.
> >
> >Oh, one more thing: on Linuxen you are likely to find that all the
> >reported routine runtimes are zero, rendering the results useless.
> >Apply the attached patch (for 7.2beta) to fix this.
> >
> > regards, tom lane
> >
> >*** src/backend/postmaster/postmaster.c.orig Wed Dec 12 14:52:03 2001
> >--- src/backend/postmaster/postmaster.c Mon Dec 17 19:38:29 2001
> >***************
> >*** 1823,1828 ****
> >--- 1823,1829 ----
> > {
> > Backend *bn; /* for backend cleanup */
> > pid_t pid;
> >+ struct itimerval svitimer;
> >
> > /*
> > * Compute the cancel key that will be assigned to this backend. The
> >***************
> >*** 1858,1869 ****
> >--- 1859,1874 ----
> > beos_before_backend_startup();
> > #endif
> >
> >+ getitimer(ITIMER_PROF, &svitimer);
> >+
> > pid = fork();
> >
> > if (pid == 0) /* child */
> > {
> > int status;
> >
> >+ setitimer(ITIMER_PROF, &svitimer, NULL);
> >+
> > free(bn);
> > #ifdef __BEOS__
> > /* Specific beos backend startup actions */
> >
> >---------------------------(end of broadcast)---------------------------
> >TIP 5: Have you checked our extensive FAQ?
> >
> >http://www.postgresql.org/users-lounge/docs/faq.html
> >
>
>
>
>
> ---------------------------(end of broadcast)---------------------------
> TIP 4: Don't 'kill -9' the postmaster
>

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Bruce Momjian 2001-12-20 02:40:09 Re: 7.2 is slow? [compile problem]
Previous Message Tatsuo Ishii 2001-12-20 01:45:53 Re: SunOS patch for memcmp()