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.
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.