-
Notifications
You must be signed in to change notification settings - Fork 33
vdr 2.2.0 not possible to compile latest vnsiserver #113
Comments
you have those options:
vdr should not define functions already defined by c++. since version 2.3.7 vdr provides a work around for this issue. |
OK, that was fast! ;) At the moment I don't have the time to check vdr 2.4.0. So "vnsiserver 1.6" is the latest compatible version to vdr 2.2.0? One last thing. Please tell me the command to git clone vnsiserver 1.6. In the past I always did:
But with this command I get the latest master code, which isn't compatible. Thanks and regards Hoppel |
no, just for the time being. master is a development branch that can break. I am grateful for posts like this because I can't test all scenarios myself. I hope I find a way make it compile with 2.2 again.
no need to clone again. just update the clone with checkout the tag if you want to test master again: |
WOW... Thanks for your help. It's much appreciated. I learned something new. The described procedure worked as expected.
Testing all scenarios may be a waste of time and a waste of your capabilities. So it's ok that you test the vnsiserver against the latest stable vdr version only.
That would be great. But for the moment I am fine with the situation. For me the issue is solved and can be closed. But if you want me to test a solution, if you have one, you can leave it open. It's your decision. Thank you very much! Have a nice evening! Regards Hoppel |
master should work now with 2.2 |
tried to build latest master, but it stops with the following error:
Do you need any further information? Thanks and regards Hoppel |
i pushed a fix. could you try again when you get some time? |
The latest version of vdr-plugin-vnsiserver can be build successfully if the change in tools.h introduced in vdr 2.3.7 is backported: $ diff -Nurp vdr-2.2.0/tools.h vdr-2.2.0_stl_patch/tools.h
--- vdr-2.2.0/tools.h 2015-02-07 16:12:26.000000000 +0100
+++ vdr-2.2.0_stl_patch/tools.h 2018-07-27 10:35:09.228920486 +0200
@@ -50,12 +50,19 @@ template<class T> inline void DELETENULL
#define CHECK(s) { if ((s) < 0) LOG_ERROR; } // used for 'ioctl()' calls
#define FATALERRNO (errno && errno != EAGAIN && errno != EINTR)
-#ifndef __STL_CONFIG_H // in case some plugin needs to use the STL
+// In case some plugin needs to use the STL and gets an error message regarding one
+// of these functions, you can #define DISABLE_TEMPLATES_COLLIDING_WITH_STL before
+// including tools.h.
+#if !defined(__STL_CONFIG_H) // for old versions of the STL
+#if !defined(DISABLE_TEMPLATES_COLLIDING_WITH_STL) && !defined(_STL_ALGOBASE_H)
template<class T> inline T min(T a, T b) { return a <= b ? a : b; }
template<class T> inline T max(T a, T b) { return a >= b ? a : b; }
+#endif
template<class T> inline int sgn(T a) { return a < 0 ? -1 : a > 0 ? 1 : 0; }
+#if !defined(DISABLE_TEMPLATES_COLLIDING_WITH_STL) && !defined(_MOVE_H)
template<class T> inline void swap(T &a, T &b) { T t = a; a = b; b = t; }
#endif
+#endif
template<class T> inline T constrain(T v, T l, T h) { return v < l ? l : v > h ? h : v; }
|
@seahawk1986 should not be required anymore with my recent changes |
When compiling the plugin against a VDR 2.2.0 on Ubuntu 14.04 without the patch above, the build fails:
Instead of patching the VDR, defining
|
are you kidding? who cares about stone age. |
The age doesn't really matter in this case - it's the same problem when running Ubuntu 16.04:
And with Ubuntu 18.04:
|
@seahawk1986 thanks, I adopted your patch from above. 2ed5d19 |
TOP! Compiling the latest version works as expected.
Fantastic! Thank you very much @FernetMenta and @seahawk1986 In my opinion this issue can be closed. Regards Hoppel |
Hi guys,
I am using debian 9 (openmediavault 4) with latest packages installed. I am using the following configuration for the last half year:
Now I wanted to build the latest vnsiserver-plugin.
But it stops with the following error:
The text was updated successfully, but these errors were encountered: