# LaunchKernels generates a mysterious error message

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.

• 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). – Szabolcs Mar 31 '17 at 12:17
• 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. – Pillsy Mar 31 '17 at 15:07
• 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.) – Szabolcs Mar 31 '17 at 15:13
• I don't think I do, but I can double-check. – Pillsy Mar 31 '17 at 15:47
• 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. – Szabolcs Mar 31 '17 at 15:53 ## 1 Answer 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.

• Thanks to @user1473011 for confirming my suspicion – ilian Apr 10 '18 at 16:21