Jump to content
  • 0

Can't build on debian 9


curatio

Question

Hello,

 

I can't build the newest release of mangos zero on my Debian 9 system.

I get the following error:

 

[ 39%] Building CXX object src/shared/CMakeFiles/shared.dir/Auth/ARC4.cpp.o
In file included from /home/mangos/mangoszero/serverZero/src/shared/Auth/ARC4.cpp:26:0:
/home/mangos/mangoszero/serverZero/src/shared/Auth/ARC4.h:41:24: error: field ‘m_ctx’ has incomplete type ‘EVP_CIPHER_CTX {aka evp_cipher_ctx_st}’
         EVP_CIPHER_CTX m_ctx;
                        ^~~~~
In file included from /usr/include/openssl/evp.h:14:0,
                 from /home/mangos/mangoszero/serverZero/src/shared/Auth/ARC4.h:29,
                 from /home/mangos/mangoszero/serverZero/src/shared/Auth/ARC4.cpp:26:
/usr/include/openssl/ossl_typ.h:90:16: note: forward declaration of ‘EVP_CIPHER_CTX {aka struct evp_cipher_ctx_st}’
 typedef struct evp_cipher_ctx_st EVP_CIPHER_CTX;
                ^~~~~~~~~~~~~~~~~
src/shared/CMakeFiles/shared.dir/build.make:62: die Regel für Ziel „src/shared/CMakeFiles/shared.dir/Auth/ARC4.cpp.o“ scheiterte
make[2]: *** [src/shared/CMakeFiles/shared.dir/Auth/ARC4.cpp.o] Fehler 1
CMakeFiles/Makefile2:809: die Regel für Ziel „src/shared/CMakeFiles/shared.dir/all“ scheiterte
make[1]: *** [src/shared/CMakeFiles/shared.dir/all] Fehler 2
Makefile:116: die Regel für Ziel „all“ scheiterte
make: *** [all] Fehler 2

On Debian 8.8 I could build the mangos zero client for a couple of weeks.

Is this a global problem on Debian 9 with mangos or just a problem I have?

 

Thanks,

 

curatio

Link to comment
Share on other sites

6 answers to this question

Recommended Posts

Hello Curatio,

No one is working on this AFAIK. At least, no one tu spport OpenSSL 1.1.0. The workaround is, as Olion mentionned, get the sources of OpenSSL1.0.x and compile them against Debian v9. Or find a repository that provides Openssl 1.0.x on Debian 9.

Talendrys

Link to comment
Share on other sites

Hello,

Yes, sure ! There's a function at the top that checks the Linux distribution to download the right dependencies (look for lsb_release inside the script), you need to add the right 'switch case' instruction there. Then, have a look to the requested dependencies.

I also see that the build is failing because of OpenSSL, I'm afraid your version would be too recent compared to the expected one from Mangos :( For security reasons, it's dangerous to do this but you could downgrade your openssl version to have it working. In fact, I think it's the only missing piece here..

 

Tal'

Link to comment
Share on other sites

It is a known issue related to OpenSSL progress from 1.0.1 to 1.1.0, see for example this and wiki reference within. The main statement:

Quote

Supporting < 1.1.0 and 1.1.0 at the same time will probably require lots of #ifdef and/or wrapper functions like the OpenSSL wiki page suggests.

Thus, in 1.1.0 declaration from ARC4.h

EVP_CIPHER_CTX m_ctx;

became illegal. This is a task for developers.

A fast practical solution is building the core against OpenSSL 1.0.1, which is the default version for Debian 8.

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. Privacy Policy Terms of Use