WireGuard Archive on lore.kernel.org
 help / color / Atom feed
* WireGuard fails to build on CentOS 7.1908
@ 2019-08-31 16:00 Dario Pilori
  2019-09-06 19:17 ` Jason A. Donenfeld
  0 siblings, 1 reply; 6+ messages in thread
From: Dario Pilori @ 2019-08-31 16:00 UTC (permalink / raw)
  To: wireguard

Dear all,

I just upgraded a test machine to CentOS 7.1908 (based on RHEL 7.7),
currently on CR repository, which carries Linux kernel 3.10.0-1062.

Latest WireGuard release from CentOS RPM repo (0.0.20190702) fails to
build with the following error:

DKMS make.log for wireguard-0.0.20190702 for kernel
3.10.0-1062.el7.x86_64 (x86_64)
Sat Aug 31 17:51:43 CEST 2019
make: Entering directory `/usr/src/kernels/3.10.0-1062.el7.x86_64'
  LD      /var/lib/dkms/wireguard/0.0.20190702/build/built-in.o
  CC [M]  /var/lib/dkms/wireguard/0.0.20190702/build/main.o
  CC [M]  /var/lib/dkms/wireguard/0.0.20190702/build/noise.o
  CC [M]  /var/lib/dkms/wireguard/0.0.20190702/build/device.o
  CC [M]  /var/lib/dkms/wireguard/0.0.20190702/build/peer.o
  CC [M]  /var/lib/dkms/wireguard/0.0.20190702/build/timers.o
  CC [M]  /var/lib/dkms/wireguard/0.0.20190702/build/queueing.o
  CC [M]  /var/lib/dkms/wireguard/0.0.20190702/build/send.o
  CC [M]  /var/lib/dkms/wireguard/0.0.20190702/build/receive.o
/var/lib/dkms/wireguard/0.0.20190702/build/receive.c: In function
‘wg_packet_consume_data_done’:
/var/lib/dkms/wireguard/0.0.20190702/build/receive.c:403:4: warning:
passing argument 1 of ‘IP6_ECN_set_ce’ from incompatible pointer type
[enabled by default]
    IP6_ECN_set_ce(skb, ipv6_hdr(skb));
    ^
In file included from include/net/ip_tunnels.h:14:0,
                 from
/var/lib/dkms/wireguard/0.0.20190702/build/compat/compat.h:92,
                 from <command-line>:0:
include/net/inet_ecn.h:120:19: note: expected ‘struct sk_buff *’ but
argument is of type ‘struct ipv6hdr *’
 static inline int IP6_ECN_set_ce(struct sk_buff *skb, struct ipv6hdr *iph)
                   ^
/var/lib/dkms/wireguard/0.0.20190702/build/receive.c:403:4: error: too
few arguments to function ‘IP6_ECN_set_ce’
    IP6_ECN_set_ce(skb, ipv6_hdr(skb));
    ^
In file included from include/net/ip_tunnels.h:14:0,
                 from
/var/lib/dkms/wireguard/0.0.20190702/build/compat/compat.h:92,
                 from <command-line>:0:
include/net/inet_ecn.h:120:19: note: declared here
 static inline int IP6_ECN_set_ce(struct sk_buff *skb, struct ipv6hdr *iph)
                   ^
