Thanks Jim, “Make Q=” pointed out my mistake pretty quickly…  the issue was in my unit test code, the reference to the source below is, of course, because it was included by the UT c file.  Just needed a mock.


From: SPDK [] On Behalf Of Harris, James R
Sent: Monday, July 30, 2018 1:05 PM
To: Storage Performance Development Kit <>
Subject: Re: [SPDK] DPDK linking, include question


Hi Paul,


Can you provide more context for the linker failure including complete logs?  Also, prepending with “Q=” will give the full linker line.







From: SPDK <> on behalf of Paul E Luse <>
Reply-To: Storage Performance Development Kit <>
Date: Monday, July 30, 2018 at 12:37 PM
To: Storage Performance Development Kit <>
Subject: [SPDK] DPDK linking, include question



Wrt the crypto module I have the need to make a function call to a function that is declared/defined in rte_cryotp.h- a function called rte_crypto_op_free() (see section 14.4.4) as I believe I’ve been freeing crypto operation incorrectly and this is potentially the root cause for a data miscompare I get w/65K & >32 qd loads with bdevper and –verify option.


Anyway, I get a linker error (below) even though I have rte_crypto.h included and rte_cryptodev library is properly linked.


/home/peluse/spdk/lib/bdev/crypto/vbdev_crypto.c:420: undefined reference to `rte_crypto_op_free'

collect2: error: ld returned 1 exit status


Also note that I make other calls like rte_crypto_op_pool_create() that is defined in the same file but I have no problems ther.


Am I missing something really, really obvious here?