Package Details: openvpn3 24.1-1

Git Clone URL: https://aur.archlinux.org/openvpn3.git (read-only, click to copy)
Package Base: openvpn3
Description: OpenVPN 3 Linux client
Upstream URL: https://codeberg.org/OpenVPN/openvpn3-linux
Keywords: openvpn vpn
Licenses: AGPL3
Submitter: bhyoo
Maintainer: bhyoo
Last Packager: bhyoo
Votes: 23
Popularity: 0.86
First Submitted: 2020-07-04 06:51 (UTC)
Last Updated: 2025-06-04 12:05 (UTC)

Pinned Comments

bhyoo commented on 2024-07-08 11:46 (UTC) (edited on 2024-07-08 11:47 (UTC) by bhyoo)

If you have trouble with building it, please run yay -Scc or yay -Sc.

FYI. I replaced gdbuspp-git with gdbuspp in the PKGBUILD dependency, and it seems that the build fails because the locally cached PKGBUILD is not updated.

Latest Comments

1 2 3 4 5 6 .. 15 Next › Last »

Energi commented on 2025-09-02 07:45 (UTC) (edited on 2025-09-02 07:46 (UTC) by Energi)

@narigama's patch is pointing to the -git repository, but the idea is the same:

  1. Clone https://aur.archlinux.org/openvpn3.git (this repo)
  2. In PKGBUILD add -Ddco=disabled to the build() function
  3. Run makepkg -sri

Here's a patch for this repository, if preferred:

