It seems that URLSave
doesn't work as expected with https links in Mathematica 10.4
on Linux. At least in my case (Fedora 30) for
URLSave["https://codeload.github.com/WolframResearch/\
WolframLanguageForJupyter/zip/master", CreateTemporary[]]
I receive
During evaluation of In[1]:= LibraryFunction::libload: The function curlLink_initialize was not loaded from the file /media/Data/Software/Mathematica/10.4/SystemFiles/Links/CURLLink/LibraryResources/Linux-x86-64/libcurllink.so. >>
During evaluation of In[1]:= LibraryFunction::libload: The function curlLink_createHandle was not loaded from the file /media/Data/Software/Mathematica/10.4/SystemFiles/Links/CURLLink/LibraryResources/Linux-x86-64/libcurllink.so. >>
During evaluation of In[1]:= LibraryFunction::libload: The function curlLink_resetHandle was not loaded from the file /media/Data/Software/Mathematica/10.4/SystemFiles/Links/CURLLink/LibraryResources/Linux-x86-64/libcurllink.so. >>
During evaluation of In[1]:= General::stop: Further output of LibraryFunction::libload will be suppressed during this calculation. >>
During evaluation of In[1]:= URLSave::invhttp: CURLLink`CURLError(CURLLink`CURLPerform(CURLLink`CURLHandleLoad())). >>
Out[1]= $Failed
I don't think that WRI is likely to provide support for such an old version, so I'm asking this question in search for some community workarounds.
EDIT: The source of the problem is that for some reason Mma 10 and 11 are not able to load libcurllink.so via
libPath =
FileNameJoin[{$InstallationDirectory, "SystemFiles", "Links",
"CURLLink", "LibraryResources", "Linux-x86-64", "libcurllink.so"}];
LibraryFunctionLoad[libPath, "curlLink_initialize", {_Integer}, \
"Void"]
Instead, I obtain
LibraryFunction::libload: The function curlLink_initialize was not loaded from the file /media/Data/Software/Mathematica/10.4/SystemFiles/Links/CURLLink/LibraryResources/Linux-x86-64/libcurllink.so. >>
and
LibraryFunction::libload: The function curlLink_initialize was not loaded from the file /media/Data/Software/Mathematica/11.0/SystemFiles/Links/CURLLink/LibraryResources/Linux-x86-64/libcurllink.so.
respectively.
On Mma 11 the workaround would be to use URLDownload
which seems to be independent of libcurl
and therefore works as expected. On Mma 10 I'm
not aware of a such workaround. JLink would be a possibility, but this assumes that
one must have Java installed.
LibraryLink`$LibraryError
return? $\endgroup$libidn.so.11: cannot open shared object file: No such file or directory
. Obviously because F30 ships onlylibidn.so.12
. So I didsudo ln -s libidn.so.12 libidn.so.11
and now it works with Mma 10 and 11! Thank you so much! Do you by chance also have an idea regardingFetchURL::conopen
in Mma 8 and 9? $\endgroup$sudo ln -s /usr/lib64/libidn.so.12 /usr/lib64/libidn.so.11
, if someone has similar issues. $\endgroup$