Skip to content
This repository was archived by the owner on Apr 13, 2019. It is now read-only.
This repository was archived by the owner on Apr 13, 2019. It is now read-only.

Unable to compile on Arch Linux with new OpenSSL version #16

@maufl

Description

@maufl

Hi, I'm trying to compile this library on Arch Linux (rolling release). The system OpenSSL library has version 1.1 but and the compilation fails with

/home/maufl/Code/ccnx/PARC/Libparc/parc/security/parc_SymmetricKeySigner.c: In function ‘_hmacCreate’:
/home/maufl/Code/ccnx/PARC/Libparc/parc/security/parc_SymmetricKeySigner.c:108:48: error: invalid application of ‘sizeof’ to incomplete type ‘HMAC_CTX {aka struct hmac_ctx_st}’
     HMAC_CTX *ctx = parcMemory_Allocate(sizeof(HMAC_CTX) * 2);

There is also a legacy OpenSSL library 1.0 which is installed but I'm not sure how to properly instruct CMake to use it. I tried various combinations of -DOPENSSL_ROOT and -DOPENSSL_INCLUDE and so forth but I always receive an error like

[ 83%] Linking C executable test_parc_X509Certificate                                 
../../libparc.a(parc_Security.c.o): In function `_getThreadId':                                     
parc_Security.c:(.text+0x140): undefined reference to `CRYPTO_THREADID_set_numeric'                                    
../../libparc.a(parc_Security.c.o): In function `_initLocks':                              
parc_Security.c:(.text+0x151): undefined reference to `CRYPTO_num_locks'                                                                                  
parc_Security.c:(.text+0x19f): undefined reference to `CRYPTO_num_locks'                  
parc_Security.c:(.text+0x247): undefined reference to `CRYPTO_num_locks'                        
parc_Security.c:(.text+0x258): undefined reference to `CRYPTO_THREADID_set_callback'     
parc_Security.c:(.text+0x264): undefined reference to `CRYPTO_set_locking_callback'                                    
../../libparc.a(parc_Security.c.o): In function `_finiLocks':                              
parc_Security.c:(.text+0x27e): undefined reference to `CRYPTO_set_locking_callback'                                    
parc_Security.c:(.text+0x2b6): undefined reference to `CRYPTO_num_locks'                                               
../../libparc.a(parc_Security.c.o): In function `parcSecurity_Init':                            
parc_Security.c:(.text+0x3ef): undefined reference to `OPENSSL_add_all_algorithms_noconf'
parc_Security.c:(.text+0x3f4): undefined reference to `ERR_load_crypto_strings'
../../libparc.a(parc_Security.c.o): In function `parcSecurity_Fini':
parc_Security.c:(.text+0x55c): undefined reference to `EVP_cleanup'
parc_Security.c:(.text+0x561): undefined reference to `ERR_free_strings'

I try to install this library to satisfy the dependencies of libccnx-common.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions