I am following https://wiki.filezilla-project.org/Comp ... er_Windows to compile FileZilla3 in my Windows system.
In MSYS2 MinGW-64 shell, everything works fine till Building wxWidgets
The steps for Building libfilezilla are:
When I execute make && make install command, after some time, I get the error:cd ~
svn co https://svn.filezilla-project.org/svn/l ... illa/trunk libfilezilla
cd libfilezilla
autoreconf -i
./configure --prefix="$HOME/prefix" --enable-shared --disable-static
make && make install
Code: Select all
tls_layer_impl.cpp: In member function 'std::string fz::tls_layer_impl::get_key_exchange() const':
tls_layer_impl.cpp:1625:29: error: 'gnutls_group_get' was not declared in this scope; did you mean 'gnutls_mac_get'?
1625 | s = gnutls_group_get_name(gnutls_group_get(session_));
| ^~~~~~~~~~~~~~~~
| gnutls_mac_get
tls_layer_impl.cpp:1625:7: error: 'gnutls_group_get_name' was not declared in this scope; did you mean 'gnutls_ext_get_name'?
1625 | s = gnutls_group_get_name(gnutls_group_get(session_));
| ^~~~~~~~~~~~~~~~~~~~~
| gnutls_ext_get_name
make[1]: *** [Makefile:857: libfilezilla_la-tls_layer_impl.lo] Error 1
make[1]: Leaving directory '/c/Users/.../libfilezilla/lib'
make: *** [Makefile:485: all-recursive] Error 1
1) I found out the prototypes of these 4 functions at https://www.gnutls.org/manual/gnutls.html as follows:
a)
b)gnutls_group_get()
Function: gnutls_group_t gnutls_group_get (gnutls_session_t session)
session: is a gnutls_session_t type.
Returns the currently used group for key exchange. Only valid when using an elliptic curve or DH ciphersuite.
Returns: the currently used group, a gnutls_group_t type.
Since: 3.6.0
c)gnutls_mac_get()
Function: gnutls_mac_algorithm_t gnutls_mac_get (gnutls_session_t session)
session: is a gnutls_session_t type.
Get the currently used MAC algorithm.
Returns: the currently used mac algorithm, a gnutls_mac_algorithm_t value.
d)gnutls_group_get_name()
Function: const char * gnutls_group_get_name (gnutls_group_t group)
group: is an element from gnutls_group_t
Convert a gnutls_group_t value to a string.
Returns: a string that contains the name of the specified group or NULL .
Since: 3.6.0
Since the functions a) & b) and c) & d) are different, so it would be probably meaningless to replace function a) with b) & c) with d)gnutls_ext_get_name()
Function: const char * gnutls_ext_get_name (unsigned int ext)
ext: is a TLS extension numeric ID
Convert a TLS extension numeric ID to a printable string.
Returns: a pointer to a string that contains the name of the specified cipher, or NULL
2) Then I checked again on https://wiki.filezilla-project.org/Comp ... er_Windows under the part Building GnuTLS where it is mentioned as:
Code: Select all
wget ftp://ftp.gnutls.org/gcrypt/gnutls/v3.5/gnutls-3.5.19.tar.xz
Is there any fix so that I can compile this successfully?
Thanks!