PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : The end of Enigma2 on SH4?



Audioniek
07.10.2022, 03:54
Hello every body,

It appears that the time that has been dreaded for some time has begun: OpenPLi Enigma2 now requires features no longer supported by our ancient STM-originated compiler which' support stopped some five years ago. E2 has switched to sigc++ version 3 and later, and building this version stops as follows:

configure: creating ./config.status
config.status: creating Makefile
config.status: creating sigc++-3.0.pc
config.status: creating sigc++-3.0-uninstalled.pc
config.status: creating cmake/Makefile
config.status: creating sigc++/Makefile
config.status: creating examples/Makefile
config.status: creating tests/Makefile
config.status: creating docs/docs/Makefile
config.status: creating docs/docs/reference/Doxyfile
config.status: creating MSVC_NMake/sigc.rc
config.status: creating config.h
config.status: creating sigc++config.h
config.status: executing depfiles commands
config.status: executing libtool commands
config.status: executing MSVC_NMake/sigc++config.h commands
configure: error: *** A compiler with support for C++17 language features is required.
make/contrib-libs.mk:1132: recipe for target '/home/ndv/abs-git/.deps/libsigc3' failed
make: *** [/home/ndv/abs-git/.deps/libsigc3] Error 1

I suppose in theory it is possible to patch E2 back to sigc++ version 2 compatibility. But I do not think that is good idea. I have tried to build a more recent SH4 cross-compiler using crosstool-ng but so far only succeeded for version 4.9.4. If you can build a cross compiler that supports C++17, please help.

So I am close of stopping support for newer E2 versions, for at least the following reasons:

First: I do not have the time and the knowledge.
Second: I feel these actions are merely a delay of the inevitable as more this kind of problems will pop up in the (near?) future.

Another approach is starting to use OpenvisiosnE2's variant of Enigma2 for SH4, which currently is still using sigc++ 2 (for how long?) but has switched to python3 which also is a new avenue.
At the moment I am very busy adding at least two unsupported SH4 receivers and rather spend my limited time and energy on those.

Any ideas anyone?

Regards,

Audioniek.

pop1234
14.10.2022, 15:35
Hi Audioniek
you Can push your change in git other branch like ( py3_test )
The solution can come from someone
Try to add this Line in enigma2.mk
E_CPPFLAGS += -std=c++17

pop1234
14.10.2022, 18:32
or change this Line in patch
https://github.com/Audioniek/buildsystem/blob/master/patches/libsigc-2.10.6.patch#L14

+MM_AX_CXX_COMPILE_STDCXX_17([noext], [mandatory])

Audioniek
16.10.2022, 10:57
@pop1234:

You have missed the point. Both you suggestions make a compiler capable of c++17 mandatory, but such a compiler is currently not available for SH4. The current versions of Enigma2 and sigc++3.0 require it, and in the future more packages are likely to follow.

Regards,

Audioniek.

pop1234
16.10.2022, 12:08
libsigc3 finish without error ?

Audioniek
19.10.2022, 13:35
No, you cannot compile it. See first post: a compiler with C++17 features is required.

Regards,

Audioniek.

pop1234
21.10.2022, 11:50
Try this -std=c++17 like -std=c++1z
+MM_AX_CXX_COMPILE_STDCXX_1z([noext], [mandatory])

I hope you succeed

- - - Updated - - -

If the error remains, go back to c++11

CXXFLAGS += "-std=c++11" with gcc4.9.4

pop1234
21.10.2022, 18:26
And libsigc 3.0 need package setuptools3 meson

pop1234
18.12.2022, 13:56
try to build with this
https://github.com/dbus-cxx/libsigc--3.0.git
ATV & VIX use this links
https://github.com/OpenViX/enigma2/commit/01e8c3a22242a650963c1d4dad01924c2714e96c

you can contact persian OV
https://github.com/OpenVisionE2/enigma2-openvision-sh4/blob/WXbet-libsigc3/configure.ac#L438
(https://github.com/OpenVisionE2/enigma2-openvision-sh4/blob/WXbet-libsigc3/configure.ac#L438)https://github.com/OpenVisionE2/servicemp3epl/commit/6c025cf30bd5e4365aeec652d7b17aec3c1b6963

(https://github.com/OpenVisionE2/servicemp3epl/commit/6c025cf30bd5e4365aeec652d7b17aec3c1b6963)

Audioniek
23.12.2022, 23:41
@pop1234,

Although I appreciate your efforts, the basic problem remains the same: one needs a compiler with c++17 features to compile libsigc++-3.0 and for SH4, we have not got one. Please read on on the two github sites to read that c++17 is needed. Also note that the links to openvisione2 pertain to beta versions; the actually used ones still use libsigc++-2.0, and I am very curious how they get the beta compiled.

'Regards,
Audioniek.