Bug 236890 - ftp/curl: 7.64.1_1 fails to build with new option ALTSVC=on and other options altered
Summary: ftp/curl: 7.64.1_1 fails to build with new option ALTSVC=on and other options...
Status: Closed FIXED
Alias: None
Product: Ports & Packages
Classification: Unclassified
Component: Individual Port(s) (show other bugs)
Version: Latest
Hardware: Any Any
: --- Affects Only Me
Assignee: Po-Chuan Hsieh
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2019-03-30 00:41 UTC by p5B2EA84B3
Modified: 2019-04-09 13:22 UTC (History)
1 user (show)

See Also:
bugzilla: maintainer-feedback? (sunpoet)


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description p5B2EA84B3 2019-03-30 00:41:25 UTC
---Begin OPTIONS List---
===> The following configuration options are available for curl-7.64.1_1:
     ALTSVC=on: HTTP Alternative Services support
     BROTLI=off: Brotli compression support
     CA_BUNDLE=on: Enable CA bundle for OpenSSL/GnuTLS/mbedTLS
     COOKIES=off: Cookies support
     CURL_DEBUG=off: cURL debug memory tracking
     DEBUG=off: Build with debugging support
     DOCS=on: Build and/or install documentation
     EXAMPLES=off: Build and/or install examples
     IDN=off: International Domain Names support
     IPV6=off: IPv6 protocol support
     METALINK=off: Metalink support
     PROXY=on: Proxy support
     PSL=off: Public Suffix List support
     TLS_SRP=on: TLS-SRP (Secure Remote Password) support
====> Options available for the group PROTOCOL
     DICT=off: DICT (RFC 2229) support
     FTP=off: FTP protocol support
     GOPHER=off: Gopher protocol support
     HTTP=on: HTTP/HTTPS support
     HTTP2=on: HTTP/2 support (requires HTTP)
     IMAP=on: IMAP/IMAPS support
     LDAP=off: LDAP protocol support
     LDAPS=off: LDAP protocol over SSL support
     LIBSSH2=off: SCP/SFTP support via libssh2
     POP3=on: POP3/POP3S support
     RTMP=off: RTMP protocol support via librtmp
     RTSP=on: Real Time Streaming Protocol (RTSP) support
     SMB=off: SMB/CIFS support
     SMTP=on: SMTP/SMTPS support
     TELNET=off: Telnet support
     TFTP=off: TFTP support
====> GSSAPI Security API support: you have to select exactly one of them
     GSSAPI_BASE=off: GSSAPI support via base system (needs Kerberos)
     GSSAPI_HEIMDAL=off: GSSAPI support via security/heimdal
     GSSAPI_MIT=off: GSSAPI support via security/krb5
     GSSAPI_NONE=on: Disable GSSAPI support
====> DNS resolving options: you have to select exactly one of them
     CARES=off: Asynchronous DNS resolution via c-ares
     THREADED_RESOLVER=on: Threaded DNS resolver
====> SSL protocol support: you can only select none or one of them
     GNUTLS=off: SSL/TLS support via GnuTLS
     NSS=off: SSL/TLS support via NSS
     OPENSSL=on: SSL/TLS support via OpenSSL
     WOLFSSL=off: SSL/TLS support via wolfSSL
===> Use 'make config' to modify these settings
---End OPTIONS List---
--CONFIGURE_ARGS--
--disable-werror  --with-fish-functions-dir=/usr/local/share/fish/completions  --with-zsh-functions-dir=/usr/local/share/zsh/site-functions --enable-alt-svc --without-brotli --disable-ares --with-ca-bundle=/usr/local/share/certs/ca-root-nss.crt --disable-cookies --disable-curldebug --disable-debug --disable-dict --disable-ftp --without-gnutls --disable-gopher --without-gssapi --enable-http --with-nghttp2 --without-libidn2 --enable-imap --disable-ipv6 --disable-ldap --disable-ldaps --without-libssh2 --without-libmetalink --without-nss --with-ssl=/usr/local --enable-pop3 --enable-proxy --without-libpsl --without-librtmp --disable-smb --enable-smtp --disable-telnet --disable-tftp --enable-pthreads --enable-threaded-resolver --enable-tls-srp --without-cyassl --prefix=/usr/local ${_LATE_CONFIGURE_ARGS}
--End CONFIGURE_ARGS--


