[GH-ISSUE #125] Module cannot be built and install on Ubuntu 20.04 #78

Closed
opened 2026-10-13 21:06:19 +00:00 by bsakaguchi · 1 comment
Owner

Originally created by @h1de0x on GitHub (Dec 3, 2025).
Original GitHub issue: https://github.com/amnezia-vpn/amneziawg-linux-kernel-module/issues/125

An error occurs while compiling the DKMS module. Ubuntu 20.04, kernel 5.4.

# make
  CC [M]  /root/amneziawg-linux-kernel-module/src/main.o
In file included from <command-line>:
/root/amneziawg-linux-kernel-module/src/compat/compat.h:1291:19: error: static declaration of 'timer_delete' follows non-static declaration
 1291 | static inline int timer_delete(struct timer_list *timer)
      |                   ^~~~~~~~~~~~
In file included from ./include/linux/workqueue.h:9,
                 from ./include/linux/srcu.h:21,
                 from ./include/linux/notifier.h:16,
                 from ./arch/x86/include/asm/uprobes.h:13,
                 from ./include/linux/uprobes.h:49,
                 from ./include/linux/mm_types.h:14,
                 from ./include/linux/mmzone.h:21,
                 from ./include/linux/gfp.h:6,
                 from ./include/linux/mm.h:10,
                 from ./include/linux/bvec.h:13,
                 from ./include/linux/skbuff.h:17,
                 from ./include/linux/ip.h:16,
                 from ./include/linux/if_tunnel.h:5,
                 from ./include/net/ip_tunnels.h:5,
                 from ./include/net/udp_tunnel.h:5,
                 from /root/amneziawg-linux-kernel-module/src/compat/udp_tunnel/udp_tunnel_partial_compat.h:154,
                 from /root/amneziawg-linux-kernel-module/src/compat/compat.h:68,
                 from <command-line>:
./include/linux/timer.h:185:12: note: previous declaration of 'timer_delete' was here
  185 | extern int timer_delete(struct timer_list *timer);
      |            ^~~~~~~~~~~~
/root/amneziawg-linux-kernel-module/src/main.c: In function 'wg_mod_init':
/root/amneziawg-linux-kernel-module/src/main.c:25:13: error: implicit declaration of function 'chacha20_mod_init' [-Werror=implicit-function-declaration]
   25 |  if ((ret = chacha20_mod_init()) || (ret = poly1305_mod_init()) ||
      |             ^~~~~~~~~~~~~~~~~
/root/amneziawg-linux-kernel-module/src/main.c:25:44: error: implicit declaration of function 'poly1305_mod_init' [-Werror=implicit-function-declaration]
   25 |  if ((ret = chacha20_mod_init()) || (ret = poly1305_mod_init()) ||
      |                                            ^~~~~~~~~~~~~~~~~
/root/amneziawg-linux-kernel-module/src/main.c:26:13: error: implicit declaration of function 'chacha20poly1305_mod_init'; did you mean 'chacha20poly1305_decrypt'? [-Werror=implicit-function-declaration]
   26 |      (ret = chacha20poly1305_mod_init()) || (ret = blake2s_mod_init()) ||
      |             ^~~~~~~~~~~~~~~~~~~~~~~~~
      |             chacha20poly1305_decrypt
/root/amneziawg-linux-kernel-module/src/main.c:26:52: error: implicit declaration of function 'blake2s_mod_init'; did you mean 'blake2s_init'? [-Werror=implicit-function-declaration]
   26 |      (ret = chacha20poly1305_mod_init()) || (ret = blake2s_mod_init()) ||
      |                                                    ^~~~~~~~~~~~~~~~
      |                                                    blake2s_init
/root/amneziawg-linux-kernel-module/src/main.c:27:13: error: implicit declaration of function 'curve25519_mod_init' [-Werror=implicit-function-declaration]
   27 |      (ret = curve25519_mod_init()))
      |             ^~~~~~~~~~~~~~~~~~~
cc1: some warnings being treated as errors
make[2]: *** [scripts/Makefile.build:270: /root/amneziawg-linux-kernel-module/src/main.o] Error 1
make[1]: *** [Makefile:1783: /root/amneziawg-linux-kernel-module/src] Error 2
make: *** [Makefile:27: module] Error 2

Originally created by @h1de0x on GitHub (Dec 3, 2025). Original GitHub issue: https://github.com/amnezia-vpn/amneziawg-linux-kernel-module/issues/125 An error occurs while compiling the DKMS module. Ubuntu 20.04, kernel 5.4. ``` # make CC [M] /root/amneziawg-linux-kernel-module/src/main.o In file included from <command-line>: /root/amneziawg-linux-kernel-module/src/compat/compat.h:1291:19: error: static declaration of 'timer_delete' follows non-static declaration 1291 | static inline int timer_delete(struct timer_list *timer) | ^~~~~~~~~~~~ In file included from ./include/linux/workqueue.h:9, from ./include/linux/srcu.h:21, from ./include/linux/notifier.h:16, from ./arch/x86/include/asm/uprobes.h:13, from ./include/linux/uprobes.h:49, from ./include/linux/mm_types.h:14, from ./include/linux/mmzone.h:21, from ./include/linux/gfp.h:6, from ./include/linux/mm.h:10, from ./include/linux/bvec.h:13, from ./include/linux/skbuff.h:17, from ./include/linux/ip.h:16, from ./include/linux/if_tunnel.h:5, from ./include/net/ip_tunnels.h:5, from ./include/net/udp_tunnel.h:5, from /root/amneziawg-linux-kernel-module/src/compat/udp_tunnel/udp_tunnel_partial_compat.h:154, from /root/amneziawg-linux-kernel-module/src/compat/compat.h:68, from <command-line>: ./include/linux/timer.h:185:12: note: previous declaration of 'timer_delete' was here 185 | extern int timer_delete(struct timer_list *timer); | ^~~~~~~~~~~~ /root/amneziawg-linux-kernel-module/src/main.c: In function 'wg_mod_init': /root/amneziawg-linux-kernel-module/src/main.c:25:13: error: implicit declaration of function 'chacha20_mod_init' [-Werror=implicit-function-declaration] 25 | if ((ret = chacha20_mod_init()) || (ret = poly1305_mod_init()) || | ^~~~~~~~~~~~~~~~~ /root/amneziawg-linux-kernel-module/src/main.c:25:44: error: implicit declaration of function 'poly1305_mod_init' [-Werror=implicit-function-declaration] 25 | if ((ret = chacha20_mod_init()) || (ret = poly1305_mod_init()) || | ^~~~~~~~~~~~~~~~~ /root/amneziawg-linux-kernel-module/src/main.c:26:13: error: implicit declaration of function 'chacha20poly1305_mod_init'; did you mean 'chacha20poly1305_decrypt'? [-Werror=implicit-function-declaration] 26 | (ret = chacha20poly1305_mod_init()) || (ret = blake2s_mod_init()) || | ^~~~~~~~~~~~~~~~~~~~~~~~~ | chacha20poly1305_decrypt /root/amneziawg-linux-kernel-module/src/main.c:26:52: error: implicit declaration of function 'blake2s_mod_init'; did you mean 'blake2s_init'? [-Werror=implicit-function-declaration] 26 | (ret = chacha20poly1305_mod_init()) || (ret = blake2s_mod_init()) || | ^~~~~~~~~~~~~~~~ | blake2s_init /root/amneziawg-linux-kernel-module/src/main.c:27:13: error: implicit declaration of function 'curve25519_mod_init' [-Werror=implicit-function-declaration] 27 | (ret = curve25519_mod_init())) | ^~~~~~~~~~~~~~~~~~~ cc1: some warnings being treated as errors make[2]: *** [scripts/Makefile.build:270: /root/amneziawg-linux-kernel-module/src/main.o] Error 1 make[1]: *** [Makefile:1783: /root/amneziawg-linux-kernel-module/src] Error 2 make: *** [Makefile:27: module] Error 2 ```
Author
Owner

@DanMelnikov commented on GitHub (Dec 23, 2025):

the same problem with kernel 5.4.0-150
Linux Mint 19.3

DKMS make.log for amneziawg-1.0.0 for kernel 5.4.0-150-generic (x86_64)
Вт дек 23 22:03:45 MSK 2025
make: Entering directory '/usr/src/linux-headers-5.4.0-150-generic'
  AR      /var/lib/dkms/amneziawg/1.0.0/build/built-in.a
  CC [M]  /var/lib/dkms/amneziawg/1.0.0/build/main.o
  CC [M]  /var/lib/dkms/amneziawg/1.0.0/build/noise.o
/var/lib/dkms/amneziawg/1.0.0/build/main.c: In function ‘wg_mod_init’:
/var/lib/dkms/amneziawg/1.0.0/build/main.c:25:13: error: implicit declaration of function ‘chacha20_mod_init’; did you mean ‘wg_mod_init’? [-Werror=implicit-function-declaration]
  if ((ret = chacha20_mod_init()) || (ret = poly1305_mod_init()) ||
             ^~~~~~~~~~~~~~~~~
             wg_mod_init
/var/lib/dkms/amneziawg/1.0.0/build/main.c:25:44: error: implicit declaration of function ‘poly1305_mod_init’; did you mean ‘wg_mod_init’? [-Werror=implicit-function-declaration]
  if ((ret = chacha20_mod_init()) || (ret = poly1305_mod_init()) ||
                                            ^~~~~~~~~~~~~~~~~
                                            wg_mod_init
/var/lib/dkms/amneziawg/1.0.0/build/main.c:26:13: error: implicit declaration of function ‘chacha20poly1305_mod_init’; did you mean ‘chacha20poly1305_decrypt’? [-Werror=implicit-function-declaration]
      (ret = chacha20poly1305_mod_init()) || (ret = blake2s_mod_init()) ||
             ^~~~~~~~~~~~~~~~~~~~~~~~~
             chacha20poly1305_decrypt
/var/lib/dkms/amneziawg/1.0.0/build/main.c:26:52: error: implicit declaration of function ‘blake2s_mod_init’; did you mean ‘blake2s_init’? [-Werror=implicit-function-declaration]
      (ret = chacha20poly1305_mod_init()) || (ret = blake2s_mod_init()) ||
                                                    ^~~~~~~~~~~~~~~~
                                                    blake2s_init
/var/lib/dkms/amneziawg/1.0.0/build/main.c:27:13: error: implicit declaration of function ‘curve25519_mod_init’; did you mean ‘curve25519’? [-Werror=implicit-function-declaration]
      (ret = curve25519_mod_init()))
             ^~~~~~~~~~~~~~~~~~~
             curve25519
cc1: some warnings being treated as errors
scripts/Makefile.build:270: recipe for target '/var/lib/dkms/amneziawg/1.0.0/build/main.o' failed
make[1]: *** [/var/lib/dkms/amneziawg/1.0.0/build/main.o] Error 1
make[1]: *** Waiting for unfinished jobs....
Makefile:1767: recipe for target '/var/lib/dkms/amneziawg/1.0.0/build' failed
make: *** [/var/lib/dkms/amneziawg/1.0.0/build] Error 2
make: Leaving directory '/usr/src/linux-headers-5.4.0-150-generic'
<!-- gh-comment-id:3686976966 --> @DanMelnikov commented on GitHub (Dec 23, 2025): the same problem with kernel 5.4.0-150 Linux Mint 19.3 ``` DKMS make.log for amneziawg-1.0.0 for kernel 5.4.0-150-generic (x86_64) Вт дек 23 22:03:45 MSK 2025 make: Entering directory '/usr/src/linux-headers-5.4.0-150-generic' AR /var/lib/dkms/amneziawg/1.0.0/build/built-in.a CC [M] /var/lib/dkms/amneziawg/1.0.0/build/main.o CC [M] /var/lib/dkms/amneziawg/1.0.0/build/noise.o /var/lib/dkms/amneziawg/1.0.0/build/main.c: In function ‘wg_mod_init’: /var/lib/dkms/amneziawg/1.0.0/build/main.c:25:13: error: implicit declaration of function ‘chacha20_mod_init’; did you mean ‘wg_mod_init’? [-Werror=implicit-function-declaration] if ((ret = chacha20_mod_init()) || (ret = poly1305_mod_init()) || ^~~~~~~~~~~~~~~~~ wg_mod_init /var/lib/dkms/amneziawg/1.0.0/build/main.c:25:44: error: implicit declaration of function ‘poly1305_mod_init’; did you mean ‘wg_mod_init’? [-Werror=implicit-function-declaration] if ((ret = chacha20_mod_init()) || (ret = poly1305_mod_init()) || ^~~~~~~~~~~~~~~~~ wg_mod_init /var/lib/dkms/amneziawg/1.0.0/build/main.c:26:13: error: implicit declaration of function ‘chacha20poly1305_mod_init’; did you mean ‘chacha20poly1305_decrypt’? [-Werror=implicit-function-declaration] (ret = chacha20poly1305_mod_init()) || (ret = blake2s_mod_init()) || ^~~~~~~~~~~~~~~~~~~~~~~~~ chacha20poly1305_decrypt /var/lib/dkms/amneziawg/1.0.0/build/main.c:26:52: error: implicit declaration of function ‘blake2s_mod_init’; did you mean ‘blake2s_init’? [-Werror=implicit-function-declaration] (ret = chacha20poly1305_mod_init()) || (ret = blake2s_mod_init()) || ^~~~~~~~~~~~~~~~ blake2s_init /var/lib/dkms/amneziawg/1.0.0/build/main.c:27:13: error: implicit declaration of function ‘curve25519_mod_init’; did you mean ‘curve25519’? [-Werror=implicit-function-declaration] (ret = curve25519_mod_init())) ^~~~~~~~~~~~~~~~~~~ curve25519 cc1: some warnings being treated as errors scripts/Makefile.build:270: recipe for target '/var/lib/dkms/amneziawg/1.0.0/build/main.o' failed make[1]: *** [/var/lib/dkms/amneziawg/1.0.0/build/main.o] Error 1 make[1]: *** Waiting for unfinished jobs.... Makefile:1767: recipe for target '/var/lib/dkms/amneziawg/1.0.0/build' failed make: *** [/var/lib/dkms/amneziawg/1.0.0/build] Error 2 make: Leaving directory '/usr/src/linux-headers-5.4.0-150-generic' ```
Sign in to join this conversation.
No labels
pull-request
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
amnezia-vpn/amneziawg-linux-kernel-module#78
No description provided.