Сайт | Скачать | Видео | Wiki

Автор Тема: Компиляция под другую версию openssl  (Прочитано 2742 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн sfs

  • Администратор
  • Ветеран
  • *****
  • Сообщений: 34031
  • Репутация: +231/-0
  • Автор темы
    • PuppyRus-A
В openssl 1.1 изменен API
https://abi-laboratory.pro/tracker/changelog/openssl/1.1.0-pre3/log.html
Приложения, скомпиленные под более старые версии openssl не будут работать с openssl 1.1
Теоретически можно их перекомпилить под openssl 1.1:
Код
CFLAGS=-DOPENSSL_API_COMPAT=0x10100000L ./configure
Это уберет ошибки deprecated , но некоторые проги придется патчить

Чтобы ничего не перекомпилять достаточно добавить либы старого openssl https://www.archlinux.org/packages/extra/x86_64/openssl-1.0/

Пример компиляции с openssl-1.0
Без него надо патчить эту
Код
crypto.c:304:9: предупреждение: implicit declaration of function «RAND_pseudo_bytes»; did you mean «RAND_bytes»? [-Wimplicit-function-declaration]
     if( RAND_pseudo_bytes ( (unsigned char *) &noise, sizeof noise ) >= 0 )
         ^~~~~~~~~~~~~~~~~
         RAND_bytes
crypto.c:304:9: предупреждение: вложенная extern-декларация «RAND_pseudo_bytes» [-Wnested-externs]
make[1]: *** [Makefile:1009: crypto.o] Ошибка 1
ошибку
« Последнее редактирование: 30 Май 2024, 13:08:19 от sfs »

Оффлайн sfs

  • Администратор
  • Ветеран
  • *****
  • Сообщений: 34031
  • Репутация: +231/-0
  • Автор темы
    • PuppyRus-A
Re: Компиляция под другую версию openssl
« Ответ #1 : 30 Май 2024, 13:16:22 »
Под ssl3:
Код
  export PKG_CONFIG_PATH="/usr/lib/pkgconfig"                                                                    
  export CFLAGS+=" -I/usr/include/openssl"                                                                       
  export CPPFLAGS+=" -I/usr/include/openssl"                                                                                                                                                                                   
  ./configure
Под ssl1.1:
Код
  export PKG_CONFIG_PATH="/usr/lib/openssl-1.1/pkgconfig"                                                        
  export CFLAGS+=" -I/usr/include/openssl-1.1"                                                                   
  export CPPFLAGS+=" -I/usr/include/openssl-1.1"   
 ./configure