Comments (12)
@M00N-MAN, thanks a lot for digging into this and testing it. Yes, it sounds plausible this can work - at least on 32-bit platforms. At the same time, the whole int
/long
complexity is a bit convoluted, so we need to test this thoroughly on all platforms.
from openvpn3-linux.
We do not build packages for it but self building it on Raspian should work. Note that we will provide images for Ubuntu on ARM64, which also runs on Raspian
from openvpn3-linux.
Thanks for the quick response,
I tried to build it in the Rpi (armv7l architecture) with the following 2 methods but both failed.
When I build it in raspberry pi with the default Rasbian OS I receive the following error.
In file included from src/configmgr/configmgr.hpp:36,
from src/configmgr/openvpn3-service-configmgr.cpp:23:
./src/dbus/object-property.hpp:127:67: error: call of overloaded ‘GetVariantValue(GVariant*&)’ is ambiguous
When I build it in raspberry pi through an Ubuntu Armv7 Docker Image I receive the following error.
In file included from src/configmgr/configmgr.hpp:36:0,
from src/configmgr/openvpn3-service-configmgr.cpp:23:
./src/dbus/object-property.hpp:115:48: error: call of overloaded 'GetDBusDataType()' is ambiguous
? GLibUtils::GetDBusDataType()
Any thoughts ?
from openvpn3-linux.
Which compiler and which version of it do you use?
from openvpn3-linux.
@dsommers did we ever fix the compile on certain 32 bit architectures bug?
from openvpn3-linux.
@schwabe I believe we did, but from a quick glance this looks like a different issue, as it is triggered by a template in dbus/object-property.hpp this time. Last time it was related to different int size interpretations in glibutils.hpp
from openvpn3-linux.
With the v14_beta release, which is going out today, we do support arm64 platforms. The 32-bit platforms in general are currently not supported, and the armv7l architecture is a 32-bit platform.
from openvpn3-linux.
We do not build packages for it but self building it on Raspian should work. Note that we will provide images for Ubuntu on ARM64, which also runs on Raspian
could you please provide instruction to compile on odroid xu4 (arm 32 bit)?
thanks
from openvpn3-linux.
@bibiefart It's not that easy. We need a proper solution for handling integer data types in src/dbus/glibutils.hpp on 32 bit systems, which currently conflicts with 64 bit systems. First functions to get fixed is GLibUtils::GetDBusDataType()
and GLibUtils::GetVariantValu()
, but I suspect it is also needed to fix GlibUtils::ExtractValue()
.
from openvpn3-linux.
why just not use
template<> inline const char* GetDBusDataType<int>() {return "i";}
template<> inline const char* GetDBusDataType<long>() {return "i";}
template<> inline int GetVariantValue<int>(GVariant *v) {return g_variant_get_int32(v);}
template<> inline long GetVariantValue<long>(GVariant *v) {return g_variant_get_int32(v);}
???
with lines above the compilation on buster/rpi4 is ok:)
i just dunno which test covers this portion, please let me know (too new to openvpn3'rd version)
otherwise with these templates in glibutils.hpp gcc and clang are saying that GetDBusDataType(); and GetDBusDataType() are ambiguos... because it is obvious that GetDBusDataType<T/int or long/>() wont't be used as definition of this declaration template inline const char* GetDBusDataType(); because there should be template<> specialiation, but not another function.
same with GetVariantValue()
don't you think so?
please share the contr-cases to take attention to.
from openvpn3-linux.
Any plans to move this forward or is 32 bit dead for OpenVPN3?
from openvpn3-linux.
To be honest, in general 32 bit OSes is not high up on the priority list at all. In Linux 64-bit has had a huge focus the last 15+ years, and even embedded devices are now commonly on 64 bit architectures as well.
In addition, we are exploring an alternative D-Bus implementation to glib2 -which riddles us with various issues and challenges. The new alternative implementation will be a pure C++ implementation and not a C library wrapped into C++ classes. I suspect many of these issues might be better solved with the new implementation. However, we don't have any ETA for that yet. But it will get a lot more focus after the first stable version has been released (which is planned to be either v20 or v21, depending on issues found in the just released v19_beta).
from openvpn3-linux.
Related Issues (20)
- session-manage --cleanup doesn't always clean up? HOT 4
- Ubuntu 23.10 - Failed to execute program net.openvpn.v3.sessions: Permission denied error persists. HOT 1
- TLS Error with openvpn3 HOT 14
- Route metrics HOT 2
- non-interactive auth-user-pass mode with dummy data HOT 6
- ** ERROR ** Configuration profile name "CloudConnexa" already exists HOT 9
- StatusManagerEvent signal is sent before backend client service is ready HOT 14
- Provided script for connector installation failed HOT 1
- OpenVPN3 v21, U 23.10 and CloudConnexa DIVE HOT 1
- Failed to start session with CloudConnexa on Fedora Linux HOT 3
- D-Bus API: requests for improvements HOT 2
- OpenVPN3 doesn't set back previous DNS after disconnect using systemd-resolved in stub mode HOT 1
- Support Synology DSM? HOT 2
- Can't access sites via domain only via ip
- <connection> profiles are non-functional + unkown/unsupported option details are lacking HOT 11
- Error after ArchLinux upgrade HOT 1
- Add support for resolvconf interface HOT 1
- Support for ubuntu 24.04 HOT 4
- How to check the encryption protocol used when connecting to openvpn HOT 1
- openvpn3 config-import --persistent doesn't persist over reboot HOT 12
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from openvpn3-linux.