Установка из исходного кода curl и libcurl

Аватара пользователя
Артём Мамзиков
Admin
Сообщения: 813
Стаж: 5 лет 3 месяца
Откуда: Вологодская область
Поблагодарили: 35 раз
Контактная информация:

Установка из исходного кода curl и libcurl

Сообщение Артём Мамзиков »

Установка из исходного кода curl и libcurl
https://curl.se/docs/install.html
Скачать архив
wget https://curl.se/download/curl-8.0.1.tar.gz
tar -xf curl-8.0.1.tar.gz - извлекаем
rm -f curl-8.0.1.tar.gz - удаляем архив
cd curl-8.0.1 – переходим в директорию (в извлеченную папку)

Получите полный список всех доступных параметров настройки, вызвав его следующим образом:
./configure --help

./configure --with-openssl или [--with-gnutls --with-wolfssl]
make
make test (optional)
make install




./configure --help
`configure' настраивает curl - для адаптации ко многим типам систем.

Использование: ./configure [ОПЦИЯ]... [VAR=ЗНАЧЕНИЕ]...

Чтобы назначить переменные окружения (например, CC, CFLAGS...), укажите их как
VAR=ЗНАЧЕНИЕ. Смотрите ниже описания некоторых полезных переменных.

Значения по умолчанию для параметров указаны в квадратных скобках.

Конфигурация:
-h, --help отобразить справку и завершите работу
--help=short параметры отображения, характерные для данного пакета
--help=recursive отобразите краткую справку по всем включенным пакетам
-V, --version отобразите информацию о версии и завершите работу
-q, --quiet, --silent не печатать сообщения `проверка/checking..."
--cache-file=FILE результаты теста кэша в ФАЙЛЕ [отключено/disabled]
-C, --config-cache псевдоним для alias for `--cache-file=config.cache'
-n, --no-create не создавайте выходные файлы
--srcdir=DIR find the sources in DIR [configure dir or `..'] / найдите исходники в каталоге [настройте каталог или `..']

Каталоги установки:
--prefix=PREFIX установите независимые от архитектуры файлы в PREFIX
[/usr/local]
--exec-prefix=EPREFIX установите файлы, зависящие от архитектуры, в ПРЕФИКС/EPREFIX
[PREFIX]