make[1]: *** [/var/lib/dkms/wireguard/0.0.20190702/build/receive.o] Error 1
make[1]: *** Waiting for unfinished jobs....
make: *** [_module_/var/lib/dkms/wireguard/0.0.20190702/build] Error 2
make: Leaving directory `/usr/src/kernels/3.10.0-1062.el7.x86_64'

I am not sure if this is a known bug or not.

Thanks,
Dario
_______________________________________________
WireGuard mailing list
WireGuard@lists.zx2c4.com
https://lists.zx2c4.com/mailman/listinfo/wireguard

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: WireGuard fails to build on CentOS 7.1908
  2019-08-31 16:00 WireGuard fails to build on CentOS 7.1908 Dario Pilori
@ 2019-09-06 19:17 ` Jason A. Donenfeld
  2019-09-06 21:23   ` Dario Pilori
  0 siblings, 1 reply; 6+ messages in thread
From: Jason A. Donenfeld @ 2019-09-06 19:17 UTC (permalink / raw)
  To: Dario Pilori; +Cc: WireGuard mailing list

Hi Dario,

Are you running the latest el7 kernel? Or are there RHEL updates you
haven't yet applied? Can you provide more info about versions?

Jason

On Fri, Sep 6, 2019 at 1:08 PM Dario Pilori <dario.pilori@astrogeo.va.it> wrote:
>
> Dear all,
>
> I just upgraded a test machine to CentOS 7.1908 (based on RHEL 7.7),
> currently on CR repository, which carries Linux kernel 3.10.0-1062.
>
> Latest WireGuard release from CentOS RPM repo (0.0.20190702) fails to
> build with the following error:
>
> DKMS make.log for wireguard-0.0.20190702 for kernel
> 3.10.0-1062.el7.x86_64 (x86_64)
> Sat Aug 31 17:51:43 CEST 2019
> make: Entering directory `/usr/src/kernels/3.10.0-1062.el7.x86_64'
>   LD      /var/lib/dkms/wireguard/0.0.20190702/build/built-in.o
>   CC [M]  /var/lib/dkms/wireguard/0.0.20190702/build/main.o
>   CC [M]  /var/lib/dkms/wireguard/0.0.20190702/build/noise.o
>   CC [M]  /var/lib/dkms/wireguard/0.0.20190702/build/device.o
>   CC [M]  /var/lib/dkms/wireguard/0.0.20190702/build/peer.o
>   CC [M]  /var/lib/dkms/wireguard/0.0.20190702/build/timers.o
>   CC [M]  /var/lib/dkms/wireguard/0.0.20190702/build/queueing.o
>   CC [M]  /var/lib/dkms/wireguard/0.0.20190702/build/send.o
>   CC [M]  /var/lib/dkms/wireguard/0.0.20190702/build/receive.o
> /var/lib/dkms/wireguard/0.0.20190702/build/receive.c: In function
> ‘wg_packet_consume_data_done’:
> /var/lib/dkms/wireguard/0.0.20190702/build/receive.c:403:4: warning:
> passing argument 1 of ‘IP6_ECN_set_ce’ from incompatible pointer type
> [enabled by default]
>     IP6_ECN_set_ce(skb, ipv6_hdr(skb));
>     ^
> In file included from include/net/ip_tunnels.h:14:0,
>                  from
> /var/lib/dkms/wireguard/0.0.20190702/build/compat/compat.h:92,
>                  from <command-line>:0:
> include/net/inet_ecn.h:120:19: note: expected ‘struct sk_buff *’ but
> argument is of type ‘struct ipv6hdr *’
>  static inline int IP6_ECN_set_ce(struct sk_buff *skb, struct ipv6hdr *iph)
>                    ^
> /var/lib/dkms/wireguard/0.0.20190702/build/receive.c:403:4: error: too
> few arguments to function ‘IP6_ECN_set_ce’
>     IP6_ECN_set_ce(skb, ipv6_hdr(skb));
>     ^
> In file included from include/net/ip_tunnels.h:14:0,
>                  from
> /var/lib/dkms/wireguard/0.0.20190702/build/compat/compat.h:92,
>                  from <command-line>:0:
> include/net/inet_ecn.h:120:19: note: declared here
>  static inline int IP6_ECN_set_ce(struct sk_buff *skb, struct ipv6hdr *iph)
>                    ^
> make[1]: *** [/var/lib/dkms/wireguard/0.0.20190702/build/receive.o] Error 1
> make[1]: *** Waiting for unfinished jobs....
> make: *** [_module_/var/lib/dkms/wireguard/0.0.20190702/build] Error 2
> make: Leaving directory `/usr/src/kernels/3.10.0-1062.el7.x86_64'
>
> I am not sure if this is a known bug or not.
>
> Thanks,
> Dario
> _______________________________________________
> WireGuard mailing list
> WireGuard@lists.zx2c4.com
> https://lists.zx2c4.com/mailman/listinfo/wireguard

On Fri, Sep 6, 2019 at 1:08 PM Dario Pilori <dario.pilori@astrogeo.va.it> wrote:
>
> Dear all,
>
> I just upgraded a test machine to CentOS 7.1908 (based on RHEL 7.7),
> currently on CR repository, which carries Linux kernel 3.10.0-1062.
>
> Latest WireGuard release from CentOS RPM repo (0.0.20190702) fails to
> build with the following error:
>
> DKMS make.log for wireguard-0.0.20190702 for kernel
> 3.10.0-1062.el7.x86_64 (x86_64)
> Sat Aug 31 17:51:43 CEST 2019
> make: Entering directory `/usr/src/kernels/3.10.0-1062.el7.x86_64'
>   LD      /var/lib/dkms/wireguard/0.0.20190702/build/built-in.o
>   CC [M]  /var/lib/dkms/wireguard/0.0.20190702/build/main.o
>   CC [M]  /var/lib/dkms/wireguard/0.0.20190702/build/noise.o
>   CC [M]  /var/lib/dkms/wireguard/0.0.20190702/build/device.o
>   CC [M]  /var/lib/dkms/wireguard/0.0.20190702/build/peer.o
>   CC [M]  /var/lib/dkms/wireguard/0.0.20190702/build/timers.o
>   CC [M]  /var/lib/dkms/wireguard/0.0.20190702/build/queueing.o
>   CC [M]  /var/lib/dkms/wireguard/0.0.20190702/build/send.o
>   CC [M]  /var/lib/dkms/wireguard/0.0.20190702/build/receive.o
> /var/lib/dkms/wireguard/0.0.20190702/build/receive.c: In function
> ‘wg_packet_consume_data_done’:
> /var/lib/dkms/wireguard/0.0.20190702/build/receive.c:403:4: warning:
> passing argument 1 of ‘IP6_ECN_set_ce’ from incompatible pointer type
> [enabled by default]
>     IP6_ECN_set_ce(skb, ipv6_hdr(skb));
>     ^
> In file included from include/net/ip_tunnels.h:14:0,
>                  from
> /var/lib/dkms/wireguard/0.0.20190702/build/compat/compat.h:92,
>                  from <command-line>:0:
> include/net/inet_ecn.h:120:19: note: expected ‘struct sk_buff *’ but
> argument is of type ‘struct ipv6hdr *’
>  static inline int IP6_ECN_set_ce(struct sk_buff *skb, struct ipv6hdr *iph)
>                    ^
> /var/lib/dkms/wireguard/0.0.20190702/build/receive.c:403:4: error: too
> few arguments to function ‘IP6_ECN_set_ce’
>     IP6_ECN_set_ce(skb, ipv6_hdr(skb));
>     ^
> In file included from include/net/ip_tunnels.h:14:0,
>                  from
> /var/lib/dkms/wireguard/0.0.20190702/build/compat/compat.h:92,
>                  from <command-line>:0:
> include/net/inet_ecn.h:120:19: note: declared here
>  static inline int IP6_ECN_set_ce(struct sk_buff *skb, struct ipv6hdr *iph)
>                    ^
> make[1]: *** [/var/lib/dkms/wireguard/0.0.20190702/build/receive.o] Error 1
> make[1]: *** Waiting for unfinished jobs....
> make: *** [_module_/var/lib/dkms/wireguard/0.0.20190702/build] Error 2
> make: Leaving directory `/usr/src/kernels/3.10.0-1062.el7.x86_64'
>
> I am not sure if this is a known bug or not.
>
> Thanks,
> Dario
> _______________________________________________
> WireGuard mailing list
> WireGuard@lists.zx2c4.com
> https://lists.zx2c4.com/mailman/listinfo/wireguard



-- 
Jason A. Donenfeld
Deep Space Explorer
fr: +33 6 51 90 82 66
us: +1 513 476 1200
_______________________________________________
WireGuard mailing list
WireGuard@lists.zx2c4.com
https://lists.zx2c4.com/mailman/listinfo/wireguard

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: WireGuard fails to build on CentOS 7.1908
  2019-09-06 19:17 ` Jason A. Donenfeld
