On 2013-06-24 06:44:53 -0700, Kevin Grittner wrote:
> Andres Freund <andres@2ndquadrant.com> wrote:
> > On 2013-06-23 08:27:32 -0700, Kevin Grittner wrote:
>
> >> make maintainer-clean ; ./configure --prefix=$PWD/Debug --enable-debug
> >> --enable-cassert --enable-depend --with-libxml --with-libxslt --with-openssl
> >> --with-perl --with-python && make -j4 world
>
> >> [ build failure referencing pg_receivellog.o ]
>
> > I have seen that once as well. It's really rather strange since
> > pg_receivellog.o is a clear prerequisite for pg_receivellog. I couldn't
> > reproduce it reliably though, even after doing some dozen rebuilds or so.
> >
> >> It works with this patch-on-patch:
>
> >> clean distclean maintainer-clean:
> >> - rm -f pg_basebackup$(X) pg_receivexlog$(X) $(OBJS) pg_basebackup.o
> >> pg_receivexlog.o pg_receivellog.o
> >> + rm -f pg_basebackup$(X) pg_receivexlog$(X) pg_receivellog$(X) $(OBJS)
> >> pg_basebackup.o pg_receivexlog.o pg_receivellog.o
>
> >> > + rm -f '$(DESTDIR)$(bindir)/pg_receivellog$(X)'
> >> Oops. That part is not needed.
> >
> > Hm. Why not?
>
> Well, I could easily be wrong on just about anything to do with
> make files, but on a second look that appeared to be dealing with
> eliminating an installed pg_receivellog binary, which is not
> created.
I think it actually is?
install: all installdirs$(INSTALL_PROGRAM) pg_basebackup$(X) '$(DESTDIR)$(bindir)/pg_basebackup$(X)'$(INSTALL_PROGRAM)
pg_receivexlog$(X)'$(DESTDIR)$(bindir)/pg_receivexlog$(X)'$(INSTALL_PROGRAM) pg_receivellog$(X)
'$(DESTDIR)$(bindir)/pg_receivellog$(X)'
> > I don't think either hunk has anything to do with that buildfailure
> > though - can you reproduce the error without?
>
> I tried that scenario three times and it failed three times. Then
> I made the above changes and it worked. Then I eliminated the one
> on the uninstall target and tried a couple more times and it worked
> on both attempts. The scenario is to have a `make world` build in
> the source tree, and run the above line starting with `make
> maintainer-clean` and going to `make -j4 world`.
Hm. I think it might be something in makes intermediate target logic
biting us. Anyway, if the patch fixes that: Great ;). Merged it logally
since it's obviously missing.
> I did notice that without that change to the maintainer-clean
> target I did not get a pg_receivellog.Po file in
> src/bin/pg_basebackup/.deps/ -- and with it I do.
Yea, according to your log it's not even built before pg_receivellog is
linked.
Thanks,
Andres Freund
-- Andres Freund http://www.2ndQuadrant.com/PostgreSQL Development, 24x7 Support, Training &
Services