3
$\begingroup$

In Mathematica v. 11.1.0, on OS X 10.11.6, I get the following error message when I LaunchKernels:

URLFetch::invhttp:
   A requested feature, protocol or option was not found built-in in this
    libcurl due to a build-time decision.."

This is, I gotta say, pretty weird. The documentation for URLFetch isn't particularly helpful, of course, nor is the relevance of the function.

Anybody know what's going on? For now I can stifle the message with Off, and stuff seems to work normally, but it has me stumped.

UPDATE: I finally had a few minutes to investigate the libcurl situation further, and, with the help of this Stack Overflow answer was able to determine that the library in use is indeed the one which appears to have shipped with Mathematica:

/Applications/Mathematica.app/Contents/SystemFiles/Links/CURLLink/LibraryResources/MacOSX-x86-64/libcurl.dylib

At least it's not that I'm using the wrong version of the library.

$\endgroup$
10
  • $\begingroup$ I don't see this problem, M11.1.0, macOS 10.12.4. Do you see it every time you LaunchKernerls[]? Occasionally (but not always), I would see error messages about the parallel kernels trying to access Wolfram Cloud. I did not like that because I do not think subkernels should do that (the main kernel yes, but not subkernels). $\endgroup$
    – Szabolcs
    Mar 31, 2017 at 12:17
  • $\begingroup$ I do see it every time, and I tried it with a -noinit kernel from the command line to be extra sure that it wasn't somehow me. $\endgroup$
    – Pillsy
    Mar 31, 2017 at 15:07
  • $\begingroup$ I think subkernels already have a -noinit by default. However, they do load Autoload packages. Do you have any of those? (I use them specifically to have special initialization for subkernels.) $\endgroup$
    – Szabolcs
    Mar 31, 2017 at 15:13
  • $\begingroup$ I don't think I do, but I can double-check. $\endgroup$
    – Pillsy
    Mar 31, 2017 at 15:47
  • 1
    $\begingroup$ That's normal. Still, the fact that you see the problem and I do not suggests that it might be due to what's in your $UserBaseDirectory. You might try to clean that up, as unpleasant as that is. If it's not that, it must be because you have El Capitan and I have Sierra. But that seems unlikely. $\endgroup$
    – Szabolcs
    Mar 31, 2017 at 15:53

1 Answer 1

3
$\begingroup$

The message most likely comes from trying to use a HTTPS proxy, for example

$InternetProxyRules

(* {"UseProxy" -> True, "HTTP" -> {"https://127.0.0.1", 8080}, 
 "HTTPS" -> {}, "FTP" -> {}, "Socks" -> {}, "UseWPAD" -> False} *)

URLSave["www.wolfram.com"]

During evaluation of URLSave::invhttp: A requested feature, protocol or option was not found built-in in this libcurl due to a build-time decision..

(* $Failed *)

The message is correct and intentional, since HTTPS proxy support in libcurl is a relatively new feature (introduced a couple of years ago for version 7.52.0).

It only works with specific backends like OpenSSL and NSS, however Mathematica's libcurl does not use OpenSSL on any platform, and is only built against NSS on Linux.

As explained in the linked blog post, this is not used very commonly and pertains only to the communication leg between the user agent and the proxy; HTTPS connections to a remote server are still encrypted even with a traditional HTTP proxy.

The message showing up by itself after launching kernels is likely the result of checking for paclet updates or perhaps connecting to the cloud.

$\endgroup$
1
  • $\begingroup$ Thanks to @user1473011 for confirming my suspicion $\endgroup$
    – ilian
    Apr 10, 2018 at 16:21

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.