手機 - Motorola XT897 - Sailfish OS 4.4.0.68 - 解決error: gnutls_privkey_import_dsa_raw undeclared here問題



問題如下:

$ make
    gcc -c -o dlls/bcrypt/gnutls.o dlls/bcrypt/gnutls.c -Idlls/bcrypt -Iinclude -D__WINESRC__ -DWINE_UNIX_LIB \
      -I/usr/include/p11-kit-1 -Wall -pipe -fcf-protection=none -fno-stack-protector \
      -fno-strict-aliasing -Wdeclaration-after-statement -Wempty-body -Wignored-qualifiers -Winit-self \
      -Wno-packed-not-aligned -Wshift-overflow=2 -Wstrict-prototypes -Wtype-limits \
      -Wunused-but-set-parameter -Wvla -Wwrite-strings -Wpointer-arith -Wlogical-op -gdwarf-4 -fPIC \
      -fasynchronous-unwind-tables -g -O2 -mthumb -mfloat-abi=hard
    dlls/bcrypt/gnutls.c:160:14: error: ‘gnutls_privkey_import_dsa_raw’ undeclared here (not in a function); did you mean ‘pgnutls_privkey_import_rsa_raw’?
     MAKE_FUNCPTR(gnutls_privkey_import_dsa_raw);
                  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    dlls/bcrypt/gnutls.c:148:39: note: in definition of macro ‘MAKE_FUNCPTR’
     #define MAKE_FUNCPTR(f) static typeof(f) * p##f
                                           ^
    dlls/bcrypt/gnutls.c:164:14: error: ‘gnutls_pubkey_encrypt_data’ undeclared here (not in a function); did you mean ‘pgnutls_pubkey_encrypt_data’?
     MAKE_FUNCPTR(gnutls_pubkey_encrypt_data);
                  ^~~~~~~~~~~~~~~~~~~~~~~~~~
    dlls/bcrypt/gnutls.c:148:39: note: in definition of macro ‘MAKE_FUNCPTR’
     #define MAKE_FUNCPTR(f) static typeof(f) * p##f
                                           ^
    dlls/bcrypt/gnutls.c:148:44: error: conflicting types for ‘pgnutls_pubkey_encrypt_data’
     #define MAKE_FUNCPTR(f) static typeof(f) * p##f

解法如下:

$ sudo zypper install gnutls37-devel