Thread: Re: [COMMITTERS] pgsql: Move test_fsync to /contrib.
On 01/21/2011 12:48 PM, Bruce Momjian wrote: > Move test_fsync to /contrib. > > This appears to have broken Solaris, Unixware and MSVC builds. Here's the error on Solaris: gmake[1]: Entering directory `/export/home/dpage/pgbuildfarm/moa/HEAD/pgsql.4167/contrib/pg_test_fsync' cc -Xa -m64 -xarch=native -xdepend -xO3 -xprefetch=auto,explicit -g -I. -I. -I../../src/include -c -o pg_test_fsync.o pg_test_fsync.c cc -Xa -m64 -xarch=native -xdepend -xO3 -xprefetch=auto,explicit -g pg_test_fsync.o -L../../src/port -Wl,-R'/export/home/dpage/pgbuildfarm/moa/HEAD/inst/lib' -lpgport -lpam -lgss -lz -lnsl -lsocket -lm -o pg_test_fsync Undefined first referenced symbol in file CurrentMemoryContext pg_test_fsync.o ld: fatal: Symbol referencing errors. No output written to pg_test_fsync Why does pg_test_fsync.c include postgres.h? Shouldn't it use postgres_fe.h? cheers andrew
Andrew Dunstan <andrew@dunslane.net> writes: > Why does pg_test_fsync.c include postgres.h? Shouldn't it use postgres_fe.h? I had tried that, actually, but it fails because the other include files test_fsync needs are backend-specific. We may have to refactor those include files so that the stuff test_fsync actually needs is includable with less context required. I thought I'd wait on that project till we had a full cycle from the buildfarm and could see what other portability issues surface. regards, tom lane
Andrew Dunstan <andrew@dunslane.net> writes: > This appears to have broken Solaris, Unixware and MSVC builds. BTW, the MSVC problem appears to stem from failure to include libpgport when linking pg_test_fsync. I imagine this requires a fix in the MSVC build scripts. regards, tom lane
On Sat, Jan 22, 2011 at 18:12, Tom Lane <tgl@sss.pgh.pa.us> wrote: > Andrew Dunstan <andrew@dunslane.net> writes: >> This appears to have broken Solaris, Unixware and MSVC builds. > > BTW, the MSVC problem appears to stem from failure to include libpgport > when linking pg_test_fsync. I imagine this requires a fix in the MSVC > build scripts. Yup, fixed and pushed. I still get: pg_test_fsync.c 1>.\contrib\pg_test_fsync\pg_test_fsync.c(398) : warning C4101: 'ops' : unreferenced local variable 1>.\contrib\pg_test_fsync\pg_test_fsync.c(398) : warning C4101: 'writes' : unreferenced local variable 1>.\contrib\pg_test_fsync\pg_test_fsync.c(398) : warning C4101: 'tmpfile' : unreferenced local variable ISTM that the declaration of variables should be moved inside the #ifdef, no? -- Magnus Hagander Me: http://www.hagander.net/ Work: http://www.redpill-linpro.com/
Magnus Hagander <magnus@hagander.net> writes: > I still get: > pg_test_fsync.c > 1>.\contrib\pg_test_fsync\pg_test_fsync.c(398) : warning C4101: 'ops' > : unreferenced local variable > 1>.\contrib\pg_test_fsync\pg_test_fsync.c(398) : warning C4101: > 'writes' : unreferenced local variable > 1>.\contrib\pg_test_fsync\pg_test_fsync.c(398) : warning C4101: > 'tmpfile' : unreferenced local variable > ISTM that the declaration of variables should be moved inside the #ifdef, no? Yeah, I independently came to the same conclusion ... regards, tom lane
I wrote: > Andrew Dunstan <andrew@dunslane.net> writes: >> Why does pg_test_fsync.c include postgres.h? Shouldn't it use postgres_fe.h? > I had tried that, actually, but it fails because the other include files > test_fsync needs are backend-specific. We may have to refactor those > include files so that the stuff test_fsync actually needs is includable > with less context required. On closer inspection, test_fsync doesn't even need the include files that caused the problem. I think my latest commit will fix everything. regards, tom lane