Форум проекта PuppyRus Linux

Разработки проекта PuppyRus => Программирование и компиляция => Тема начата: sfs от 31 Май 2017, 17:13:48

Название: Компиляция под другую версию openssl
Отправлено: sfs от 31 Май 2017, 17:13:48
В 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 , но некоторые проги придется патчить (https://git.archlinux.org/svntogit/packages.git/tree/trunk/transmission-2.92-openssl-1.1.0.patch?h=packages/transmission)

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

Пример компиляции с openssl-1.0  (http://mirror.yandex.ru/puppyrus/puppyrus-a/PKGBUILD/transmission-gtk2/PKGBUILD)
Без него надо патчить эту
Код
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
ошибку
Название: Re: Компиляция под другую версию openssl
Отправлено: sfs от 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