Я пытаюсь создать Openssl-3.0.0 из основного ответвления для использования ktls функции на Ubuntu 16, но сборка пропускает ktls функцию
даже при том, что я использую Ubuntu 16.04.1 (Версия ядра: 4.15) так или иначе эта сборка берет более старую версию заголовков ядрa, которые не присутствуют в моем хосте и функции KTLS пропуска,
я пропускаю что-то здесь? некоторые могут помочь мне создающий этот компонент?
Вот шаги
kafka-secure2:/usr/src$ uname -a
Linux kafka-secure2 4.15.0-50-generic #54~16.04.1-Ubuntu SMP Wed May 8 15:55:19 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux
kafka-secure2:/usr/src$ find . -name version.h
./linux-headers-4.15.0-52/include/xen/interface/version.h
./linux-headers-4.15.0-52/include/uapi/linux/dvb/version.h
./linux-headers-4.15.0-50-generic/include/config/arch/want/compat/ipc/parse/version.h
./linux-headers-4.15.0-50-generic/include/generated/uapi/linux/version.h
./linux-headers-4.15.0-50/include/linux/version.h
./linux-headers-4.15.0-50/include/xen/interface/version.h
./linux-headers-4.15.0-50/include/uapi/linux/dvb/version.h
./linux-headers-4.15.0-52-generic/include/config/arch/want/compat/ipc/parse/version.h
./linux-headers-4.15.0-52-generic/include/generated/uapi/linux/version.h
kafka-secure2:~/sanat/openssl-build$ $HOME/sanat/openssl-master/config enable-ktls --prefix=/home/kafka/openssl/openssl --openssldir=/home/kafka/openssl/ssl
Operating system: x86_64-whatever-linux2
Configuring OpenSSL version 3.0.0-dev for target linux-x86_64
Using os-specific seed configuration
cat: /usr/include/linux/version.h: No such file or directory <====================Still looking for this version.h
Creating configdata.pm
Creating Makefile
**********************************************************************
*** ***
*** OpenSSL has been successfully configured ***
*** ***
*** If you encounter a problem while building, please open an ***
*** issue on GitHub <https://github.com/openssl/openssl/issues> ***
*** and include the output from the following command: ***
*** ***
*** perl configdata.pm --dump ***
*** ***
*** (If you are new to OpenSSL, you might want to consult the ***
*** 'Troubleshooting' section in the INSTALL file first) ***
*** ***
**********************************************************************
kafka-secure2:~/sanat/openssl-build$ ./configdata.pm -o
Enabled features:
......
Disabled features:
ktls [too-old-kernel]
asan [default] OPENSSL_NO_ASAN
buildtest-c++ [default]
linux-headers-4.15.0-50/ linux-headers-4.15.0-50-generic/ linux-headers-4.15.0-52/ linux-headers-4.15.0-52-generic/
kafka-secure2:~/kafka/kafka_2.12-1.1.1$ cat /usr/src/linux-headers-4.15.0-50-generic/include/generated/uapi/linux/version.h
#define LINUX_VERSION_CODE 266002
#define KERNEL_VERSION(a,b,c) (((a) << 16) + ((b) << 8) + (c))
kafka-secure2:/usr/src$ cp ./linux-headers-4.15.0-50-generic/include/generated/uapi/linux/version.h /usr/include/linux/
kafka-secure2:~/sanat/openssl-build$ $HOME/sanat/openssl-master/config enable-ktls --prefix=/home/kafka/openssl/openssl --openssldir=/home/kafka/openssl/ssl
Operating system: x86_64-whatever-linux2
Configuring OpenSSL version 3.0.0-dev for target linux-x86_64
Using os-specific seed configuration
Creating configdata.pm
Creating Makefile
**********************************************************************
*** ***
*** OpenSSL has been successfully configured ***
*** ***
*** If you encounter a problem while building, please open an ***
*** issue on GitHub <https://github.com/openssl/openssl/issues> ***
*** and include the output from the following command: ***
*** ***
*** perl configdata.pm --dump ***
*** ***
*** (If you are new to OpenSSL, you might want to consult the ***
*** 'Troubleshooting' section in the INSTALL file first) ***
*** ***
**********************************************************************
kafka-secure2:~/sanat/openssl-build$ ./configdata.pm -o
Enabled features:
ktls
afalgeng
...
kafka-secure2:~/sanat/openssl-build$ make
ssl-master/providers/common/ciphers -I../openssl-master/crypto -DAES_ASM -DBSAES_ASM -DECP_NISTZ256_ASM -DGHASH_ASM -DKECCAK1600_ASM -DMD5_ASM -DOPENSSL_BN_ASM_GF2m -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_MONT5 -DOPENSSL_CPUID_OBJ -DPOLY1305_ASM -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DVPAES_ASM -DWHIRLPOOL_ASM -DX25519_ASM -fPIC -pthread -m64 -Wall -O3 -DOPENSSL_USE_NODELETE -DL_ENDIAN -DOPENSSL_PIC -DOPENSSLDIR="\"/home/kafka/openssl/ssl\"" -DENGINESDIR="\"/home/kafka/openssl/openssl/lib/engines-3\"" -DMODULESDIR="\"/home/kafka/openssl/openssl/lib/ossl-modules\"" -DNDEBUG -c -o crypto/bio/libcrypto-lib-bss_sock.o ../openssl-master/crypto/bio/bss_sock.c
In file included from ../openssl-master/crypto/bio/bss_sock.c:14:0:
../openssl-master/include/internal/ktls.h:23:7: warning: #warning "KTLS requires Kernel Headers >= 4.13.0" [-Wcpp]
# warning "KTLS requires Kernel Headers >= 4.13.0"
^
../openssl-master/include/internal/ktls.h:24:7: warning: #warning "Skipping Compilation of KTLS" [-Wcpp]
# warning "Skipping Compilation of KTLS"
^
Я пытался воспроизвести вышеупомянутую проблему с ядром Linux 4.20. Я выполнил ниже шагов:
Клонированная последняя основа основного кода Openssl (до 14-го сентября 2019) и выполняемый ниже шагов
я, didn’t видят любые предупреждающие сообщения, как упомянуто выше или компиляцию или Делают тестовые проблемы сбоя.
я прошел связанные фиксации KTLS, доступные и в Ведущем ответвлении OpenSSL и в Ядре Linux (до 14-го сентября 2019).
Определенный, что KTLS связал повреждения, там после версии 4.20.
ядра Linux я могу Скомпилировать и Сделать тест, передается с Примечанием версии 4.20.
ядра Linux:
Проблема заключается в установленной вами версии заголовков ядра Linux.Версия заголовков должна быть выше 4.17. Версия взята из:
/usr/include/linux/version.h
На моей машине это:
#define LINUX_VERSION_CODE 329216
#define KERNEL_VERSION(a,b,c) (((a) << 16) + ((b) << 8) + (c))
Что означает Linux 5.6.0
Вы можете установить новые заголовки ядра из исходного кода, как описано здесь: https://www.kernel.org/doc/Documentation/kbuild/headers_install.txt
Или вы можете установить заголовки из вашего дистрибутива, как описано здесь: https://www.tecmint.com/install-kernel-headers-in-ubuntu-and-debian/