Paul -
I've figured it out. The debian build system bit me here, as that we use
it for cross-compiling, and we 'cheat' a little by reusing the same build
space for recompiles, which is probably against the debian philosophy.
debian/rules has this code:
dh_auto_configure -- \
--enable-exampledir=/usr/share/doc/quagga/examples/ \
--localstatedir=/var/run/quagga \
If you look at the configure line generated by dh_auto_configure we have
this(from config.log):
$ ./configure --build=x86_64-linux-gnu --prefix=/usr
--includedir=${prefix}/include --mandir=${prefix}/share/man
--infodir=${prefix}/share/info --sysconfdir=/etc --localstatedir=/var
--libexecdir=${prefix}/lib/quagga --disable-maintainer-mode
--disable-dependency-tracking
--enable-exampledir=/usr/share/doc/quagga/examples/
--localstatedir=/var/run/quagga --sbindir=/usr/lib/quagga
--sysconfdir=/etc/quagga --enable-vtysh --enable-isisd --enable-watchquagga
--enable-ospf-te --enable-opaque-lsa --enable-ipv6 --enable-ospfclient=yes
--enable-ospfapi=yes --enable-multipath=64 --enable-user=quagga
--enable-group=quagga --enable-vty-group=quaggavty
--enable-configfile-mask=0640 --enable-logfile-mask=0640 --enable-rtadv
--enable-werror --enable-gcc-rdynamic --with-libpam
build_alias=x86_64-linux-gnu --no-create --no-recursion
If you look somewhat carefully you'll see that dh_auto_configure includes
--disable-dependency-tracking which turns off this ability.
donald
On Wed, Oct 14, 2015 at 6:49 AM, Paul Jakma <[email protected]> wrote:
> On Tue, 13 Oct 2015, Donald Sharp wrote:
>
> I've done some very preliminary poking at the configure.ac and
>> bgpd/Makefile.am and don't immediately see a fix for the issue. I was
>> hoping someone has some experience in this world that could take a look and
>> point me in the right direction on how to fix it. The documentation that
>> I've read this evening points to the fact that 'it should just work'. It
>> sure would be nice to have an actual correct recompile if you change a
>> header file as that it's introduced false bugs that we've had to track down
>> and fix.
>>
>
> $ make
> <bgpd builds>
> $ joe bgp_fsm.h
> <change that macro>
> $ make
> CC bgpd.o
> CC bgp_fsm.o
> CC bgp_route.o
> CC bgp_zebra.o
> CC bgp_open.o
> CC bgp_packet.o
> CC bgp_network.o
> CC bgp_advertise.o
> CC bgp_vty.o
> AR libbgp.a
> ar: `u' modifier ignored since `D' is the default (see `U')
> CCLD bgpd
> $ make
> make: Nothing to be done for 'all'.
> $ joe bgp_fsm.h
> $ make
> CC bgpd.o
> CC bgp_fsm.o
> CC bgp_route.o
> CC bgp_zebra.o
> CC bgp_open.o
> CC bgp_packet.o
> CC bgp_network.o
> CC bgp_advertise.o
> CC bgp_vty.o
> AR libbgp.a
> ar: `u' modifier ignored since `D' is the default (see `U')
> CCLD bgpd
>
> Works for me.
>
> I wonder are you missing depcomp in your tree? Or did you pass '-i' to
> automake?
>
> 8.19 Automatic dependency tracking
>
> ... ‘automake -a’ will install ‘depcomp’ into your source tree for you.
>
> ... Or, you can invoke ‘automake’ with the ‘-i’ option. Dependency
> tracking is enabled by default.
>
> Seems like that feature of automake is broken or disabled in your build
> somehow.
>
> We could explicitly list the headers in _SOURCES in Makefile.am. Then it'd
> work regardless of the automatic dependency tracking.
>
> regards,
> --
> Paul Jakma [email protected] @pjakma Key ID: 64A2FF6A
> Fortune:
> Ma Bell is a mean mother!
_______________________________________________
Quagga-dev mailing list
[email protected]
https://lists.quagga.net/mailman/listinfo/quagga-dev