All of lore.kernel.org
 help / color / mirror / Atom feed
From: Ido Schimmel <idosch@idosch.org>
To: Jamal Hadi Salim <jhs@mojatatu.com>
Cc: Petr Machata <petrm@nvidia.com>, David Ahern <dsahern@gmail.com>,
	Stephen Hemminger <stephen@networkplumber.org>,
	Linux Kernel Network Developers <netdev@vger.kernel.org>
Subject: Re: Report: iproute2 build broken?
Date: Mon, 4 Jul 2022 20:17:51 +0300	[thread overview]
Message-ID: <YsMgv2plWTuWcd4X@shredder> (raw)
In-Reply-To: <CAM0EoM=Gycw88wC+tSOXFjEu3jKkqgLU8mNZfe48Zg0JXbtPiQ@mail.gmail.com>

On Mon, Jul 04, 2022 at 12:59:45PM -0400, Jamal Hadi Salim wrote:
> Thanks Ido. That fixed it.
> General question: do we need a "stable" iproute2?

Maybe a new point release is enough (e.g., 5.18.1)?

I see that's what Stephen did the last time something similar happened:

$ git log v4.14.0^..v4.14.1

commit 212b52299e90a369373b9e38924b9492df695559
Author: Stephen Hemminger <stephen@networkplumber.org>
Date:   Mon Nov 13 10:09:57 2017 -0800

    v4.14.1

commit b867d46dafee4ac81acecd2d398c392eb43b50bb
Author: Stephen Hemminger <stephen@networkplumber.org>
Date:   Mon Nov 13 10:08:39 2017 -0800

    utils: remove duplicate include of ctype.h
    
    Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>

commit aba736dc251ee7aa7c2035e18bffc37b18f05222
Author: Leon Romanovsky <leonro@mellanox.com>
Date:   Mon Nov 13 12:21:19 2017 +0200

    ip: Fix compilation break on old systems
    
    As was reported [1], the iproute2 fails to compile on old systems,
    in Cong's case, it was Fedora 19, in our case it was RedHat 7.2, which
    failed with the following errors during compilation:
    
    ipxfrm.c: In function ‘xfrm_selector_print’:
    ipxfrm.c:479:7: error: ‘IPPROTO_MH’ undeclared (first use in this
    function)
      case IPPROTO_MH:
           ^
    ipxfrm.c:479:7: note: each undeclared identifier is reported only once
    for each function it appears in
    ipxfrm.c: In function ‘xfrm_selector_upspec_parse’:
    ipxfrm.c:1345:8: error: ‘IPPROTO_MH’ undeclared (first use in this
    function)
       case IPPROTO_MH:
            ^                                                                                                                                                            make[1]: *** [ipxfrm.o] Error 1
    
    The reason to it is the order of headers files. The IPPROTO_MH field is
    set in kernel's UAPI header file (in6.h), but only in case
    __UAPI_DEF_IPPROTO_V6 is set before. That define comes from other kernel's
    header file (libc-compat.h) and is set in case there are no previous
    libc relevant declarations.
    
    In ip code, the include of <netdb.h> causes to indirect inclusion of
    <netinet/in.h> and it sets __UAPI_DEF_IPPROTO_V6 to be zero and prevents from
    IPPROTO_MH declaration.
    
    This patch takes the simplest possible approach to fix the compilation
    error by checking if IPPROTO_MH was defined before and in case it
    wasn't, it defines it to be the same as in the kernel.
    
    [1] https://www.spinics.net/lists/netdev/msg463980.html
    
    Cc: Cong Wang <xiyou.wangcong@gmail.com>
    Cc: Riad Abo Raed <riada@mellanox.com>
    Signed-off-by: Leon Romanovsky <leonro@mellanox.com>

commit 7d14d00795c334a288f1733bfdabdf363a7f962c
Author: Stephen Hemminger <stephen@networkplumber.org>
Date:   Sun Nov 12 16:29:43 2017 -0800

    v4.14.0

  reply	other threads:[~2022-07-04 17:18 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-07-04 15:51 Report: iproute2 build broken? Jamal Hadi Salim
2022-07-04 16:04 ` Jamal Hadi Salim
2022-07-04 16:34 ` Ido Schimmel
2022-07-04 16:59   ` Jamal Hadi Salim
2022-07-04 17:17     ` Ido Schimmel [this message]
2022-07-04 19:07       ` Stephen Hemminger
2022-07-06 11:26         ` Jamal Hadi Salim
2022-07-04 17:07 ` Stephen Hemminger

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=YsMgv2plWTuWcd4X@shredder \
    --to=idosch@idosch.org \
    --cc=dsahern@gmail.com \
    --cc=jhs@mojatatu.com \
    --cc=netdev@vger.kernel.org \
    --cc=petrm@nvidia.com \
    --cc=stephen@networkplumber.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.