@ 2019-09-06 21:23   ` Dario Pilori
  2019-09-06 22:47     ` Jason A. Donenfeld
  0 siblings, 1 reply; 6+ messages in thread
From: Dario Pilori @ 2019-09-06 21:23 UTC (permalink / raw)
  To: Jason A. Donenfeld; +Cc: WireGuard mailing list

Hello Jason,

On 06/09/2019 21:17, Jason A. Donenfeld wrote:
> Hi Dario,
>
> Are you running the latest el7 kernel? Or are there RHEL updates you
> haven't yet applied? Can you provide more info about versions?

The CentOS 7 machine is fully-updated from the Continuous Release (CR) 
repository, which is derived from the recently released RHEL 7.7 
(https://wiki.centos.org/Manuals/ReleaseNotes/CentOS7.1908). If needed, 
I can send the full output of yum list installed.

To summarize:

* Latest "official" CentOS 7 (CentOS 7.1804, derived from RHEL 7.6), 
kernel 3.10.0-957.27.2.el7: WireGuard compiles.

* CentOS 7 with CR repo (will be released as CentOS 7.1908), kernel 
3.10.0-1062.el7: WireGuard does not compile.

The changelog from version 3.10.0-957.27.2.el7 to 3.10.0-1062.el7 is 
shown here: https://access.redhat.com/errata/RHSA-2019:2029

Unfortunately, I cannot replicate this error on other machines since I 
have only one test machine. However, the same bug has been reported e.g. 
in 
https://www.reddit.com/r/WireGuard/comments/cy8nk0/wireguard_module_not_loading_with_centos_7_kernel/

As soon as the CentOS RPM repo will be upgraded to v0.0.20190610, I will 
also test that version.

Cheers,

Dario

_______________________________________________
WireGuard mailing list
WireGuard@lists.zx2c4.com
https://lists.zx2c4.com/mailman/listinfo/wireguard

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: WireGuard fails to build on CentOS 7.1908
  2019-09-06 21:23   ` Dario Pilori
@ 2019-09-06 22:47     ` Jason A. Donenfeld
  2019-09-07  7:41       ` Dario Pilori
  0 siblings, 1 reply; 6+ messages in thread
From: Jason A. Donenfeld @ 2019-09-06 22:47 UTC (permalink / raw)
  To: Dario Pilori; +Cc: WireGuard mailing list

Hey Dario,

I'm not super familiar with the RHEL release varieties. Maybe you or
somebody can clarify and help define how we'll approach it?

What we've done in the past is support whatever the "latest" RHEL
kernel is. IIRC, 7.6 was released not so long ago, and we did the
compat.h work on 7.6, and then dropped support for RHEL 7.5. It sounds
to me like what you're saying now is that 7.6 has already been
replaced by 7.7? Or there's a stable 7.6 and then an "in-development"
7.7 that is rolling? If it's the latter case, do you know if that's
widely used and worthwhile for us to support?

In other words, I'm not so sure of the RHEL landscape, but if you make
a description and argument for what we should support in WireGuard's
compat layer, as long as it's somewhat reasonable, I'm happy to
oblige.

Jason
_______________________________________________
WireGuard mailing list
WireGuard@lists.zx2c4.com
https://lists.zx2c4.com/mailman/listinfo/wireguard

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: WireGuard fails to build on CentOS 7.1908
  2019-09-06 22:47     ` Jason A. Donenfeld
@ 2019-09-07  7:41       ` Dario Pilori
  2019-09-14  4:44         ` Jason A. Donenfeld
  0 siblings, 1 reply; 6+ messages in thread
From: Dario Pilori @ 2019-09-07  7:41 UTC (permalink / raw)
  To: Jason A. Donenfeld; +Cc: WireGuard mailing list

Hi Jason,

In a nutshell, RHEL 7 is a rolling release. Point releases are basically 
moments where several packages are updated at the same time, and these 
updates usually bring bigger changes than standard RHEL updates.

RHEL 7.7 was released on August 6th, and support for RHEL 7.6 was 
immediately dropped. This is almost transparent to RHEL users, since a 
simple 'yum update' would automatically upgrade all packages to latest 
RHEL 7.x release. Only (paying) RHEL customers, with an additional 
support contract, can keep an old RHEL point release for some time.

CentOS does not offer such support contract, therefore as soon as a 
point release is released, the previous one is immediately dropped.

Since CentOS is a recompilation of RHEL, there is a lag (~ several 
months) between RHEL and CentOS releases. The "Continuous-Release" (CR) 
repository is basically a beta version of the next CentOS point release, 
which is based on an already-released RHEL point release. While the CR 
release is not widely used (since it's a development version), it is a 
very faithful representation on what the next official version would be, 
since CentOS is only a mere recompilation of RHEL.

CentOS 7.7.1908 (based on RHEL 7.7) was released on the CR repo on 
August 30th. Usually it stays there for several weeks, then it is 
released with very minor changes. When it happens, the support of CentOS 
7.6.1804 (based on RHEL 7.6) will be immediately dropped, and the update 
to this version will be sent to all CentOS 7 machines.

For the "WireGuard support" perspective, right now it works on latest 
"official" CentOS 7 kernel. I suspect that it doesn't compile on the 
already-released RHEL 7.7, but I don't have a RHEL7 installation where I 
can test it.  However, when CentOS 7.7.1908 (based on RHEL 7.7) will be 
released, which should happen in some weeks, it is highly probable that 
WireGuard will not be compatible with the latest (and only supported) 
RHEL/CentOS 7 kernel.

To answer to your question, I agree with you that it is worth only 
supporting the most recent official RHEL/CentOS kernel, since the CR 
release is meant only for testing. However, "be prepared" that, when 
CentOS 7.7.1908 will be released, it is highly probable that WG will not 
compile on it.

Dario

On 07/09/2019 00:47, Jason A. Donenfeld wrote:
> Hey Dario,
> 
> I'm not super familiar with the RHEL release varieties. Maybe you or
> somebody can clarify and help define how we'll approach it?
> 
> What we've done in the past is support whatever the "latest" RHEL
> kernel is. IIRC, 7.6 was released not so long ago, and we did the
> compat.h work on 7.6, and then dropped support for RHEL 7.5. It sounds
> to me like what you're saying now is that 7.6 has already been
> replaced by 7.7? Or there's a stable 7.6 and then an "in-development"
> 7.7 that is rolling? If it's the latter case, do you know if that's
> widely used and worthwhile for us to support?
> 
> In other words, I'm not so sure of the RHEL landscape, but if you make
> a description and argument for what we should support in WireGuard's
> compat layer, as long as it's somewhat reasonable, I'm happy to
> oblige.
> 
> Jason
> 
_______________________________________________
WireGuard mailing list
WireGuard@lists.zx2c4.com
https://lists.zx2c4.com/mailman/listinfo/wireguard

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: WireGuard fails to build on CentOS 7.1908
  2019-09-07  7:41       ` Dario Pilori
@ 2019-09-14  4:44         ` Jason A. Donenfeld
  0 siblings, 0 replies; 6+ messages in thread
From: Jason A. Donenfeld @ 2019-09-14  4:44 UTC (permalink / raw)
  To: Dario Pilori; +Cc: WireGuard mailing list

Hey Dario,

Thanks for the explanation. I released a new snapshot today that
should include support for both RHEL 7.6 and 7.7. As soon as CentOS
7.7 comes out, I intend to drop 7.6 support entirely to continue with
the policy of supporting the latest RHEL only. It seems like there's
an awkward transition period while CentOS catches up to RHEL, so I'll
try to stay on top of that for 7.7->7.8 too.

Joe - can you bump the copr package?

Jason
_______________________________________________
WireGuard mailing list
WireGuard@lists.zx2c4.com
https://lists.zx2c4.com/mailman/listinfo/wireguard

^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, back to index

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-08-31 16:00 WireGuard fails to build on CentOS 7.1908 Dario Pilori
2019-09-06 19:17 ` Jason A. Donenfeld
2019-09-06 21:23   ` Dario Pilori
2019-09-06 22:47     ` Jason A. Donenfeld
2019-09-07  7:41       ` Dario Pilori
2019-09-14  4:44         ` Jason A. Donenfeld

WireGuard Archive on lore.kernel.org

Archives are clonable:
	git clone --mirror https://lore.kernel.org/wireguard/0 wireguard/git/0.git

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V2 wireguard wireguard/ https://lore.kernel.org/wireguard \
		wireguard@lists.zx2c4.com
	public-inbox-index wireguard

Example config snippet for mirrors

Newsgroup available over NNTP:
	nntp://nntp.lore.kernel.org/com.zx2c4.lists.wireguard


AGPL code for this site: git clone https://public-inbox.org/public-inbox.git