Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

The editor fails to build on Ubuntu 14.04 #16497

Closed
Calinou opened this issue Feb 8, 2018 · 11 comments
Closed

The editor fails to build on Ubuntu 14.04 #16497

Calinou opened this issue Feb 8, 2018 · 11 comments

Comments

@Calinou
Copy link
Member

Calinou commented Feb 8, 2018

Godot version: Godot Git cbdd410

OS/device including version: Ubuntu 14.04 with GCC 4.8.2 from repositories

Issue description: The editor build fails. See the error log below:

Compiling ==> thirdparty/lws/client/ssl-client.c
Compiling ==> thirdparty/lws/ext/extension.c
thirdparty/lws/client/ssl-client.c: In function 'lws_ssl_client_bio_create':
thirdparty/lws/client/ssl-client.c:147:7: error: 'X509_CHECK_FLAG_NO_PARTIAL_WILDCARDS' undeclared (first use in this function)
       X509_CHECK_FLAG_NO_PARTIAL_WILDCARDS);
       ^
thirdparty/lws/client/ssl-client.c:147:7: note: each undeclared identifier is reported only once for each function it appears in
scons: *** [thirdparty/lws/client/ssl-client.x11.opt.tools.64.o] Error 1
scons: building terminated because of errors.

Full GitLab CI job log

The build succeeds with recent GCC and Clang compilers (tested on Fedora 27). Building export templates works as expected; only editor builds are affected by this issue.

@akien-mga
Copy link
Member

CC @Faless

@akien-mga
Copy link
Member

Ah right, it was mentioned here: #14888 (comment)

We now default to building with builtin_openssl=yes on Travis to work it around. This issue will eventually be fixed once #16519 is merged.

@robfram
Copy link
Contributor

robfram commented Feb 24, 2018

It fails to me in FreeBSD with both options also after #16519.
This is the error message I get trying to compile master (3647ebc):

thirdparty/lws/client/ssl-client.c:147:7: error: use of undeclared identifier
      'X509_CHECK_FLAG_NO_PARTIAL_WILDCARDS'
                                                X509_CHECK_FLAG_NO_PARTIAL_...
                                                ^
thirdparty/lws/client/ssl-client.c:521:9: error: conflicting types for 'd2i_X509'
                X509 *d2i_X509(X509 **cert, const unsigned char *buffer, long len);
                      ^
/usr/local/include/openssl/x509.h:823:1: note: previous declaration is here
DECLARE_ASN1_FUNCTIONS(X509)
^
/usr/local/include/openssl/asn1.h:303:39: note: expanded from macro
      'DECLARE_ASN1_FUNCTIONS'
# define DECLARE_ASN1_FUNCTIONS(type) DECLARE_ASN1_FUNCTIONS_name(type, type)
                                      ^
/usr/local/include/openssl/asn1.h:310:9: note: expanded from macro
      'DECLARE_ASN1_FUNCTIONS_name'
        DECLARE_ASN1_ENCODE_FUNCTIONS(type, name, name)
        ^
/usr/local/include/openssl/asn1.h:317:15: note: expanded from macro
      'DECLARE_ASN1_ENCODE_FUNCTIONS'
        type *d2i_##name(type **a, const unsigned char **in, long len); \
              ^
<scratch space>:19:1: note: expanded from here
d2i_X509
^
2 errors generated.
scons: *** [thirdparty/lws/client/ssl-client.x11.tools.64.llvm.o] Error 1
scons: building terminated because of errors.

I used builtin_openssl=yes and builtin_openssl=no with identical results, and I'm using LLVM as usual.

@Faless
Copy link
Collaborator

Faless commented Feb 26, 2018

@robfram , the issue should be fixed with mbedTLS, the builtin_openssl option does nothing anymore (openssl is not there at all anymore).
Can you try doing a fresh build? Clone the repository from scratch to a new location and compile that?
(as an alternative option try to delete the modules/openssl and thirdparty/openssl folder, plus a git clean -f -x modules/websocket and git clean -f -x thirdparty/lws)

@robfram
Copy link
Contributor

robfram commented Feb 26, 2018

I just followed your instructions. Same result with a fresh clone.

[Initial build] Compiling ==> thirdparty/lws/client/ssl-client.c
thirdparty/lws/client/ssl-client.c:147:7: error: use of undeclared identifier
      'X509_CHECK_FLAG_NO_PARTIAL_WILDCARDS'
                                                X509_CHECK_FLAG_NO_PARTI...

And so on.

Any thoughs?

@Faless
Copy link
Collaborator

Faless commented Feb 28, 2018

I've just tried compiling with FreeBSD 11.1 and I'm actually getting an error about malloc.h not being available on FreeBSD, fixing that, it compiles fine (with builtin_mbedtls=yes).

@robfram
Copy link
Contributor

robfram commented Feb 28, 2018

I understand no ssl library is needed installed in the system then, like openssl. Any dependence required to compile? Any package version? What scons command line arguments did you use?

Which version of LLVM are you using? I'm not sure if it's using 5.0.0 or 4.0.1.

@Faless
Copy link
Collaborator

Faless commented Feb 28, 2018

@robfram , let's move the FreeBSD discussion on #16991

@robfram
Copy link
Contributor

robfram commented Feb 28, 2018

@Faless , ok. I didn't do it because I though the compilation error was more an openssl case than the mbedtls.

@Faless
Copy link
Collaborator

Faless commented Feb 28, 2018

@Calinou this seems fixed in current master, can you confirm?

@Faless
Copy link
Collaborator

Faless commented Mar 1, 2018

Tried out building editor and release on Ubuntu 14.04, all good. Fixed by #16519 (+ #17115 on FreeBSD)

@Faless Faless closed this as completed Mar 1, 2018
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

4 participants