По умолчанию "выполнить установку make install" установит все файлы в
`/usr/local/bin', `/usr/local/lib' etc. Вы можете указать
установку prefix отличное от `/usr/local' с помощью `--prefix',
например `--prefix=$HOME'.

Для лучшего контроля используйте приведенные ниже опции.

Точная настройка каталогов установки:
--bindir=DIR пользовательские исполняемые файлы [EPREFIX/bin]
--sbindir=DIR исполняемые файлы системного администратора [EPREFIX/sbin]
--libexecdir=DIR исполняемые файлы программ [EPREFIX/libexec]
--sysconfdir=DIR данные для одной машины, доступные только для чтения [PREFIX/etc]
--sharedstatedir=DIR изменяемые данные, не зависящие от архитектуры [PREFIX/com]
--localstatedir=DIR изменяемые данные для одной машины [PREFIX/var]
--runstatedir=DIR изменяемые данные для каждого процесса [LOCALSTATEDIR/run]
--libdir=DIR библиотеки объектного кода [EPREFIX/lib]
--includedir=DIR Заголовочные файлы C [PREFIX/include]
--oldincludedir=DIR Заголовочные файлы C для не-gcc [/usr/include]
--datarootdir=DIR read-only arch.-independent data root [PREFIX/share]
--datadir=DIR read-only architecture-independent data [DATAROOTDIR]
--infodir=DIR info документация [DATAROOTDIR/info]
--localedir=DIR locale-dependent data [DATAROOTDIR/locale]
--mandir=DIR man документация [DATAROOTDIR/man]
--docdir=DIR документация root [DATAROOTDIR/doc/curl]
--htmldir=DIR html документация [DOCDIR]
--dvidir=DIR dvi документация [DOCDIR]
--pdfdir=DIR pdf документация [DOCDIR]
--psdir=DIR ps документация [DOCDIR]

Названия программ:
--program-prefix=PREFIX добавляйте ПРЕФИКС к именам установленных программ
--program-suffix=SUFFIX добавлять СУФФИКС к названиям установленных программ
--program-transform-name=PROGRAM запустите программу sed с именами установленных программ

Системный тип:
--build=BUILD настройка для сборки при сборке [угадано/guessed]
--host=HOST кросс-компиляция для создания программ для запуска на хосте [СБОРКА/BUILD]

Дополнительные функции:
--disable-option-checking ignore unrecognized --enable/--with options / --отключить-параметр-проверка игнорирования нераспознанного -включить/--с параметрами
--disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no) / --отключить-ФУНКЦИЮ не включать ФУНКЦИЮ (аналогично --включить-ФУНКЦИЮ=нет)
--enable-FEATURE[=ARG] include FEATURE [ARG=yes] / включить ФУНКЦИЮ [АРГУМЕНТ=да]
--enable-maintainer-mode включение делает правила и зависимости бесполезными (а иногда и сбивающими с толку) для обычного установщика
--enable-silent-rules менее подробный вывод сборки (отменить: "make V=1")
--disable-silent-rules подробный вывод сборки (отменить: "make V=0")
--enable-debug Включить параметры отладки сборки
--disable-debug Отключить параметры отладки сборки
--enable-optimize Включить оптимизацию компилятора
--disable-optimize Отключить оптимизацию компилятора
--enable-warnings Включить строгие предупреждения компилятора
--disable-warnings Отключить строгие предупреждения компилятора
--enable-werror Включить предупреждения компилятора в качестве ошибок
--disable-werror Отключите предупреждения компилятора как ошибки
--enable-curldebug Включить отслеживание памяти curl debug
--disable-curldebug Отключить отслеживание памяти curl debug
--enable-symbol-hiding Включить скрытие внутренних символов библиотеки
--disable-symbol-hiding Отключить скрытие внутренних символов библиотеки
--enable-ares[=PATH] Включите c-ares для поиска в DNS
--disable-ares Отключите c-ares для поиска в DNS
--disable-rt отключить зависимость от -lrt
--enable-ech Включить ТЕХНИЧЕСКУЮ поддержку
--disable-ech Отключить ТЕХНИЧЕСКУЮ поддержку
--enable-code-coverage Обеспечить покрытие кода
--enable-dependency-tracking не отвергайте медленные средства извлечения зависимостей
--disable-dependency-tracking ускоряет одноразовую сборку
--disable-largefile исключить поддержку больших файлов
--enable-shared[=PKGS] создание общих библиотек [default=yes]
--enable-static[=PKGS] создание статических библиотек [default=yes]
--enable-fast-install[=PKGS] оптимизируйте для быстрой установки [default=yes]
--disable-libtool-lock избегайте блокировки (might break parallel builds)
--enable-http Включить поддержку HTTP
--disable-http Отключить поддержку HTTP
--enable-ftp Включить поддержку FTP
--disable-ftp Отключить поддержку FTP
--enable-file Включить поддержку файлов
--disable-file Отключить поддержку файлов
--enable-ldap Включить поддержку LDAP
--disable-ldap Отключить поддержку LDAP
--enable-ldaps Включить поддержку LDAP
--disable-ldaps Отключить поддержку LDAP
--enable-rtsp Включить поддержку RTSP
--disable-rtsp Отключить поддержку RTSP
--enable-proxy Включить поддержку прокси-сервера
--disable-proxy Отключить поддержку прокси-сервера
--enable-dict Включить поддержку DICT
--disable-dict Отключить поддержку DICT
--enable-telnet Включить поддержку TELNET
--disable-telnet Отключить поддержку TELNET
--enable-tftp Включить поддержку TFTP
--disable-tftp Отключить поддержку TFTP
--enable-pop3 Включить поддержку POP3
--disable-pop3 Отключить поддержку POP3
--enable-imap Включить поддержку IMAP
--disable-imap Отключить поддержку IMAP
--enable-smb Включить поддержку SMB/CIFS
--disable-smb Отключить поддержку SMB/CIFS
--enable-smtp Включить поддержку SMTP
--disable-smtp Отключить поддержку SMTP
--enable-gopher Включить поддержку Gopher
--disable-gopher Отключить поддержку Gopher
--enable-mqtt Включить поддержку MQTT
--disable-mqtt Отключить поддержку MQTT
--enable-manual Включить встроенное руководство
--disable-manual Отключить встроенное руководство
--enable-libcurl-option Enable --libcurl C поддержка генерации кода
--disable-libcurl-option Отключать--libcurl C поддержка генерации кода
--enable-libgcc используйте lib gcc при связывании
--enable-ipv6 Включить поддержку IPv6 (с IPv4)
--disable-ipv6 Отключить поддержку IPv6
--enable-openssl-auto-load-config Включить автоматическую загрузку конфигурации OpenSSL
--disable-openssl-auto-load-config Отключить автоматическую загрузку конфигурации OpenSSL
--enable-versioned-symbols Включить версионные символы в общей библиотеке
--disable-versioned-symbols Отключить версионные символы в общей библиотеке
--enable-threaded-resolver Включить резьбовой преобразователь
--disable-threaded-resolver Отключить многопоточный распознаватель
--enable-pthreads Включить потоки POSIX (по умолчанию для резьбового преобразователя)
--disable-pthreads Отключить потоки POSIX
--enable-verbose Включить подробные строки
--disable-verbose Отключить подробные строки
--enable-sspi Включить SSPI
--disable-sspi Отключить SSPI
--enable-crypto-auth Включить криптографическую аутентификацию
--disable-crypto-auth Отключить криптографическую аутентификацию
--enable-ntlm Включить поддержку NTLM
--disable-ntlm Отключить поддержку NTLM
--enable-ntlm-wb[=FILE] Включить делегирование NTLM для ntlm_authentication winbind
помощник, где FILE - это абсолютное имя файла ntlm_auth
(по умолчанию: /usr/bin/ntlm_auth)
--disable-ntlm-wb Отключите делегирование NTLM помощнику ntlm_auth winbind
--enable-tls-srp Включить проверку подлинности TLS-SRP
--disable-tls-srp Отключить проверку подлинности TLS-SRP
--enable-unix-sockets Включить доменные сокеты Unix
--disable-unix-sockets Отключить доменные сокеты Unix
--enable-cookies Включить поддержку файлов cookie
--disable-cookies Отключить поддержку файлов cookie
--enable-socketpair Включить поддержку socketpair
--disable-socketpair Отключить поддержку socketpair
--enable-http-auth Включить поддержку HTTP-аутентификации
--disable-http-auth Отключить поддержку HTTP-аутентификации
--enable-doh Включить поддержку DoH
--disable-doh Отключить поддержку DoH
--enable-mime Включить поддержку mime API
--disable-mime Отключить поддержку mime API
--enable-dateparse Включить синтаксический анализ данных date parsing
--disable-dateparse Выключить синтаксический анализ данных date parsing
--enable-netrc Включить синтаксический анализ netrc
--disable-netrc Отключить синтаксический анализ netrc
--enable-progress-meter Включить индикатор выполнения
--disable-progress-meter Отключить индикатор выполнения
--enable-dnsshuffle Включить перетасовку DNS
--disable-dnsshuffle Отключить перетасовку DNS
--enable-get-easy-options Включить простые параметры curl
--disable-get-easy-options Выключить простые параметры curl
--enable-alt-svc Включить поддержку alt-svc
--disable-alt-svc Отключить поддержку alt-svc
--enable-headers-api Включить поддержку заголовков-api
--disable-headers-api Выключить поддержку заголовков-api
--enable-hsts Включить поддержку HSTS
--disable-hsts Выключить поддержку HSTS
--enable-websockets Включить поддержку WebSockets
--disable-websockets Отключить поддержку WebSockets

Дополнительные пакеты:
--with-PACKAGE[=ARG] используйте ПАКЕТ [ARG=yes]
--without-PACKAGE не используйте ПАКЕТ (same as --with-PACKAGE=no)
--with-schannel включить собственный SSL/TLS для Windows
--with-secure-transport включить встроенный SSL/TLS для Apple OS
--with-amissl включить встроенный в Amiga SSL/TLS (AmiSSL)
--with-ssl=PATH старая версия --with-openssl
--without-ssl сборка без какой-либо библиотеки TLS
--with-openssl=PATH Где искать OpenSSL, ПУТЬ указывает на установку SSL (по умолчанию: /usr/local/ssl); когда
возможно, установите переменную окружения PKG_CONFIG_PATH вместо использования этого параметра
--with-gnutls=PATH где искать GnuTLS, ПУТЬ указывает на корневой каталог установки
--with-mbedtls=PATH где искать mbedTLS, ПУТЬ указывает на корневой каталог установки
--with-wolfssl=PATH где искать wolfSSL, ПУТЬ указывает на корневой каталог установки (по умолчанию: системная библиотека по умолчанию)
--with-bearssl=PATH где искать BearSSL, ПУТЬ указывает на корневой каталог установки
--with-rustls=PATH где искать шорохи, ПУТЬ указывает на корневой каталог установки
--with-nss-deprecated подтвердите, что вы понимаете, что NSS уходит
--with-nss=PATH где искать NSS, ПУТЬ указывает на корневой каталог установки
--with-test-nghttpx=PATH где найти nghttpx для тестирования
--with-test-caddy=PATH где найти caddy для тестирования
--with-test-httpd=PATH где найти httpd/apache2 для тестирования
--with-pic[=PKGS] попробуйте использовать только объекты PIC / non-PIC [по умолчанию = использовать оба]
--with-aix-soname=aix|svr4|both вариант управления версиями разделяемой библиотеки (он же "SONAME"), предоставляемый в AIX, [по умолчанию=aix].
--with-gnu-ld предположим, что компилятор C использует GNU ld [по умолчанию=нет]
--with-sysroot[=DIR] Выполните поиск зависимых библиотек в каталоге (или в системном корне компилятора, если не указано).
--with-mingw1-deprecated подтвердите, что вы осознаете, что поддержка mingw v1 прекращается
--with-hyper=PATH Включить гиперпользование
--without-hyper Отключить гипериспользование
--with-zlib=PATH найдите zlib в PATH
--without-zlib отключить использование zlib
--with-brotli=PATH Где искать бротли, ПУТЬ указывает на БРОТЛИ
установка; по возможности установите переменную окружения PKG_CONFIG_PATH вместо использования этого параметра
--without-brotli отключить БРОТЛИ/BROTLI
--with-zstd=PATH Где искать libstdc, ПУТЬ указывает на установку libstdc; если возможно, установите переменную окружения PKG_CONFIG_PATH вместо использования этого параметра
--without-zstd отключить libzstd
--with-ldap-lib=libname Укажите имя файла ldap lib
--with-lber-lib=libname Укажите имя файла lber lib
--with-gssapi-includes=DIR Укажите расположение заголовков GSS-API
--with-gssapi-libs=DIR Укажите местоположение библиотек GSS-API
--with-gssapi=DIR Где искать GSS-API
--with-default-ssl-backend=NAME Используйте NAME в качестве серверной части SSL по умолчанию
--without-default-ssl-backend Используйте неявный серверный сервер SSL по умолчанию
--with-egd-socket=FILE Путь к сокету демона сбора энтропии
--with-random=FILE считывание случайности из ФАЙЛА (default=/dev/urandom)
--with-ca-bundle=FILE Путь к файлу, содержащему сертификаты CA (пример: /etc/ca-bundle.crt)
--without-ca-bundle Не используйте пакет CA по умолчанию
--with-ca-path=DIRECTORY Путь к каталогу, содержащему сертификаты CA, хранящиеся по отдельности, с именами их файлов в хэше
формат. Этот параметр можно использовать с бэкендами OpenSSL, GnuTLS и mbedTLS. Обратитесь к OpenSSL c_rehash для получения подробной информации. (пример: /etc/certificates)
--without-ca-path Не используйте путь к центру сертификации по умолчанию
--with-ca-fallback Используйте встроенное хранилище CA библиотеки SSL
--without-ca-fallback Не используйте встроенное хранилище CA библиотеки SSL
--without-libpsl отключить поддержку проверки файлов cookie libpsl
--without-libgsasl отключите поддержку libgsasl для SCRAM
--with-libssh2=PATH Где искать libssh2, ПУТЬ указывает на установку libssh2; если возможно, установите
переменную окружения PKG_CONFIG_PATH вместо использования этого параметра
--with-libssh2 включить libssh2
--with-libssh=PATH Где искать libssh, ПУТЬ указывает на установку libssh; если возможно, задайте PKG_CONFIG_PATH
переменная окружения вместо использования этого параметра
--with-libssh включить libssh
--with-wolfssh=PATH Где искать wolfssh, ПУТЬ указывает на установку wolfSSH; если возможно, установите
переменную окружения PKG_CONFIG_PATH вместо использования этого параметра
--with-wolfssh включить wolfssh
--with-librtmp=PATH Где искать librtmp, ПУТЬ указывает на установку LIBRTMP; если возможно, установите
переменную окружения PKG_CONFIG_PATH вместо использования этого параметра
--without-librtmp отключить LIBRTMP
--with-winidn=PATH включить собственный идентификатор Windows
--without-winidn отключить собственный идентификатор Windows
--with-libidn2=PATH Включить использование libidn2
--without-libidn2 Отключить использование libidn2
--with-nghttp2=PATH Включить использование nghttp2
--without-nghttp2 Отключить использование nghttp2
--with-ngtcp2=PATH Включить использование ngtcp2
--without-ngtcp2 Отключить использование ngtcp2
--with-nghttp3=PATH Включить использование nghttp3
--without-nghttp3 Отключить использование nghttp3
--with-quiche=PATH Включить использование quiche
--without-quiche Выключить использование quiche
--with-msh3=PATH Включить использование msh3
--without-msh3 Выключить использование msh3
--with-zsh-functions-dir=PATH Установите дополнения zsh в PATH
--without-zsh-functions-dir Не устанавливайте дополнения zsh
--with-fish-functions-dir=PATH Установите рыбные дополнения в PATH
--without-fish-functions-dir Не устанавливайте рыбные доработки

Некоторые влиятельные переменные среды:
CC C команда компилятора
CFLAGS C флаги компилятора
LDFLAGS флаги компоновщика, например -L<lib dir>, если у вас есть библиотеки в нестандартном каталоге <lib dir>
LIBS библиотеки для передачи компоновщику, например -l<библиотека>
CPPFLAGS (Objective) Флаги препроцессора C/C++, например -I<include dir>, если у вас есть заголовки в нестандартном каталоге <include dir>
CPP C препроцессор
LT_SYS_LIBRARY_PATH Определенный пользователем путь поиска библиотеки во время выполнения.

Используйте эти переменные, чтобы переопределить выбор, сделанный "configure", или помочь
ему найти библиотеки и программы с нестандартными именами / местоположениями.

Сообщайте об ошибках в <подходящий список рассылки curl: https://curl.se/mail />.



Сборка с использованием vcpkg
Вы можете загрузить и установить curl и libcurl с помощью менеджера зависимостей vcpkg:

git clone https://github.com/Microsoft/vcpkg.git
cd vcpkg
./bootstrap-vcpkg.sh
./vcpkg integrate install
vcpkg install curl[tool]
Порт curl в vcpkg поддерживается в актуальном состоянии членами команды Microsoft и участниками сообщества. Если версия устарела, пожалуйста, создайте проблему или запрос на извлечение в репозитории vcpkg.
количество слов: 1107

Вернуться в «Linux»