Mailing List Archive

Two patches to quagga for Red Hat Linux
I had to make two patches to quagga to make it compile cleanly on
Red Hat Linux Beta (and Red Hat Enterprise Linux Beta). I'm sending
them to y'all for comment and possible inclusion, so I won't have to
keep patching. . .

The first one (quagga-0.96.1-libcap.patch) was needed for quagga to
compile on our 64-bit platforms, where make gets whiny about being
given a library (in -l form) as a dependency.

The second one quiets a lot of 32<->64-bit warnings when compiling on
a 64-bit platform. Most of them are because the assert() macro does
not like being passed a bare 64-bit pointer (I think this may be a gcc
bug. . .) so I explicitly compare with != NULL. There's also at least
one ULONG_MAX != UINT_MAX warning and a missing header file causing
warnings about function prototypes.

These are both included in the quagga*.src.rpm (avaliable from a Red
Hat Beta mirror near you) in case the list strips attachments.

I meant to send these out as soon as I made the quagga-0.96.1-3 rpms,
but I forgot. The release of 0.96.2 (which these patches still apply
cleanly to) reminded me.

-- JF
Re: Two patches to quagga for Red Hat Linux [ In reply to ]
On Tue, 26 Aug 2003, Jay Fenlason wrote:

> I had to make two patches to quagga to make it compile cleanly on
> Red Hat Linux Beta (and Red Hat Enterprise Linux Beta). I'm
> sending them to y'all for comment and possible inclusion, so I
> won't have to keep patching. . .

:)

> The first one (quagga-0.96.1-libcap.patch) was needed for quagga to
> compile on our 64-bit platforms, where make gets whiny about being
> given a library (in -l form) as a dependency.

ok, accepted.

> The second one quiets a lot of 32<->64-bit warnings when compiling
> on a 64-bit platform. Most of them are because the assert() macro
> does not like being passed a bare 64-bit pointer

odd.

> (I think this may be a gcc bug. . .)

depends on whether:

((void) (variable))

is a valid C expression - i'm not a C guru, but as far as i know it
is, hence it'd be gcc bug (??) - or problem with assert.h

> so I explicitly compare with != NULL.

ok. well that part of the patch i'm not taking for now - apart from
the redundant assert(co) which i've removed.

> There's also at least one ULONG_MAX != UINT_MAX warning

that should probably be UINT32_MAX, the comparison is against a
u_int32_t.

> and a missing header file causing warnings about function
> prototypes.

thanks for that.

> These are both included in the quagga*.src.rpm (avaliable from a
> Red Hat Beta mirror near you) in case the list strips attachments.

it doesnt. :)

> -- JF

accepted the Makefile.am updates.
Added the missing include.
ULONG_MAX -> UINT_MAX.

the asserts: i'd rather have an explanation for why assert(val) is
not correct, possibly it is assert.h or gcc which need fixing.
however, i removed the redundant assert (co) in ospfd.c.

thanks!

regards,
--
Paul Jakma paul@clubi.ie paul@jakma.org Key ID: 64A2FF6A
warning: do not ever send email to spam@dishone.st
Fortune:
Our policy is, when in doubt, do the right thing.
-- Roy L. Ash, ex-president, Litton Industries