#---------------------------------------------------------------------------- # build_libcurl.txt - how to build the libcurl binaries # # Creation : 2008-02-24 hbfl # Last update: $Id$ # # !!! this is not a script but an step-by-step howto !!! #------------------------------------------------------------------------------ exit 1 ### download the source code from the internet, e.g. # http://curl.haxx.se/download/curl-7.18.0.tar.bz2 ### extract file in a temporary location tar -xjf curl-7.18.0.tar.bz2 # 2015-09-06 -> curl-7.44.0 # build with rpm Suse # curl-7.44.0-1.1.src.rpm # 2015-10-13 -> curl-7.45.0 # build with rpm Suse # curl-7.45.0-151.1.src.rpm # 2015-02-13 -> curl-7.47.0 # build with rpm Suse # curl-7.47.0-1.1.src.rpm # 2016-05-05 -> curl-7.48.0 # build with rpm Suse # curl-7.48.0-1.2.src.rpm curl version: 7.48.0 Host setup: i486-pc-linux-gnu Install prefix: /usr Compiler: i486-pc-linux-gnu-gcc SSL support: enabled (OpenSSL) SSH support: enabled (libSSH2) zlib support: enabled GSS-API support: no (--with-gssapi) TLS-SRP support: enabled resolver: c-ares IPv6 support: enabled Unix sockets support: enabled IDN support: enabled Build libcurl: Shared=yes, Static=yes Built-in manual: enabled --libcurl option: enabled (--disable-libcurl-option) Verbose errors: enabled (--disable-verbose) SSPI support: no (--enable-sspi) ca cert bundle: no ca cert path: no ca fallback: yes LDAP support: no (--enable-ldap / --with-ldap-lib / --with-lber-lib) LDAPS support: no (--enable-ldaps) RTSP support: enabled RTMP support: enabled (librtmp) metalink support: enabled PSL support: no (libpsl not found) HTTP2 support: disabled (--with-nghttp2) Protocols: DICT FILE FTP FTPS GOPHER HTTP HTTPS IMAP IMAPS POP3 POP3S RTMP RTSP SCP SFTP SMB SMBS SMTP SMTPS TELNET TFTP # hbfl # 2016-12-17 -> curl-7.51.0 # build with rpm Suse # curl-7.51.0-1.1.src.rpm # hbfl # 2017-01-06 -> curl-7.52.1 # build with rpm Suse # curl-7.52.1-189.2.src.rpm # hbfl # 2017-06-05 -> curl-7.54.0 # build with rpm Suse # curl-7.54.0-1.3.src.rpm # hbfl # 2017-08-18 -> curl-7.55.0 # build with rpm Suse # curl-7.55.0-209.1.src.rpm configure: Configured to build curl/libcurl: curl version: 7.55.0 Host setup: i486-pc-linux-gnu Install prefix: /usr Compiler: gcc SSL support: enabled (OpenSSL) SSH support: enabled (libSSH2) zlib support: enabled GSS-API support: no (--with-gssapi) TLS-SRP support: enabled resolver: c-ares IPv6 support: enabled Unix sockets support: enabled IDN support: enabled (libidn2) Build libcurl: Shared=yes, Static=no Built-in manual: enabled --libcurl option: enabled (--disable-libcurl-option) Verbose errors: enabled (--disable-verbose) SSPI support: no (--enable-sspi) ca cert bundle: no ca cert path: no ca fallback: yes LDAP support: no (--enable-ldap / --with-ldap-lib / --with-lber-lib) LDAPS support: no (--enable-ldaps) RTSP support: enabled RTMP support: enabled (librtmp) metalink support: enabled PSL support: no (libpsl not found) HTTP2 support: disabled (--with-nghttp2) Protocols: DICT FILE FTP FTPS GOPHER HTTP HTTPS IMAP IMAPS POP3 POP3S RTMP RTSP SCP SFTP SMB SMBS SMTP SMTPS TELNET TFTP # hbfl # 2017-10-28 -> curl-7.56.1 # build with rpm Suse # curl-7.56.1-1.1.src.rpm # hbfl # 2018-03-02 > curl-7.58.0 # build with rpm Suse # curl-7.58.0-1.1.src.rpm # hbfl # 2018-04-12 -> curl-7.59.0 # build with rpm Suse # curl-7.59.0-1.1.src.rpm SSH support: enabled (libSSH2) zlib support: enabled brotli support: no (--with-brotli) GSS-API support: no (--with-gssapi) TLS-SRP support: enabled resolver: c-ares IPv6 support: enabled Unix sockets support: enabled IDN support: enabled (libidn2) Build libcurl: Shared=yes, Static=no Built-in manual: enabled --libcurl option: enabled (--disable-libcurl-option) Verbose errors: enabled (--disable-verbose) SSPI support: no (--enable-sspi) ca cert bundle: no ca cert path: no ca fallback: yes LDAP support: no (--enable-ldap / --with-ldap-lib / --with-lber-lib) LDAPS support: no (--enable-ldaps) RTSP support: enabled RTMP support: enabled (librtmp) metalink support: enabled PSL support: no (libpsl not found) HTTP2 support: enabled (nghttp2) Protocols: DICT FILE FTP FTPS GOPHER HTTP HTTPS IMAP IMAPS POP3 POP3S RTMP RTSP SCP SFTP SMB SMBS SMTP SMTPS TELNET TFTP # hbfl # 2018-08-12 -> curl-7.61.0 # build with rpm Suse # curl-7.61.0-1.1.src.rpm # hbfl # 2018-09-14 -> curl-7.61.1 # build with rpm Suse # curl-7.61.1-1.1.src.rpm curl version: 7.61.1 Host setup: i486-pc-linux-gnu Install prefix: /usr Compiler: gcc SSL support: enabled (OpenSSL) SSH support: enabled (libSSH) zlib support: enabled brotli support: no (--with-brotli) GSS-API support: enabled (MIT Kerberos/Heimdal) TLS-SRP support: enabled resolver: c-ares IPv6 support: enabled Unix sockets support: enabled IDN support: enabled (libidn2) Build libcurl: Shared=yes, Static=no Built-in manual: enabled --libcurl option: enabled (--disable-libcurl-option) Verbose errors: enabled (--disable-verbose) SSPI support: no (--enable-sspi) ca cert bundle: no ca cert path: no ca fallback: yes LDAP support: no (--enable-ldap / --with-ldap-lib / --with-lber-lib) LDAPS support: no (--enable-ldaps) RTSP support: enabled RTMP support: enabled (librtmp) metalink support: enabled PSL support: no (libpsl not found) HTTP2 support: enabled (nghttp2) Protocols: DICT FILE FTP FTPS GOPHER HTTP HTTPS IMAP IMAPS POP3 POP3S RTMP RTSP SCP SFTP SMB SMBS SMTP SMTPS TELNET TFTP # hbfl # 2018-11-17 -> curl-7.62.0 # build with rpm Suse # curl-7.62.0-1.1.src.rpm # hbfl # 2019-01-12 -> curl-7.63.0 # build with rpm Suse # curl-7.63.0-1.1.src.rpm # hbfl # 2019-03-02 -> curl-7.64.0 # build with rpm Suse # curl-7.64.0-2.1.src.rpm Host setup: i486-pc-linux-gnu Install prefix: /usr Compiler: gcc CFLAGS: -O2 -g -march=i486 -fmessage-length=0 -fstack-protector -funwind-tables -fasynchronous-unwind-tables -fPIE CPPFLAGS: -D_FORTIFY_SOURCE=2 -I/usr/include/p11-kit-1 LDFLAGS: -pie -L/lib LIBS: -lcares -lnghttp2 -lidn2 -lrtmp -lz -lgmp -lgnutls -lhogweed -lnettle -lssh -lssh -lpsl -lssl -lcrypto -lssl -lcrypto -lgssapi_krb5 -lkrb5 -lk5crypto -lcom_err -lz curl version: 7.64.0 SSL support: enabled (OpenSSL) SSH support: enabled (libSSH) zlib support: enabled brotli support: no (--with-brotli) GSS-API support: enabled (MIT Kerberos/Heimdal) TLS-SRP support: enabled resolver: c-ares IPv6 support: enabled Unix sockets support: enabled IDN support: enabled (libidn2) Build libcurl: Shared=yes, Static=no Built-in manual: enabled --libcurl option: enabled (--disable-libcurl-option) Verbose errors: enabled (--disable-verbose) Code coverage: disabled SSPI support: no (--enable-sspi) ca cert bundle: no ca cert path: no ca fallback: yes LDAP support: no (--enable-ldap / --with-ldap-lib / --with-lber-lib) LDAPS support: no (--enable-ldaps) RTSP support: enabled RTMP support: enabled (librtmp) metalink support: enabled PSL support: yes HTTP2 support: enabled (nghttp2) Protocols: DICT FILE FTP FTPS GOPHER HTTP HTTPS IMAP IMAPS POP3 POP3S RTMP RTSP SCP SFTP SMB SMBS SMTP SMTPS TELNET TFTP # hbfl # 2019-04-19 -> curl-7.64.1 # build with rpm Suse # curl-7.64.1-1.1.src.rpm Host setup: i486-pc-linux-gnu Install prefix: /usr Compiler: gcc CFLAGS: -O2 -g -march=i486 -fmessage-length=0 -fstack-protector -funwind-tables -fasynchronous-unwind-tables -fPIE CPPFLAGS: -D_FORTIFY_SOURCE=2 -I/usr/include/p11-kit-1 LDFLAGS: -pie -L/lib LIBS: -lcares -lnghttp2 -lidn2 -lrtmp -lz -lgmp -lgnutls -lhogweed -lnettle -lssh -lssh -lpsl -lssl -lcrypto -lssl -lcrypto -lgssapi_krb5 -lkrb5 -lk5crypto -lcom_err -lz curl version: 7.64.1 SSL: enabled (OpenSSL) SSH: enabled (libSSH) zlib: enabled brotli: no (--with-brotli) GSS-API: enabled (MIT Kerberos/Heimdal) TLS-SRP: enabled resolver: c-ares IPv6: enabled Unix sockets: enabled IDN: enabled (libidn2) Build libcurl: Shared=yes, Static=no Built-in manual: enabled --libcurl option: enabled (--disable-libcurl-option) Verbose errors: enabled (--disable-verbose) Code coverage: disabled SSPI: no (--enable-sspi) ca cert bundle: no ca cert path: no ca fallback: yes LDAP: no (--enable-ldap / --with-ldap-lib / --with-lber-lib) LDAPS: no (--enable-ldaps) RTSP: enabled RTMP: enabled (librtmp) Metalink: enabled PSL: enabled Alt-svc: no (--enable-alt-svc) HTTP2: enabled (nghttp2) Protocols: DICT FILE FTP FTPS GOPHER HTTP HTTPS IMAP IMAPS POP3 POP3S RTMP RTSP SCP SFTP SMB SMBS SMTP SMTPS TELNET TFTP Features: SSL IPv6 UnixSockets libz AsynchDNS IDN GSS-API PSL SPNEGO Kerberos NTLM NTLM_WB TLS-SRP HTTP2 HTTPS-proxy # hbfl # 2019-05-31 -> curl-7.65.0 # build with rpm Suse # curl-7.65.0-1.1.src.rpm Host setup: i486-pc-linux-gnu Install prefix: /usr Compiler: gcc CFLAGS: -O2 -g -march=i486 -fmessage-length=0 -fstack-protector -funwind-tables -fasynchronous-unwind-tables -fPIE CPPFLAGS: -D_FORTIFY_SOURCE=2 LDFLAGS: -pie -L/lib LIBS: -lcares -lnghttp2 -lidn2 -lrtmp -lz -lssl -lcrypto -lssh -lssh -lpsl -lssl -lcrypto -lssl -lcrypto -lgssapi_krb5 -lkrb5 -lk5crypto -lcom_err -lz curl version: 7.65.0 SSL: enabled (OpenSSL) SSH: enabled (libSSH) zlib: enabled brotli: no (--with-brotli) GSS-API: enabled (MIT Kerberos/Heimdal) TLS-SRP: enabled resolver: c-ares IPv6: enabled Unix sockets: enabled IDN: enabled (libidn2) Build libcurl: Shared=yes, Static=no Built-in manual: enabled --libcurl option: enabled (--disable-libcurl-option) Verbose errors: enabled (--disable-verbose) Code coverage: disabled SSPI: no (--enable-sspi) ca cert bundle: no ca cert path: no ca fallback: yes LDAP: no (--enable-ldap / --with-ldap-lib / --with-lber-lib) LDAPS: no (--enable-ldaps) RTSP: enabled RTMP: enabled (librtmp) Metalink: enabled PSL: enabled Alt-svc: no (--enable-alt-svc) HTTP2: enabled (nghttp2) Protocols: DICT FILE FTP FTPS GOPHER HTTP HTTPS IMAP IMAPS POP3 POP3S RTMP RTSP SCP SFTP SMB SMBS SMTP SMTPS TELNET TFTP Features: SSL IPv6 UnixSockets libz AsynchDNS IDN GSS-API PSL SPNEGO Kerberos NTLM NTLM_WB TLS-SRP HTTP2 HTTPS-proxy # hbfl # 2019-08-18 -> curl-7.65.3 # build with rpm Suse # curl-7.65.3-1.1.src.rpm # hbfl # 2019-09-25 -> curl-7.66.0 # build with rpm Suse # curl-7.66.0-1.1.src.rpm # hbfl # 2019-11-21 -> curl-7.67.0 # build with rpm Suse # curl-7.67.0-2.1.src.rpm # zurueckgezogen by jed # hbfl # 2020-01-14 -> curl-7.68.0 # build with rpm Suse # curl-7.68.0-1.1.src.rpm # hbfl # 2020-03-09 -> curl-7.69.0 # build with rpm Suse # curl-7.69.0-1.1.src.rpm # hbfl # 2020-04-12 -> curl-7.69.1 # build with rpm Suse -> gcc-9.2.1 -> glibc-2.31 # curl-7.69.1-1.1.src.rpm # hbfl # 2020-05-19 -> curl-7.70.0 # build with rpm Suse # curl-7.70.0-1.1.src.rpm # hbfl # 2020-07-10 -> curl-7.71.1 # build with rpm Suse # curl-7.71.1-1.1.src.rpm # hbfl # 2020-09-09 -> curl-7.72.0 # build with rpm Suse # curl-7.72.0-1.2.src.rpm # hbfl # 2020-10-26 -> curl-7.73.0 # build with rpm Suse # curl-7.73.0-1.1.src.rpm # hbfl # 2021-01-26 -> curl-7.74.0 # build with rpm Suse # curl-7.74.0-1.1.src.rpm Host setup: i586-pc-linux-gnu Install prefix: /usr Compiler: gcc CFLAGS: -O2 -g -m32 -march=i586 -mtune=i686 -fmessage-length=0 -fstack-protector -funwind-tables -fasynchronous-unwind-tables -fPIE -pthread CPPFLAGS: -D_FORTIFY_SOURCE=2 LDFLAGS: -pie LIBS: -lnghttp2 -lidn2 -lrtmp -lz -lssl -lcrypto -lssh -lssh -lpsl -lssl -lcrypto -lssl -lcrypto -lgssapi_krb5 -lkrb5 -lk5crypto -lcom_err -lzstd -lz curl version: 7.74.0 SSL: enabled (OpenSSL) SSH: enabled (libSSH) zlib: enabled brotli: no (--with-brotli) zstd: enabled (libzstd) GSS-API: enabled (MIT Kerberos/Heimdal) TLS-SRP: enabled resolver: POSIX threaded IPv6: enabled Unix sockets: enabled IDN: enabled (libidn2) Build libcurl: Shared=yes, Static=no Built-in manual: enabled --libcurl option: enabled (--disable-libcurl-option) Verbose errors: enabled (--disable-verbose) Code coverage: disabled SSPI: no (--enable-sspi) ca cert bundle: no ca cert path: no ca fallback: yes LDAP: no (--enable-ldap / --with-ldap-lib / --with-lber-lib) LDAPS: no (--enable-ldaps) RTSP: enabled RTMP: enabled (librtmp) Metalink: enabled PSL: enabled Alt-svc: enabled HTTP2: enabled (nghttp2) HTTP3: no (--with-ngtcp2, --with-quiche) ECH: no (--enable-ech) Protocols: DICT FILE FTP FTPS GOPHER HTTP HTTPS IMAP IMAPS MQTT POP3 POP3S RTMP RTSP SCP SFTP SMB SMBS SMTP SMTPS TELNET TFTP Features: AsynchDNS GSS-API HTTP2 HTTPS-proxy IDN IPv6 Kerberos NTLM NTLM_WB PSL SPNEGO SSL TLS-SRP UnixSockets alt-svc libz zstd # hbfl # 2021-04-10 -> curl-7.76.0 # build with rpm Suse # curl-7.76.0-1.1.src.rpm # hbfl # 2021-06-13 -> curl-7.77.0 # build with rpm Suse -> gcc-10 -> glibc-2.33 # curl-7.77.0-1.1.src.rpm # hbfl # 2022-01-10 -> curl-7.80.0 # build with rpm Suse # curl-7.80.0-1.2.src.rpm # hbfl # 2022-05-28 -> curl-7.83.1 # build with rpm Suse # curl-7.83.1-1.1.src.rpm # without binarie chekcin # hbfl # 2022-08-02 -> curl-7.84.0 # build with rpm Suse # curl-7.84.0-1.1.src.rpm # without binarie chekcin # hbfl # 2023-04-13 -> curl-8.0.1 # build with rpm Suse -> gcc-12 -> glibc-2.37 # curl-8.0.1-1.1.src.rpm # hbfl # 2023-06-30 -> curl-8.1.2 # build with rpm Suse # curl-8.1.2-1.1.src.rpm # hbfl # 2023-09-29 -> curl-8.3.0 # build with rpm Suse # curl-8.3.0-1.1.src.rpm # hbfl # 2023-10-16 -> curl-8.4.0 # build with rpm Suse # curl-8.4.0-1.1.src.rpm # hbfl # 2023-12-17 -> curl-8.5.0 # build with rpm Suse # curl-8.5.0-1.1.src.rpm # hbfl # 2024-02-03 -> curl-8.6.0 # build with rpm Suse # curl-8.6.0-1.1.src.rpm # hbfl # 2024-07-24 -> curl-8.8.0 # build with rpm Suse # curl-8.8.0-2.1.src.rpm # hbfl # 2024-08-25 -> curl-8.9.1 # build with rpm Suse # curl-8.9.1-2.1.src.rpm # hbfl # 2025-01-25 -> curl-8.11.1 # build with rpm Suse # curl-8.11.1-1.1.src.rpm # hbfl # 2025-03-19 -> curl-8.12.1 # build with rpm Suse - gcc-14 -> glibc-2.41 # curl-8.12.1-1.2.src.rpm mkdir build-curl cd build-curl ### build export CFLAGS='-O2 -march=i486 -fomit-frame-pointer' export CXXFLAGS="${CFLAGS}" ../curl-7.15.5/configure --prefix=/usr --enable-ares --build=i486-pc-linux-gnu curl version: 7.14.0 Host setup: i486-pc-linux-gnu Install prefix: /usr Compiler: gcc SSL support: enabled (OpenSSL) zlib support: enabled krb4 support: no (--with-krb4*) GSSAPI support: no (--with-gssapi) SPNEGO support: no (--with-spnego) c-ares support: enabled ipv6 support: no (--enable-ipv6) IDN support: no (--with-libidn) Build libcurl: Shared=yes, Static=yes Built-in manual: no (--enable-manual) Verbose errors: enabled (--disable-verbose) SSPI support: no (--enable-sspi) ca cert path: ${prefix}/share/curl/curl-ca-bundle.crt curl version: 7.14.1 Host setup: i486-pc-linux-gnu Install prefix: /usr Compiler: gcc SSL support: enabled (OpenSSL) zlib support: enabled krb4 support: no (--with-krb4*) GSSAPI support: no (--with-gssapi) SPNEGO support: no (--with-spnego) c-ares support: enabled ipv6 support: no (--enable-ipv6) IDN support: no (--with-libidn) Build libcurl: Shared=yes, Static=yes Built-in manual: no (--enable-manual) Verbose errors: enabled (--disable-verbose) SSPI support: no (--enable-sspi) ca cert path: ${prefix}/share/curl/curl-ca-bundle.crt make make check make DESTDIR=/public/libcurl141 install rm -f /public/libcurl/usr/lib/{libcurl.so,libcurl.so.3} # strip files strip -R .note -R .comment /public/libcurl141/usr/{lib/*,bin/*} #------------------------------------------------------------------------------- create folder Um die Folder im Hauptverszeichnis zu erstellen gibt es das Script 'libcurl-folder.sh' unter libjpeg/_ADMIN/ mit libcurl-folder.sh -v 4.1.4 -w create wird die folder Struktur fuer die lib Version 4.1.4 erstellt nun koennen die files aus dem compilat eingefuegt werden. mit libcurl-folder.sh -v 4.1.4 -w add wird ein svn add auf die erzeugten Folder durchgefuehrt. mit libcurl-folder.sh -v 4.1.4 -w list wird fuer jeden Folder die files-list.txt erzeugt, add muss zwingend vorher ausgefuehrt worden sein mit libcurl-folder.sh -v 4.1.4 -w ci erfolgt der commit der erzeugten Folder In den eis und eis_dev Foldern muessen keine Anpassungen vorgenommen werden. Diese Anpassungen erfolgen beim packen der packages durch mktarball.sh mit den _do_ Scripten unter _ADMIN automatisch. In den Pack-Scripten unter _ADMIN muss dann noch die Pfadangabe geaendert werden, auf den soeben erzeugten Pfad und ein commit ausgefuehrt werden. Nach dem checkout auf eisler koennen nun die packages erzeugt werden. die wichtigsten Parameter fuer mktarball.sh sind dann -setdate now -setversion Version mktarball.sh - home -setdate now -setversion [version angeben] libcurl libcurl-dev duch die Angabe von -home werden die packages in die Folder Struktur /home/user/public_html/packages/ kopiert und koennen von da direkt auf Pack-Eis geladen werden. wichtig ist noch, dass unbedingt die 'lib' Version zuerst gebaut werden muss, da fuer die 'dev' Version Informationen aus der 'lib' Info Datei gelesen werden.