libtool: link: cc -O2 -pipe -fstack-protector -isystem /usr/local/include -fno-strict-aliasing -Qunused-arguments -pthread -Wl,-rpath -Wl,/usr/local/lib -Wl,-rpath -Wl,/usr/local/lib -fstack-protector -o .libs/curl curl-slist_wc.o curl-tool_binmode.o curl-tool_bname.o curl-tool_cb_dbg.o curl-tool_cb_hdr.o curl-tool_cb_prg.o curl-tool_cb_rea.o curl-tool_cb_see.o curl-tool_cb_wrt.o curl-tool_cfgable.o curl-tool_convert.o curl-tool_dirhie.o curl-tool_doswin.o curl-tool_easysrc.o curl-tool_filetime.o curl-tool_formparse.o curl-tool_getparam.o curl-tool_getpass.o curl-tool_help.o curl-tool_helpers.o curl-tool_homedir.o curl-tool_hugehelp.o curl-tool_libinfo.o curl-tool_main.o curl-tool_metalink.o curl-tool_msgs.o curl-tool_operate.o curl-tool_operhlp.o curl-tool_panykey.o curl-tool_paramhlp.o curl-tool_parsecfg.o curl-tool_strdup.o curl-tool_setopt.o curl-tool_sleep.o curl-tool_urlglob.o curl-tool_util.o curl-tool_vms.o curl-tool_writeout.o curl-tool_xattr.o ../lib/curl-strtoofft.o ../lib/curl-nonblock.o ../lib/curl-warnless.o ../lib/curl-curl_ctype.o  -L/usr/local/lib ../lib/.libs/libcurl.so -lz -pthread -Wl,-rpath -Wl,/usr/local/lib
../lib/.libs/libcurl.so: undefined reference to `Curl_get_line'
cc: error: linker command failed with exit code 1 (use -v to see invocation)
gmake[3]: *** [Makefile:923: curl] Error 1
gmake[3]: Leaving directory '/wrkdirs/usr/ports/ftp/curl/work/curl-7.64.1/src'
gmake[2]: *** [Makefile:1967: all-recursive] Error 1
gmake[2]: Leaving directory '/wrkdirs/usr/ports/ftp/curl/work/curl-7.64.1/src'
gmake[1]: *** [Makefile:923: all-recursive] Error 1
gmake[1]: Leaving directory '/wrkdirs/usr/ports/ftp/curl/work/curl-7.64.1'
===> Compilation failed unexpectedly.
Try to set MAKE_JOBS_UNSAFE=yes and rebuild before reporting the failure to
the maintainer.
*** Error code 1

Stop.
make: stopped in /usr/ports/ftp/curl
=>> Cleaning up wrkdir
===>  Cleaning for curl-7.64.1_1
build of ftp/curl | curl-7.64.1_1 ended
Comment 1 p5B2EA84B3 2019-03-30 00:43:47 UTC
Forgot to mention that with ALTSVC=off the build completes.
Comment 2 Po-Chuan Hsieh freebsd_committer freebsd_triage 2019-03-30 18:29:41 UTC
ALTSVC requires COOKIES (for now). Please enable COOKIES and try again.
Comment 3 Walter Schwarzenfeld 2019-03-30 18:55:16 UTC
Why not
ALTSVC_IMPLIES= COOKIES ?
Comment 4 commit-hook freebsd_committer freebsd_triage 2019-03-30 20:45:36 UTC
A commit references this bug:

Author: sunpoet
Date: Sat Mar 30 20:44:49 UTC 2019
New revision: 497348
URL: https://svnweb.freebsd.org/changeset/ports/497348

Log:
  Fix undefined Curl_get_line when ALTSVC enabled and COOKIES disabled

  ALTSVC requires Curl_get_line which is defined in lib/cookie.c inside a #if
  check of HTTP and COOKIES. That makes Curl_get_line undefined if COOKIES is
  disabled. This is a workaround to define Curl_get_line unconditionally.

  PR:             236885, 236890

Changes:
  head/ftp/curl/files/patch-lib-cookie.c
Comment 5 Po-Chuan Hsieh freebsd_committer freebsd_triage 2019-03-30 20:49:33 UTC
(In reply to w.schwarzenfeld from comment #3)

AFAIK, ALTSVC does not require COOKIES. That's a problem of implementation. I've committed a patch and submitted it upstream.
Comment 6 Po-Chuan Hsieh freebsd_committer freebsd_triage 2019-03-30 20:51:18 UTC
I've committed a patch. Please update the ports tree and rebuild ftp/curl.
Comment 7 Po-Chuan Hsieh freebsd_committer freebsd_triage 2019-04-09 13:22:46 UTC
It should be fixed in r497348.