Trouble in make of quickbms in Archlinux

Doubts, help and support about QuickBMS and other game research tools
codex
Posts: 1
Joined: Fri Apr 28, 2017 4:31 am

Trouble in make of quickbms in Archlinux

Post by codex »

I got the following errors in the make file:

Code: Select all

perform.c: In function ‘do_quickbms_hmac’:
perform.c:925:31: error: invalid application of ‘sizeof’ to incomplete type ‘EVP_MD_CTX {aka struct evp_md_ctx_st}’
     tmpctx = calloc(1, sizeof(EVP_MD_CTX));
                               ^~~~~~~~~~
perform.c: In function ‘perform_encryption’:
perform.c:976:24: error: dereferencing pointer to incomplete type ‘EVP_CIPHER_CTX {aka struct evp_cipher_ctx_st}’
             i = evp_ctx->encrypt;
                        ^~
In file included from quickbms.c:589:0:
cmd.c: In function ‘createRSA’:
cmd.c:4384:16: error: dereferencing pointer to incomplete type ‘RSA {aka struct rsa_st}’
         rsa_key->n = BN_bin2bn(key,  keysz,  rsa_key->n);   // n
                ^~
cmd.c: In function ‘CMD_Encryption_func’:
cmd.c:5323:42: error: invalid application of ‘sizeof’ to incomplete type ‘EVP_MD_CTX {aka struct evp_md_ctx_st}’
             evpmd_ctx = calloc(1, sizeof(EVP_MD_CTX));
                                          ^~~~~~~~~~
cmd.c:5328:41: error: invalid application of ‘sizeof’ to incomplete type ‘HMAC_CTX {aka struct hmac_ctx_st}’
             hmac_ctx = calloc(1, sizeof(HMAC_CTX));
                                         ^~~~~~~~
In file included from quickbms.c:589:0:
cmd.c:5374:36: error: invalid application of ‘sizeof’ to incomplete type ‘EVP_CIPHER_CTX {aka struct evp_cipher_ctx_st}’
         evp_ctx = calloc(1, sizeof(EVP_CIPHER_CTX));
                                    ^~~~~~~~~~~~~~
In file included from quickbms.c:589:0:
cmd.c:5392:38: error: invalid application of ‘sizeof’ to incomplete type ‘EVP_MD_CTX {aka struct evp_md_ctx_st}’
         evpmd_ctx = calloc(1, sizeof(EVP_MD_CTX));
                                      ^~~~~~~~~~
cmd.c:5400:41: error: invalid application of ‘sizeof’ to incomplete type ‘HMAC_CTX {aka struct hmac_ctx_st}’
             hmac_ctx = calloc(1, sizeof(HMAC_CTX));
                                         ^~~~~~~~
make: *** [Makefile:25: all] Error 1
==> ERROR: A failure occurred in build().
    Aborting...
==> ERROR: Makepkg was unable to build quickbms.

Also i give the same error with the AUR packages.
aluigi
Site Admin
Posts: 12984
Joined: Wed Jul 30, 2014 9:32 pm

Re: Trouble in make of quickbms in Archlinux

Post by aluigi »

It's a problem of openssl 1.1 that broke compatibility with 1.0:
viewtopic.php?f=13&t=4088
z3ntu
Posts: 3
Joined: Tue Jun 14, 2016 11:59 am

Re: Trouble in make of quickbms in Archlinux

Post by z3ntu »

(I'm the AUR package maintainer)
@codex Please report compilation issues the next times in the AUR comments, that way I can actually fix them. ;)

But anyways, I have updated the quickbms package which is forcing the compilation with openssl 1.0. Tested only on x86_64 but should also work in i686.