Тесты OpenSSL терпят неудачу на Windows, собранной со stati c версией библиотеки времени выполнения с использованием параметра компилятора / MT - PullRequest
0 голосов
/ 02 апреля 2020

Я пытаюсь собрать OpenSSL 1.1.1f для Windows, используя:

  • последняя версия Visual Studio 2019 (v16.4.6)
  • Strawberry Perl (perl 5, версия 28, subversion 1 (v5.28.1), построенная для MSWin32-x86-multi-thread-64int)
  • Windows 10 64-разрядная

Я следую инструкциям { ссылка }, в основном:

  • Загрузите OpenSSL 1.1.1f с официального сайта
  • perl Configure VC-WIN32 no-asm --prefix=C:\some_dir\ --libdir=lib --openssldir=conf
  • в openssl-1.1.1e\makefile меняю /MD на /MT
  • в консоле x86 Native Tools Command Prompt for VS 2019:
    • nmake
    • тест nmake

Сборка выполнена успешно, однако многие тесты не пройдены. Вот фрагмент из журнала:

test\recipes\01-test_abort.t .................... ok
test\recipes\01-test_sanity.t ................... Dubious, test returned 1 (wstat 256, 0x100)
Failed 1/1 subtests
test\recipes\01-test_symbol_presence.t .......... ok
test\recipes\01-test_test.t ..................... Dubious, test returned 1 (wstat 256, 0x100)
Failed 1/1 subtests
test\recipes\02-test_errstr.t ................... skipped: This is unsupported on MSYS/MinGW or MSWin32
test\recipes\02-test_internal_ctype.t ........... ok
test\recipes\02-test_lhash.t .................... Dubious, test returned 1 (wstat 256, 0x100)
Failed 1/1 subtests
test\recipes\02-test_ordinals.t ................. ok
test\recipes\02-test_stack.t .................... Dubious, test returned 1 (wstat 256, 0x100)
Failed 1/1 subtests
test\recipes\03-test_exdata.t ................... Dubious, test returned 1 (wstat 256, 0x100)
Failed 1/1 subtests
test\recipes\03-test_internal_asn1.t ............ ok
test\recipes\03-test_internal_chacha.t .......... ok
test\recipes\03-test_internal_curve448.t ........ ok
test\recipes\03-test_internal_ec.t .............. ok
test\recipes\03-test_internal_mdc2.t ............ Dubious, test returned 1 (wstat 256, 0x100)
Failed 1/1 subtests

Если я запускаю тесты в подробном режиме с использованием nmake test V=1, раскрываются дополнительные подробности:

Dubious, test returned 1 (wstat 256, 0x100)
Failed 1/1 subtests
test\recipes\04-test_bio_callback.t .............
1..1
OPENSSL_Uplink(798E0330,08): no OPENSSL_Applink
..\bio_callback_test.exe => 1
not ok 1 - running bio_callback_test

Почему тесты не пройдены, и как это исправить? Мне нужно собрать OpenSSL с /MT

Примечания:

  • Если я не изменюсь /MD до /MT тогда все работает как положено, и все тесты проходят
  • Работает сборка предыдущих версий OpenSSL, например 1.0.1, но начиная с 1.1.x они терпят неудачу
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...