Bug 236885 - ftp/curl update to curl-7.64.1 breaks VirtualBox
Summary: ftp/curl update to curl-7.64.1 breaks VirtualBox
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-29 17:25 UTC by rkoberman
Modified: 2019-04-09 13:22 UTC (History)
3 users (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 rkoberman 2019-03-29 17:25:08 UTC
After updating ftp/curl to 7.64.1, VirtualBox will no longer run. It fails with the error:
VirtualBox: Error -610 in supR3HardenedMainInitRuntime!
VirtualBox: dlopen("/usr/local/lib/virtualbox/VBoxRT.so",) failed: /usr/local/lib/libcurl.so.4: Undefined symbol "Curl_get_line"

Rolling ftp/curl back to 7.64.0_1 allows VirtualBox to run normally.
Comment 1 Christoph Moench-Tegeder freebsd_committer freebsd_triage 2019-03-29 21:24:30 UTC
It still works for me. Is this depending on OPTIONS? (I've disabled WEBSERVICE, CDE, VNC, VPX and UDPTUNNEL). Does rebuilding virtualbox-ose fix this?
Comment 2 rkoberman 2019-03-29 23:30:17 UTC
(In reply to Christoph Moench-Tegeder from comment #1)
While I have not looked through the source to see where curl might be used, any of the network options may be relevant. I have no doubt that one of the options you disabled is the one that tries to reference Curl_get_line. I have WEBSERVICE, VNC,  and UDPTUNNEL.

As far as I can tell, there is no CDE option.
Comment 3 rkoberman 2019-03-30 05:08:34 UTC
(In reply to Christoph Moench-Tegeder from comment #1)
Rebuilding VBmakes no difference.
Comment 4 Po-Chuan Hsieh freebsd_committer freebsd_triage 2019-03-30 18:29:47 UTC
(In reply to rkoberman from comment #0)

curl has lots of options. You *have to provide your option set* if you're not using the default one.

Inspired by bug #236890, if you have ALTSVC enabled and COOKIES disabled, either disable ALTSVC or enable COOKIES and try again.
Comment 5 rkoberman 2019-03-30 19:24:14 UTC
(In reply to Sunpoet Po-Chuan Hsieh from comment #4)
Only ALTSVC is enabled.

===> 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=on: Build and/or install examples
     IDN=off: International Domain Names support
     IPV6=on: 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=on: DICT (RFC 2229) support
     FTP=on: FTP protocol support
     GOPHER=on: Gopher protocol support
     HTTP=on: HTTP/HTTPS support
     HTTP2=off: HTTP/2 support (requires HTTP)
     IMAP=on: IMAP/IMAPS support
     LDAP=off: LDAP protocol support
     LDAPS=off: LDAP protocol over SSL support
     LIBSSH2=on: 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=on: Telnet support
     TFTP=on: 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
Comment 6 commit-hook freebsd_committer freebsd_triage 2019-03-30 20:45:33 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 7 Po-Chuan Hsieh freebsd_committer freebsd_triage 2019-03-30 20:51:08 UTC
I've committed a patch. Please update the ports tree and rebuild ftp/curl.
Comment 8 Po-Chuan Hsieh freebsd_committer freebsd_triage 2019-04-09 13:22:49 UTC
It should be fixed in r497348.