Can't refer to EVP_DigestSign and EVP_DigestVerify when make check OSSLEDDSATests of Softhsmv2

165 Views Asked by At

I'm trying to update my installation with openssl 1.1.1j and SoftHSMv2 v2.6.1, command "make" is passed, but "make check" is failed. can't refer to EVP_DigestSign and EVP_DigestVerify in OSSLEDDSA.cpp. the logs is :

Making check in src
make[1]: 进入目录“/home/centos/gopath/src/liucy/SoftHSMv2/src”
Making check in lib
make[2]: 进入目录“/home/centos/gopath/src/liucy/SoftHSMv2/src/lib”
Making check in common
make[3]: 进入目录“/home/centos/gopath/src/liucy/SoftHSMv2/src/lib/common”
make[3]: 对“check”无需做任何事。
make[3]: 离开目录“/home/centos/gopath/src/liucy/SoftHSMv2/src/lib/common”
Making check in crypto
make[3]: 进入目录“/home/centos/gopath/src/liucy/SoftHSMv2/src/lib/crypto”
Making check in test
make[4]: 进入目录“/home/centos/gopath/src/liucy/SoftHSMv2/src/lib/crypto/test”
make cryptotest
make[5]: 进入目录“/home/centos/gopath/src/liucy/SoftHSMv2/src/lib/crypto/test”
/bin/sh ../../../../libtool --tag=CXX --mode=link g++ -g -O2 -Wall -Wextra -fvisibility=hidden -lcrypto -L/usr/local/lib -lcppunit -ldl -no-install -o cryptotest cryptotest.o AESTests.o DESTests.o DHTests.o DSATests.o ECDHTests.o ECDSATests.o EDDSATests.o GOSTTests.o HashTests.o MacTests.o RNGTests.o RSATests.o chisq.o ent.o iso8859.o randtest.o ../../libsofthsm_convarch.la -ldl
libtool: link: g++ -g -O2 -Wall -Wextra -fvisibility=hidden -o cryptotest cryptotest.o AESTests.o DESTests.o DHTests.o DSATests.o ECDHTests.o ECDSATests.o EDDSATests.o GOSTTests.o HashTests.o MacTests.o RNGTests.o RSATests.o chisq.o ent.o iso8859.o randtest.o -L/usr/local/lib /usr/local/lib/libcppunit.so ../../.libs/libsofthsm_convarch.a -lcrypto /usr/lib/../lib64/libstdc++.so -lm -ldl -Wl,-rpath -Wl,/usr/local/lib -Wl,-rpath -Wl,/usr/lib/../lib64 -Wl,-rpath -Wl,/usr/local/lib -Wl,-rpath -Wl,/usr/lib/../lib64
../../.libs/libsofthsm_convarch.a(OSSLEDDSA.o): In function OSSLEDDSA::sign(PrivateKey*, ByteString const&, ByteString&, AsymMech::Type, void const*, unsigned long)': /home/centos/gopath/src/liucy/SoftHSMv2/src/lib/crypto/OSSLEDDSA.cpp:94: undefined reference to EVP_DigestSign'
../../.libs/libsofthsm_convarch.a(OSSLEDDSA.o): In function OSSLEDDSA::verify(PublicKey*, ByteString const&, ByteString const&, AsymMech::Type, void const*, unsigned long)': /home/centos/gopath/src/liucy/SoftHSMv2/src/lib/crypto/OSSLEDDSA.cpp:175: undefined reference to EVP_DigestVerify'
collect2: error: ld returned 1 exit status
make[5]: *** [cryptotest] 错误 1
make[5]: 离开目录“/home/centos/gopath/src/liucy/SoftHSMv2/src/lib/crypto/test”
make[4]: *** [check-am] 错误 2
make[4]: 离开目录“/home/centos/gopath/src/liucy/SoftHSMv2/src/lib/crypto/test”
make[3]: *** [check-recursive] 错误 1
make[3]: 离开目录“/home/centos/gopath/src/liucy/SoftHSMv2/src/lib/crypto”
make[2]: *** [check-recursive] 错误 1
make[2]: 离开目录“/home/centos/gopath/src/liucy/SoftHSMv2/src/lib”
make[1]: *** [check-recursive] 错误 1
make[1]: 离开目录“/home/centos/gopath/src/liucy/SoftHSMv2/src”
make: *** [check-recursive] 错误 1

I try to delete the OSSLEDDSA from makefile, "make check" is passed.

in addition, based on the same server environment, I write a demo to invoke "EVP_DigestSign" simply , it is also passed.

so, I don't know what wrong is in my environment, need some help, thanks.

1

There are 1 best solutions below

0
c20liu On

I have always suspected that it is an environmental problem. because of "make" can be passed, so I feel confused.

Anyway, after telling SoftHSM's configure script where to find the OpenSSL, "make check" is passed.