diff --git a/PKGBUILD b/PKGBUILD
index 6572a6c..54c0685 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -48,6 +48,7 @@ build() {
     -Dselinux_policy=disabled \
     -Dbash-completion=enabled \
     -Dtest_programs=disabled \
+    -Ddco=disabled \
     -Dunit_tests=disabled \
     "${_pkgname}-${pkgver}" \
     _builddir

narigama commented on 2025-08-29 09:32 (UTC)

Ran into issues today after a kernel update, the following steps fixed it:

Run git clone https://aur.archlinux.org/openvpn3-git.git

Apply this patch/add this one line:

diff --git a/PKGBUILD b/PKGBUILD
index 8c82cc1..7a37c0e 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -59,6 +59,7 @@ build() {
       "${_pkgname}" \
       _builddir \
     -Dtest_programs=disabled \
+    -Ddco=disabled \
     -Dunit_tests=disabled
   meson compile -C _builddir
 }

Finally, run makepkg -sri

daskol commented on 2025-08-28 12:48 (UTC) (edited on 2025-08-28 12:49 (UTC) by daskol)

Here is a patch for ovpn being merged into linux kernel 6.16.

UPD Sorry for a long comment. There is no collapse option.

diff --git a/PKGBUILD b/PKGBUILD
index 6572a6c..d5bf3be 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -3,7 +3,7 @@

 _pkgname=openvpn3-linux
 pkgname=openvpn3
-pkgver=24.1
+pkgver=25
 pkgrel=1
 pkgdesc='OpenVPN 3 Linux client'
 arch=('x86_64' 'aarch64')
@@ -20,24 +20,20 @@ optdepends=(
 makedepends=(
   'python-docutils' 'python-jinja' 'meson'
 )
+_openvpn3_core_ver=3.11.4
 source=(
   "https://swupdate.openvpn.net/community/releases/${_pkgname}-${pkgver}.tar.xz"
+  "openvpn3-core-${_openvpn3_core_ver}.tar.gz::https://github.com/OpenVPN/openvpn3/archive/refs/tags/release/${_openvpn3_core_ver}.tar.gz"
   'openvpn3.rule'
   'sysusers-openvpn3.conf'
-  'google-test-1.17.patch'
-)
-sha256sums=(
-  'c0e5db2cea4e9f2118b81425d3833b85821c515b72a53e21479c7a1f24d4bef0'
-  'ec0b8e28ae77b4b074d3eb8a084626e6dcfc587a07bef5d53fe1c6e160c0fc01'
-  '045e914bb6fff5a082314dfc805bb511c9a80170619fa1e94a07825fa977c90a'
-  '5ab817114ae64da4fe4d9088fe5bbdd40f07138d5daa4a901bbc9c8850f44c62'
 )
+sha256sums=('efccb7958fefcea4e03a9b96e5391c87c7f55bb28ae36782e41e22f7ff6d15b5'
+            '37a2544548f34e68aced6bf434c3b1be8033bf5d4d1db8bcb75bac75771c58dc'
+            'ec0b8e28ae77b4b074d3eb8a084626e6dcfc587a07bef5d53fe1c6e160c0fc01'
+            '045e914bb6fff5a082314dfc805bb511c9a80170619fa1e94a07825fa977c90a')
 install=openvpn3.install

 prepare() {
-  patch -d "${srcdir}/${_pkgname}-${pkgver}" \
-          -Np1 \
-          -i "${srcdir}/google-test-1.17.patch"
   meson subprojects download --sourcedir="${_pkgname}-${pkgver}"
 }

@@ -49,6 +45,7 @@ build() {
     -Dbash-completion=enabled \
     -Dtest_programs=disabled \
     -Dunit_tests=disabled \
+    -Dopenvpn3_core_path="${srcdir}/openvpn3-release-${_openvpn3_core_ver}" \
     "${_pkgname}-${pkgver}" \
     _builddir
   meson compile -C _builddir

skiwichu commented on 2025-08-27 20:19 (UTC) (edited on 2025-08-27 20:20 (UTC) by skiwichu)

@remanifest 's solution sounds reasonable.

If you don't want to reconfigure PKGBUILD, you can solve it by downgrading protobuf, protobuf-c, and abseil-cpp what seems to be the easiest way how to fix it till the version 25 will be released here.

santised commented on 2025-08-21 15:34 (UTC) (edited on 2025-08-27 18:07 (UTC) by santised)

Just recently did a fresh install of Arch and tried to build this package which I've installed maybe a dozen time. This latest time I'm getting some kind of variable declaration error. Full Readout is Here on Pastebin.

Here's a small snippet:

/usr/include/linux/if_link.h:1989:6: error: multiple definition of ‘enum ovpn_mode’
 1989 | enum ovpn_mode {
      |      ^~~~~~~~~
In file included from ../openvpn3-linux-24.1/openvpn3-core/openvpn/tun/linux/client/genl.hpp:32:
../openvpn3-linux-24.1/openvpn3-core/openvpn/dco/ovpn_dco_linux.h:248:6: note: previous definition here
  248 | enum ovpn_mode {
      |      ^~~~~~~~~
/usr/include/linux/if_link.h:1995:9: error: ‘IFLA_OVPN_UNSPEC’ conflicts with a previous declaration
 1995 |         IFLA_OVPN_UNSPEC,
      |         ^~~~~~~~~~~~~~~~
../openvpn3-linux-24.1/openvpn3-core/openvpn/dco/ovpn_dco_linux.h:241:9: note: previous declaration ‘ovpn_ifla_attrs IFLA_OVPN_UNSPEC’
  241 |         IFLA_OVPN_UNSPEC = 0,

Clang doesn't generate any errors, nor can I find any when I look through the header files in question. Anyone have any idea what this might be?

edit: It looks like there's an open issue about it on Github. It's an issue with 24.1 and may be fixed in the latest version: 25.

edit2: I'm a little wiser, little more knowledgeable. @remanifest actually had the answer for me down below. I just didn't understand how to modify and run PKGBUILD. Cheers!

remanifest commented on 2025-07-31 22:01 (UTC)

I ran into a symbol conflict when trying to build this on kernel 6.15.8, because the DCO feature definitions are now included in the kernel headers. Modifying the build() function to add -Ddco=disabled to the arch-meson arguments fixes the issue by preventing a duplicate definition.

ehlegeth commented on 2025-06-19 00:09 (UTC) (edited on 2025-06-19 00:12 (UTC) by ehlegeth)

@ohyash, thanks for the information.

After building it again, it's fixed:

❯ ldd -d /usr/lib/openvpn3-linux/openvpn3-service-netcfg | grep libprotobuf
        libprotobuf.so.31.1.0 => /usr/lib/libprotobuf.so.31.1.0 (0x00007fe92d400000)

Then I guess the root cause of this is building openvpn3 against the version specific libprotobuf library? I guess openvpn3 will not work everytime the protobuf package is upgraded. Do we have any solution to this?

ohyash commented on 2025-06-16 13:40 (UTC)

If you face tunnel error, it's usually due to protobuf version mismatch after a pacman upgrade. openvpn3/session-start: ** ERROR ** Could not start new VPN session: New tunnel did not respond

You can verify by checking the netcfg for example:

$ /usr/lib/openvpn3-linux/openvpn3-service-netcfg
/usr/lib/openvpn3-linux/openvpn3-service-netcfg: error while loading shared libraries: libprotobuf.so.31.0.0: cannot open shared object file: No such file or directory

Solution is to rebuild this package after every protobuf upgrade. I've faced this multiple times now, maybe good to pin this comment.

Filemon commented on 2025-06-08 00:34 (UTC) (edited on 2025-06-08 00:35 (UTC) by Filemon)

I'm experiencing the following problem:

[52/156] Compiling C++ object libnetcfgmgr.a.p/src_netcfg_proxy-netcfg-device.cpp.o
FAILED: libnetcfgmgr.a.p/src_netcfg_proxy-netcfg-device.cpp.o 
c++ -Ilibnetcfgmgr.a.p -I. -I../openvpn3-linux-24.1 -I../openvpn3-linux-24.1/openvpn3-core -I../openvpn3-linux-24.1/vendor/asio/asio/include -Isrc -I../openvpn3-linux-24.1/src -I/usr/include/gio-unix-2.0 -I/usr/include/libmount -I/usr/include/blkid -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I/usr/include/sysprof-6 -I/usr/include/libnl3 -I/usr/include/uuid -fdiagnostics-color=always -D_GLIBCXX_ASSERTIONS=1 -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Werror -std=c++17 -Wno-non-virtual-dtor -DOVPN_TINYXML2_HAS_ERROR_NAME -DOVPN_TINYXML2_HAS_ERROR_STR -march=x86-64 -mtune=generic -O2 -pipe -fno-plt -fexceptions -Wp,-D_FORTIFY_SOURCE=3 -Wformat -Werror=format-security -fstack-clash-protection -fcf-protection -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -Wp,-D_GLIBCXX_ASSERTIONS -flto=auto -Wno-error=non-virtual-dtor -fPIC -DPROTOBUF_USE_DLLS -DNOMINMAX -pthread -MD -MQ libnetcfgmgr.a.p/src_netcfg_proxy-netcfg-device.cpp.o -MF libnetcfgmgr.a.p/src_netcfg_proxy-netcfg-device.cpp.o.d -o libnetcfgmgr.a.p/src_netcfg_proxy-netcfg-device.cpp.o -c ../openvpn3-linux-24.1/src/netcfg/proxy-netcfg-device.cpp
In file included from /usr/include/absl/hash/internal/hash.h:33,
                 from /usr/include/absl/hash/hash.h:89,
                 from /usr/include/absl/container/internal/hash_function_defaults.h:56,
                 from /usr/include/absl/container/hash_container_defaults.h:19,
                 from /usr/include/absl/container/flat_hash_map.h:43,
                 from /usr/include/google/protobuf/descriptor.h:47,
                 from /usr/include/google/protobuf/generated_message_reflection.h:26,
                 from src/dco/dco-keyconfig.pb.h:26,
                 from ../openvpn3-linux-24.1/src/netcfg/proxy-netcfg-device.cpp:37:
/usr/include/c++/15.1.1/ciso646:46:4: error: #warning "<ciso646> is deprecated in C++17, use <version> to detect implementation-specific macros" [-Werror=cpp]
   46 | #  warning "<ciso646> is deprecated in C++17, use <version> to detect implementation-specific macros"
      |    ^~~~~~~
cc1plus: all warnings being treated as errors
[69/156] Compiling C++ object src/ovpn3cli/libcommandscollection.a.p/commands_init-config.cpp.o
ninja: build stopped: subcommand failed.
==> ERROR: A failure occurred in build().
    Aborting...

One can circumvent this by adding -Dwerror=false \ after `build() in PKGBUILD.

schplat commented on 2025-06-03 23:13 (UTC) (edited on 2025-06-03 23:17 (UTC) by schplat)

A fix for not having to go to the older C++ version:

Let it fail to build, retry, edit the PKGBUILD and comment out the source and SHA256SUM for the package:

source=(
#  "https://swupdate.openvpn.net/community/releases/${_pkgname}-${pkgver}.tar.xz"
  'openvpn3.rule'
  'sysusers-openvpn3.conf'
)
sha256sums=(
#  '9ecf8dccdbc601c4325b0248db7cb1e39c8689e3b99f5fc801b42056d68a7256'
  'ec0b8e28ae77b4b074d3eb8a084626e6dcfc587a07bef5d53fe1c6e160c0fc01'
  '045e914bb6fff5a082314dfc805bb511c9a80170619fa1e94a07825fa977c90a'
)

But before continuing on, edit the following files (adjust for the cache directory of your package manager of choice):

~/.cache/trizen/sources/openvpn3/src/openvpn3-linux-24/src/log/logmetadata.hpp
~/.cache/trizen/sources/openvpn3/src/openvpn3-linux-24/subprojects/googletest-release-1.10.0/googletest/src/gtest-death-test.cc

And add in:

#include <cstdint>

On line 20 of the first file, and line 49 of the second. This should allow it to compile normally.