Code Monkey home page Code Monkey logo

libcurl.jl's People

Contributors

amitmurthy avatar ararslan avatar aviks avatar dilumaluthge avatar fchorney avatar femtocleaner[bot] avatar giordano avatar iainnz avatar ihnorton avatar inkydragon avatar ivarne avatar juliatagbot avatar mdpradeep avatar nicoleepp avatar omus avatar quinnj avatar ranjanan avatar shashi avatar simonbyrne avatar staticfloat avatar stefankarpinski avatar tanmaykm avatar timholy avatar tkelman avatar turtleslow avatar vchuravy avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

libcurl.jl's Issues

Make a list of known issues

All open issues are known, bun unclear which apply to master and which (also) to LTS.

It might be good to make a list of known bugs (a label? "applies only to LTS"?), for security, or otherwise, for the LTS. Some such as the (non-security? or would this some/this bug also count as such?) under discussion here, are known to be fixed on master (and 1.7 if I recall), but not the LTS, and will likely never be fixed:

https://www.reddit.com/r/Julia/comments/uqwd2h/comment/i8u36py/

Pkg.test fails with v0.6-rc

julia> Pkg.build("LibCURL")
INFO: Building LibCURL

julia> Pkg.test("LibCURL")
INFO: Testing LibCURL

WARNING: deprecated syntax "typealias time_t Int" at /home/lobi/.julia/v0.6/LibCURL/src/LibCURL.jl:8.
Use "const time_t = Int" instead.

WARNING: deprecated syntax "typealias size_t Csize_t" at /home/lobi/.julia/v0.6/LibCURL/src/LibCURL.jl:9.
Use "const size_t = Csize_t" instead.

WARNING: deprecated syntax "typealias curl_off_t Int64" at /home/lobi/.julia/v0.6/LibCURL/src/LibCURL.jl:10.
Use "const curl_off_t = Int64" instead.

WARNING: deprecated syntax "typealias time_t Int" at /home/lobi/.julia/v0.6/LibCURL/src/LibCURL.jl:8.
Use "const time_t = Int" instead.

WARNING: deprecated syntax "typealias size_t Csize_t" at /home/lobi/.julia/v0.6/LibCURL/src/LibCURL.jl:9.
Use "const size_t = Csize_t" instead.

WARNING: deprecated syntax "typealias curl_off_t Int64" at /home/lobi/.julia/v0.6/LibCURL/src/LibCURL.jl:10.
Use "const curl_off_t = Int64" instead.

WARNING: deprecated syntax "typealias $fake_t $real_t" at /home/lobi/.julia/v0.6/LibCURL/src/lC_common_h.jl:11.
Use "$fake_t = $real_t" instead.
ERROR: LoadError: LoadError: invalid return type or argument type in ccall
Stacktrace:
 [1] include_from_node1(::String) at ./loading.jl:552
 [2] include(::String) at ./sysimg.jl:14
 [3] include_from_node1(::String) at ./loading.jl:552
 [4] include(::String) at ./sysimg.jl:14
 [5] anonymous at ./<missing>:2
while loading /home/lobi/.julia/v0.6/LibCURL/src/lC_curl_h.jl, in expression starting on line 4
while loading /home/lobi/.julia/v0.6/LibCURL/src/LibCURL.jl, in expression starting on line 20
ERROR: LoadError: Failed to precompile LibCURL to /home/lobi/.julia/lib/v0.6/LibCURL.ji.
Stacktrace:
 [1] compilecache(::String) at ./loading.jl:686
 [2] _require(::Symbol) at ./loading.jl:473
 [3] require(::Symbol) at ./loading.jl:386
 [4] include_from_node1(::String) at ./loading.jl:552
 [5] include(::String) at ./sysimg.jl:14
 [6] process_options(::Base.JLOptions) at ./client.jl:305
 [7] _start() at ./client.jl:371
while loading /home/lobi/.julia/v0.6/LibCURL/test/runtests.jl, in expression starting on line 1
===============================[ ERROR: LibCURL ]===============================

failed process: Process(`/home/lobi/julia06/usr/bin/julia -Cnative -J/home/lobi/julia06/usr/lib/julia/sys.so --compile=yes --depwarn=yes --check-bounds=yes --code-coverage=none --color=yes --compilecache=yes /home/lobi/.julia/v0.6/LibCURL/test/runtests.jl`, ProcessExited(1)) [1]

================================================================================
ERROR: LibCURL had test errors

julia> versioninfo()
Julia Version 0.6.0-rc1.0
Commit 6bdb395* (2017-05-07 00:00 UTC)
Platform Info:
  OS: Linux (x86_64-linux-gnu)
  CPU: Intel(R) Core(TM) i3-2120 CPU @ 3.30GHz
  WORD_SIZE: 64
  BLAS: libopenblas (USE64BITINT DYNAMIC_ARCH NO_AFFINITY Sandybridge)
  LAPACK: libopenblas64_
  LIBM: libopenlibm
  LLVM: libLLVM-3.7.1 (ORCJIT, sandybridge)

i found this as dependency to WinRPM

generating files has bitrotted

See #95 (comment) and #99: in short, we've lost the ability to generate the wrapper code for libcurl. Would be great to

  1. Artifactize the libcurl headers, possibly by including them in the JLL and
  2. Be able to generate code from that in a reproducible way
  3. Maybe add a CI step to make sure that what's committed matches what's generated afresh.

v0.5.2 build problem on Windows

I just updated LibCURL.jl from v0.5.1 to v0.5.2 on my windows 10 machine running Julia v1.1.1, I got the following build error. The version 0.5.1 was working without any problem. Also, v0.5.2 is fine on my MacBook Pro. Here is the error I got. Thanks for your help!

(v1.1) pkg> build LibCURL
  Building LibCURL → `C:\Users\XXX\.julia\packages\LibCURL\lWJxD\deps\build.log`
┌ Error: Error building `LibCURL`:
│ ERROR: LoadError: LoadError: LibraryProduct(nothing, ["libz"], :libz, "Prefix(C:\\Users\\XXX\\.julia\\packages\\LibCURL\\lWJxD\\deps\\usr)") is not satisfied, cannot generate deps.jl!
│ Stacktrace:
│  [1] error(::String) at .\error.jl:33
│  [2] #write_deps_file#169(::Bool, ::Bool, ::Function, ::String, ::Array{LibraryProduct,1}) at C:\Users\XXX\.julia\packages\BinaryProvider\A0sDa\src\Products.jl:419
│  [3] (::getfield(BinaryProvider, Symbol("#kw##write_deps_file")))(::NamedTuple{(:verbose,),Tuple{Bool}}, ::typeof(write_deps_file), ::String, ::Array{LibraryProduct,1}) at .\none:0
│  [4] top-level scope at none:0
│  [5] include at .\boot.jl:326 [inlined]
│  [6] include_relative(::Module, ::String) at .\loading.jl:1038
│  [7] include at .\sysimg.jl:29 [inlined]
│  [8] include(::String) at C:\Users\XXX\.julia\packages\LibCURL\lWJxD\deps\build.jl:24
│  [9] top-level scope at C:\Users\XXX\.julia\packages\LibCURL\lWJxD\deps\build.jl:25
│  [10] include at .\boot.jl:326 [inlined]
│  [11] include_relative(::Module, ::String) at .\loading.jl:1038
│  [12] include(::Module, ::String) at .\sysimg.jl:29
│  [13] include(::String) at .\client.jl:403
│  [14] top-level scope at none:0
│ in expression starting at C:\Users\XXX\.julia\packages\LibCURL\lWJxD\deps\build_Zlib.v1.2.11.jl:48
│ in expression starting at C:\Users\XXX\.julia\packages\LibCURL\lWJxD\deps\build.jl:14
└ @ Pkg.Operations C:\cygwin\home\Administrator\buildbot\worker\package_win64\build\usr\share\julia\stdlib\v1.1\Pkg\src\Operations.jl:1075

[PackageEvaluator.jl] Your package LibCURL may have a testing issue.

This issue is being filed by a script, but if you reply, I will see it.

PackageEvaluator.jl is a script that runs nightly. It attempts to load all Julia packages and run their test (if available) on both the stable version of Julia (0.2) and the nightly build of the unstable version (0.3).

The results of this script are used to generate a package listing enhanced with testing results.

The status of this package, LibCURL, on...

  • Julia 0.2 is 'No tests, but package loads.' PackageEvaluator.jl
  • Julia 0.3 is 'No tests, but package loads.' PackageEvaluator.jl

'No tests, but package loads.' can be due to their being no tests (you should write some if you can!) but can also be due to PackageEvaluator not being able to find your tests. Consider adding a test/runtests.jl file.

'Package doesn't load.' is the worst-case scenario. Sometimes this arises because your package doesn't have BinDeps support, or needs something that can't be installed with BinDeps. If this is the case for your package, please file an issue and an exception can be made so your package will not be tested.

This automatically filed issue is a one-off message. Starting soon, issues will only be filed when the testing status of your package changes in a negative direction (gets worse). If you'd like to opt-out of these status-change messages, reply to this message.

Segfault when running tests on Julia v0.4.1

I get a segfault while running on v0.4.1:

julia> Pkg.test("LibCURL")
INFO: Computing test dependencies for LibCURL...
INFO: Installing HTTPClient v0.2.0
INFO: Building LibCURL
INFO: Testing LibCURL

signal (11): Segmentation fault
unknown function (ip: 0x34cd481171)
__strdup at /lib64/libc.so.6 (unknown line)
curl_slist_append at /usr/lib64/libcurl.so.4 (unknown line)
Curl_slist_duplicate at /usr/lib64/libcurl.so.4 (unknown line)
curl_easy_duphandle at /usr/lib64/libcurl.so.4 (unknown line)
unknown function (ip: 0x34cd78fe80)
=====================================================================[ ERROR: LibCURL ]=====================================================================

failed process: Process(`/opt/julia-cbe1bee3a8/bin/julia --check-bounds=yes --code-coverage=none --color=yes /home/ranjan/.julia/v0.4/LibCURL/test/runtests.jl`, ProcessSignaled(11)) [0]

============================================================================================================================================================
INFO: Removing HTTPClient v0.2.0
ERROR: LibCURL had test errors
 in error at ./error.jl:21
 in test at pkg/entry.jl:803
 in anonymous at pkg/dir.jl:31
 in cd at file.jl:22
 in cd at pkg/dir.jl:31
 in test at pkg.jl:71

This is my versioninfo:

julia> versioninfo()
Julia Version 0.4.1
Commit cbe1bee* (2015-11-08 10:33 UTC)
Platform Info:
  System: Linux (x86_64-unknown-linux-gnu)
  CPU: Intel(R) Xeon(R) CPU E5-2630 v2 @ 2.60GHz
  WORD_SIZE: 64
  BLAS: libopenblas (USE64BITINT DYNAMIC_ARCH NO_AFFINITY Sandybridge)
  LAPACK: libopenblas64_
  LIBM: libopenlibm
  LLVM: libLLVM-3.3

Question: how to curl get and post

Hi,
Is there an example on how to curl get and post using LibCURL.jl?
For example is it possible to do:

curl "http://localhost:8000/echo"

Or

curl -H "Content-Type: application /json" --data '{"a":4,"b":5}' http//localhost:800/sum

The above example are directly taken from the following link (r package plumber):
https://www.rplumber.io/

Please note that I currently can't test the package HTTP because I currently can't install packages. I raise an issue in repo Pkg. The nice thing is that LibCURL comes pre-installed with Julia.
Thank you for your help.

struct testing...

In case you are interested in trying to push this further with structs, I pushed a branch with generated Julia types for all the cURL structs (I didn't merge this stuff into the generator yet, needs a few tweaks still for more complicated structs):

https://github.com/ihnorton/libCURL.jl/tree/struct_test

There are (at least) three structs with unsupported field types (you can tell by searching for ::Void):

CURLMsg
curl_fileinfo
curl_sockaddr

If you need these, it will be necessary to use StrPack as discussed by @pao (https://groups.google.com/d/msg/julia-dev/p6DUUSdtY2A/CR3zeC3QyeIJ)

Also, for the other ones you may need to change "type" to "immutable" in the declarations in order to make sure isbits(type) == true (see: https://groups.google.com/d/msg/julia-dev/jiJpHlgLZkA/ftClOEROlLYJ )

If you have a chance to try it I will be very interested to see the results! (also any issues)

SSL Verify

Hi,

I'm trying to connect via a Proxy (inside corp network, I can't choose not to)
I have, of course, replaced the USER PASS & PROXY_URL text
First the error message, perhaps this is the wrong place to report it so there would be no point reading the rest :)

Assertion failure: 0 != rv, at ntio.c:1803

Please submit a bug report with steps to reproduce this fault, and any error messages that follow (in > their entirety). Thanks.
Exception: EXCEPTION_BREAKPOINT at 0x7ff9caa7e0e2 -- DebugBreak at C:\windows\system32\KERNELBASE.dll (unknown line)
DebugBreak at C:\windows\system32\KERNELBASE.dll (unknown line)

So here I am submitting this bug report. Can I also add that if it is a Julia error message, it should include a guide to where to report this bug. Thanks

My code :

using HTTPClient.HTTPC
using LibCURL

const CHECK_SSL = false

function customize_curl(curl)
        # removed error trapping for clarity
    LibCURL.curl_easy_setopt(curl, LibCURL.CURLOPT_PROXY, "http://USER:PASS@PROXY_URL")
    LibCURL.curl_easy_setopt(curl, LibCURL.CURLOPT_PROXYPORT, 8080)
    LibCURL.curl_easy_setopt(curl, LibCURL.CURLOPT_SSL_VERIFYPEER, CHECK_SSL)
end

r = HTTPC.get("https://news.ycombinator.com/news", 
    RequestOptions(request_timeout=5.0,callback=customize_curl)
)
println(r)

if CHECK_SSL is true I get

ERROR: LoadError: "Error executing request : Problem with the SSL CA cert (path? access rights?)"

which is a known problem, but to see here how to set options for CA checking
https://curl.haxx.se/docs/sslcerts.html

Tell libcurl to not verify the peer. With libcurl you disable this with curl_easy_setopt(curl, CURLOPT_SSL_VERIFYPEER, FALSE);
With the curl command line tool, you disable this with -k/--insecure.

so I added CHECK_SSL and set to false and then get the error message at the top.

curl_off_t not exported

It's mentioned in #1 but curl_off_t isn't exported—it is defined internally in LibCURL. This is pretty crucial if you want to define callbacks with curl_off_t argument types. I don't understand the Clang.jl code generation well enough to figure out why this doesn't get exported though.

Build fails on Julia 0.7.0, Win64 (user account)

When updating HDF5.jl today (15 Aug), the build of LibCURL failed (see below). It only seems to happen when logged in as a User, not as an Administrator.

(0.7) pkg> build HDF5
  Building LibCURL ─────→ `C:\Users\Me\.julia\packages\LibCURL\p0LUA\deps\build.log`
┌ Error: Error building `LibCURL`:
│ ERROR: LoadError: LoadError: Could not unpack C:\Users\Me\.julia\packages\LibCURL\p0LUA\deps\usr\downloads\Zlib.v1.2.11.x86_64-w64-mingw32.tar.gz into C:\Users\Me\.julia\packages\LibCURL\p0LUA\deps\usr
│ Stacktrace:
│  [1] error(::String) at .\error.jl:33
│  [2] #unpack#98(::Bool, ::Function, ::String, ::String) at C:\Users\Me\.julia\packages\BinaryProvider\pWVqZ\src\PlatformEngines.jl:600
│  [3] macro expansion at .\none:0 [inlined]

Use libCURL to download a file

It would be nice to have the ability to download and save a file using libCURL. If the output directory and filename are not given, it could go into the current directory.

LibCURL build Download ERROR

           _

_ _ ()_ | A fresh approach to technical computing
() | () () | Documentation: http://docs.julialang.org
_ _ | | __ _ | Type "help()" to list help topics
| | | | | | |/ ` | |
| | |
| | | | (
| | | Version 0.2.1 (2014-02-11 06:30 UTC)
/ |_'|||__'| | Official http://julialang.org/ release
|__/ | x86_64-w64-mingw32

julia> Pkg.build("LibCURL")
INFO: Building LibCURL
INFO: Updating WinRPM package list
INFO: Downloading http://download.opensuse.org/repositories/windows:/mingw:/win3
2/openSUSE_Factory/
/repodata/repomd.xml
INFO: Downloading http://download.opensuse.org/repositories/windows:/mingw:/win6
4/openSUSE_Factory/
/repodata/repomd.xml
INFO: Packages to install: libgpg-error-lang, libgcc, libgpg-error, libgcrypt, l
ibidn-lang, libintl, libsqlite3-0, libssh2, libidn, mozilla-nss, zlib, mozilla-n
spr, libcurl
INFO: Downloading: libgpg-error-lang
INFO: try running WinRPM.update() and retrying the install
===============================[ ERROR: LibCURL ]===============================

WARNING: backtraces on your platform are often misleading or partially incorrect

failed to download libgpg-error-lang 0 from http://download.opensuse.org/reposit
ories/windows:/mingw:/win64/openSUSE_Factory/
/noarch/mingw64-libgpg-error-lang-1.12-3.19.noarch.rpm.
at C:\Users\Maxime.julia\v0.2\LibCURL\deps\build.jl:13

================================[ BUILD ERRORS ]================================

WARNING: LibCURL had build errors.

  • packages with build errors remain installed in C:\Users\Maxime.julia\v0.2
  • build a package and all its dependencies with Pkg.build(pkg)
  • build a single package by running its deps/build.jl script

julia> Pkg.build("LibCURL")
INFO: Building LibCURL
INFO: Packages to install: libgpg-error-lang, libgcc, libgpg-error, libgcrypt, l
ibidn-lang, libintl, libsqlite3-0, libssh2, libidn, mozilla-nss, zlib, mozilla-n
spr, libcurl
INFO: Downloading: libgpg-error-lang
INFO: Extracting: libgpg-error-lang

7-Zip [64] 9.20 Copyright (c) 1999-2010 Igor Pavlov 2010-11-18

Processing archive: C:\Users\Maxime.julia\v0.2\WinRPM\cache\http%3a%2f%2fdownlo
ad.opensuse.org%2frepositories%2fwindows%3a%2fmingw%3a%2fwin64%2fopenSUSE_Factor
y%2f%0d%0a\noarch%2fmingw64-libgpg-error-lang-1.12-3.19.noarch.rpm

Extracting noarch%2fmingw64-libgpg-error-lang-1.12-3.19.noarch.cpio

Everything is Ok

Size: 243988
Compressed: 46193

7-Zip [64] 9.20 Copyright (c) 1999-2010 Igor Pavlov 2010-11-18

Processing archive: C:\Users\Maxime.julia\v0.2\WinRPM\cache\http%3a%2f%2fdownlo
ad.opensuse.org%2frepositories%2fwindows%3a%2fmingw%3a%2fwin64%2fopenSUSE_Factor
y%2f%0d%0a\noarch%2fmingw64-libgpg-error-lang-1.12-3.19.noarch.cpio

Extracting .\usr\x86_64-w64-mingw32\sys-root\mingw\share\locale\cs\LC_MESSAGES
libgpg-error.mo
Extracting .\usr\x86_64-w64-mingw32\sys-root\mingw\share\locale\da\LC_MESSAGES
libgpg-error.mo
Extracting .\usr\x86_64-w64-mingw32\sys-root\mingw\share\locale\de\LC_MESSAGES
libgpg-error.mo
Extracting .\usr\x86_64-w64-mingw32\sys-root\mingw\share\locale\eo\LC_MESSAGES
libgpg-error.mo
Extracting .\usr\x86_64-w64-mingw32\sys-root\mingw\share\locale\fr\LC_MESSAGES
libgpg-error.mo
Extracting .\usr\x86_64-w64-mingw32\sys-root\mingw\share\locale\it\LC_MESSAGES
libgpg-error.mo
Extracting .\usr\x86_64-w64-mingw32\sys-root\mingw\share\locale\ja\LC_MESSAGES
libgpg-error.mo
Extracting .\usr\x86_64-w64-mingw32\sys-root\mingw\share\locale\nl\LC_MESSAGES
libgpg-error.mo
Extracting .\usr\x86_64-w64-mingw32\sys-root\mingw\share\locale\pl\LC_MESSAGES
libgpg-error.mo
Extracting .\usr\x86_64-w64-mingw32\sys-root\mingw\share\locale\ro\LC_MESSAGES
libgpg-error.mo
Extracting .\usr\x86_64-w64-mingw32\sys-root\mingw\share\locale\sv\LC_MESSAGES
libgpg-error.mo
Extracting .\usr\x86_64-w64-mingw32\sys-root\mingw\share\locale\uk\LC_MESSAGES
libgpg-error.mo
Extracting .\usr\x86_64-w64-mingw32\sys-root\mingw\share\locale\vi\LC_MESSAGES
libgpg-error.mo
Extracting .\usr\x86_64-w64-mingw32\sys-root\mingw\share\locale\zh_CN\LC_MESSAG
ES\libgpg-error.mo

Everything is Ok

Files: 14
Size: 241098
Compressed: 243988
INFO: Downloading: libgcc
INFO: try running WinRPM.update() and retrying the install
===============================[ ERROR: LibCURL ]===============================

failed to download libgcc 0 from http://download.opensuse.org/repositories/windo
ws:/mingw:/win64/openSUSE_Factory/
/noarch/mingw64-libgcc-4.8.3-5.6.noarch.rpm.
at C:\Users\Maxime.julia\v0.2\LibCURL\deps\build.jl:13

================================[ BUILD ERRORS ]================================

WARNING: LibCURL had build errors.

  • packages with build errors remain installed in C:\Users\Maxime.julia\v0.2
  • build a package and all its dependencies with Pkg.build(pkg)
  • build a single package by running its deps/build.jl script

As you can see sometimes it goes further into the installation.

I had this installed before but everytime I install a new package LibCURL has to build from start.

I have to say this is very frustrating.
Caus Packages to install are : libgpg-error-lang, libgcc, libgpg-error, libgcrypt, l
ibidn-lang, libintl, libsqlite3-0, libssh2, libidn, mozilla-nss, zlib, mozilla-n
spr, libcurl

and sometime It stop for exemple at zlib (the 11th) but when I try again, the installation restart with libgpg-error-lang so from the beginning(the 1st).

When I need a new package this problem is coming back.

I have friends with the same problem in Belgium.

Thank you very much for your time, I love your work!

Build failure on Windows 7 64-bit

Running Julia 0.3.0:

julia> Pkg.add("LibCURL")
INFO: Installing BinDeps v0.3.5
INFO: Installing HTTPClient v0.1.4
INFO: Installing LibCURL v0.1.4
INFO: Installing LibExpat v0.0.4
INFO: Installing SHA v0.0.3
INFO: Installing URIParser v0.0.2
INFO: Installing URLParse v0.0.0
INFO: Installing WinRPM v0.1.2
INFO: Installing Zlib v0.1.7
INFO: Building WinRPM
WARNING: The URLParse.jl package has been deprecated in favour of JuliaWeb/URIParser.jl
https://github.com/JuliaWeb/URIParser.jl
As of Julia 0.4 this package will no longer be installable
through `Pkg.add`. Please convert your code accordingly.
WARNING: encounted invalid data while parsing repomd
Warning: error initializing module WinRPM:
"ErrorException("Error parsing document : 0"), not well-formed (invalid token), 1, 1, 1"
INFO: Downloading http://download.opensuse.org/repositories/windows:/mingw:/win32/openSUSE_13.1//repodata/repomd.xml
WARNING: encounted invalid data while parsing repomd
========================================[ ERROR: WinRPM ]========================================


"ErrorException(\"Error parsing document : 0\"), not well-formed (invalid token), 1, 1, 1"
while loading C:\home\simonp\.julia\v0.3\WinRPM\deps\build.jl, in expression starting on line 2

=================================================================================================

INFO: Building LibCURL
INFO: Updating WinRPM package list
INFO: Downloading http://download.opensuse.org/repositories/windows:/mingw:/win32/openSUSE_13.1//repodata/repomd.xml
WARNING: encounted invalid data while parsing repomd
=======================================[ ERROR: LibCURL ]========================================


"ErrorException(\"Error parsing document : 0\"), not well-formed (invalid token), 1, 1, 1"
while loading C:\home\simonp\.julia\v0.3\LibCURL\deps\build.jl, in expression starting on line 14


=================================================================================================


========================================[ BUILD ERRORS ]=========================================


WARNING: WinRPM and LibCURL had build errors.

 - packages with build errors remain installed in C:\home\simonp\.julia\v0.3

Thanks in advance.

LibCURL build fails for Windows XP sp3 (32-bits related)

Hi @amitmurthy !

I try to get IJulia running for Julia ...

Version 0.3.0-prerelease+4095 (2014-07-09 02:16 UTC)
Commit 2b6d708 (4 days old master)
i686-w64-mingw32

While LibCURL doesn't build, Nettle can't either.

===============================[ ERROR: LibCURL ]===============================


None of the selected providers can install dependency libcurl-4
while loading C:\Documents and Settings\Administrateur\.julia\v0.3\LibCURL\deps\
build.jl, in expression starting on line 13

===============================================================================


================================[ BUILD ERRORS ]================================


WARNING: LibCURL had build errors.

 - packages with build errors remain installed in C:\Documents and Settings\Admi
nistrateur\.julia\v0.3
 - build a package and all its dependencies with `Pkg.build(pkg)`
 - build a single package by running its `deps/build.jl` script

================================================================================

Here is deps/build.jl
From the @windows_only macro, expression starting on line 13 (@BinDeps.install)is waiting for a dependency provided by "WinRPM"

using BinDeps

@BinDeps.setup

@windows_only begin
# note that there is a 32-bit version of libcurl.dll
# included with Git, which will not work with 64 bit Julia
libcurl = library_dependency("libcurl-4")
using WinRPM
provides(WinRPM.RPM, "libcurl", libcurl, os = :Windows)
end

@BinDeps.install
  • In my case, the problem seem to come from "WinRPM" that doesn't provide the expected data : I am expecting a win32 version of libcurl.
  • How can we be sure that Autoconf (in BinDeps.jl) is properly setting up for a win32 or a win64 case ?
    As a matter of fact, I even doubt it does so : "BinDeps.jl" gets instructed to fetch "libcurl-4", with "os = :Windows", whatever Windows is win32 or win64, and "libcurl-4" seems to be the win64 version :
    BinDeps.jl will resolve windows version for autotools with a win64 version of libcurl in any case.
  • At this level of the code, it is under "build.jl" responsibility to provide "BinDeps.jl" the proper version of the source to build with.
    It must be possible to detect 32 | 64 version at "build.jl" level. I am a beginner in Julia language (roughly read into it to understand a bit, but no more yet !) : would you mind posting some sample code about this, or forward me to where I can get the info?

Also, there is a part of the "Pkg" functionality that is very unclear to me :
when running "Pkg.status()", and more with "Pkg.installed()", shouldn't we expect "the-real-build-status-with-individual-dependancies-resolving" of the packages instead of just release numbers ? Or : Should Julia be aware of it's extended aptitudes, or not ...

Best regards, Stan.

TagBot trigger issue

This issue is used to trigger TagBot; feel free to unsubscribe.

If you haven't already, you should update your TagBot.yml to include issue comment triggers.
Please see this post on Discourse for instructions and more details.

Give Error messages not just error codes

LibPQ.jl does this really well

Here is the docs with all the codes, but there might be another list of coddes somewhere that is easier to regex into julia code

Right now we get things passed on to FTPClient.jl which result in unuseful messages like:

FTPClientError("Failed to upload /foo.bar", 0x0000003c).

But it could have been:

CURLE_PEER_FAILED_VERIFICATION (60)
The remote server's SSL certificate or SSH md5 fingerprint was deemed not OK.

`curl_easy_reset` segfault with Julia v0.4.2

I'm getting a segfault on Julia 0.4.2, tests pass, but:

               _
   _       _ _(_)_     |  A fresh approach to technical computing
  (_)     | (_) (_)    |  Documentation: http://docs.julialang.org
   _ _   _| |_  __ _   |  Type "?help" for help.
  | | | | | | |/ _` |  |
  | | |_| | | | (_| |  |  Version 0.4.2 (2015-12-06 21:47 UTC)
 _/ |\__'_|_|_|\__'_|  |  Official http://julialang.org/ release
|__/                   |  x86_64-unknown-linux-gnu
julia> Pkg.test("LibCURL")
INFO: Testing LibCURL
INFO: LibCURL tests passed

julia> using LibCURL

julia> curl = curl_easy_init()
Ptr{Union{}} @0x0000000002b8c360

julia> curl_easy_setopt(curl, CURLOPT_URL, "http://example.com")

signal (11): Segmentation fault
curl_easy_reset at /usr/lib64/libcurl.so.4 (unknown line)
unknown function (ip: 0x2c33228)
Segmentation fault (core dumped)
julia> Pkg.status()
...
 - LibCURL                       0.2.0+             master
...

Error loading libCURL on Mac

I get this error trying to use libCURL on a Mac (64-bit).

julia> using libCURL
ERROR: cfunction: return type of write_cb does not match
 in cfunction at c.jl:33
 in include_from_node1 at loading.jl:91 (repeats 2 times)
 in reload_path at loading.jl:114
 in require at loading.jl:48
at /Users/viral/.julia/libCURL/src/HTTPC.jl:88
at /Users/viral/.julia/libCURL/src/libCURL.jl:32

SSL CACert Location Unknown outside of Linux

Since the LibCURL library is cross compiled on a Linux instance, when it compiles the linux versions it sets the CACert location to the default location on Linux. For the other OS's (Apple, Windows, etc) it leaves the CACert location blank in the build as it does not know where to find them. This causes the other OS's to not have any CACerts to validate SSL/TLS certificates. Currently the only solution would be to supply your own cert when you are using LibCURL.jl

Why have get and get_async?

It seems to me that the regular get/post/put/etc. already operate asynchronously. What's the purpose of having a second method?

I see that they are returning RemoteRefs, so they do work differently, but the naming convention is a bit ambiguous.

Maybe merge these two functions into one. If you call get with a callback, the callback will fire on completion. If you call it without a callback, it behaves the way get_async currently does.

cacert is not relocatable

global cacert = MozillaCACerts_jll.cacert

this is causing the stdlib Downloader to fail when built into a standalone application, since there is no cert.pem shipped with the application, and even it is shipped with the application this path is already fixed during the compilation.

Error Message

ERROR: Error reading ca cert file /Users/runner/hostedtoolcache/julia/1.5.3/x64/share/julia/cert.pem - mbedTLS: (-0x3E00) PK - Read/write of file failed while requesting https://julialangnightlies-s3.julialang.org/bin/mac/x64/julia-latest-mac64.dmg
Stacktrace:
 [1] (::Downloads.var"#9#17"{IOStream,Base.DevNull,Nothing,Array{Pair{String,String},1},Float64,Bool,Bool,String,Bool,Bool,Int64})(::Downloads.Curl.Easy) at /Users/roger/.ion/applications/ion/bin/ion.dylib:?
 [2] with_handle(::Downloads.var"#9#17"{IOStream,Base.DevNull,Nothing,Array{Pair{String,String},1},Float64,Bool,Bool,String,Bool,Bool,Int64}, ::Downloads.Curl.Easy) at /Users/roger/.ion/applications/ion/bin/ion.dylib:?
 [3] arg_write(::Downloads.var"#8#16"{Base.DevNull,Nothing,Array{Pair{String,String},1},Float64,Bool,Bool,String,Bool,Bool,Int64}, ::IOStream) at /Users/roger/.ion/applications/ion/bin/ion.dylib:?

Regenerate constants

Since the Clang-generated wrapper was generated 6 years ago, newer options such as CURLOPT_UNIX_SOCKET_PATH are missing. The constants, at least, should be regenerated.

Build fails on Julia 1.0

Building LibCURL → ~/.julia/packages/LibCURL/yT2TD/deps/build.log
┌ Error: Error building LibCURL:
│ WARNING: could not import Compat.is_windows into Main
│ ERROR: LoadError: UndefVarError: is_windows not defined
│ Stacktrace:
│ [1] top-level scope at none:0
│ [2] include at ./boot.jl:317 [inlined]
│ [3] include_relative(::Module, ::String) at ./loading.jl:1038
│ [4] include(::Module, ::String) at ./sysimg.jl:29
│ [5] include(::String) at ./client.jl:388
│ [6] top-level scope at none:0
│ in expression starting at /Users/arora/.julia/packages/LibCURL/yT2TD/deps/build.jl:6
└ @ Pkg.Operations ~/src/julia/usr/share/julia/stdlib/v1.0/Pkg/src/Operations.jl:1068

Pkg.test() on windows with Julia-0.5 fails

Here's the error:

julia> Pkg.test("LibCURL")
INFO: Testing LibCURL
ERROR: LoadError: error compiling curl_easy_init: could not load library "C:\Use
rs\julia\.julia\v0.5\WinRPM\deps\usr\x86_64-w64-mingw32\sys-root\mingw\bin\libcu
rl-4"
The specified module could not be found.

 in include_from_node1(::String) at .\loading.jl:488
 in process_options(::Base.JLOptions) at .\client.jl:262
 in _start() at .\client.jl:318
while loading C:\Users\julia\.julia\v0.5\LibCURL\test\runtests.jl, in expression
 starting on line 5
===============================[ ERROR: LibCURL ]===============================


failed process: Process(`'C:\Users\julia\AppData\Local\Julia-0.5.0\bin\julia' -C
x86-64 '-JC:\Users\julia\AppData\Local\Julia-0.5.0\lib\julia\sys.dll' --compile=
yes --depwarn=yes --check-bounds=yes --code-coverage=none --color=yes --compilec
ache=yes 'C:\Users\julia\.julia\v0.5\LibCURL\test\runtests.jl'`, ProcessExited(1
)) [1]

================================================================================

ERROR: LibCURL had test errors
 in #test#61(::Bool, ::Function, ::Array{AbstractString,1}) at .\pkg\entry.jl:74
0
 in (::Base.Pkg.Entry.#kw##test)(::Array{Any,1}, ::Base.Pkg.Entry.#test, ::Array
{AbstractString,1}) at .\<missing>:0
 in (::Base.Pkg.Dir.##2#3{Array{Any,1},Base.Pkg.Entry.#test,Tuple{Array{Abstract
String,1}}})() at .\pkg\dir.jl:31
 in cd(::Base.Pkg.Dir.##2#3{Array{Any,1},Base.Pkg.Entry.#test,Tuple{Array{Abstra
ctString,1}}}, ::String) at .\file.jl:48
 in #cd#1(::Array{Any,1}, ::Function, ::Function, ::Array{AbstractString,1}, ::V
ararg{Array{AbstractString,1},N}) at .\pkg\dir.jl:31
 in (::Base.Pkg.Dir.#kw##cd)(::Array{Any,1}, ::Base.Pkg.Dir.#cd, ::Function, ::A
rray{AbstractString,1}, ::Vararg{Array{AbstractString,1},N}) at .\<missing>:0
 in #test#3(::Bool, ::Function, ::String, ::Vararg{String,N}) at .\pkg\pkg.jl:25
8
 in test(::String, ::Vararg{String,N}) at .\pkg\pkg.jl:258

Cannot use channels to send data from a write callback: Channel is closed

Julia version: 1.0.5
LibCURL: [b27032c2] LibCURL v0.5.2

julia> unsafe_string(LibCURL.curl_version())
"libcurl/7.64.1 mbedTLS/2.6.1 zlib/1.2.11"

When I use a write callback with a Channel, I always get a Channel is closed error even though I never close the channel.

Code:

using LibCURL, Test

function curl_write_cb(curlbuf::Ptr{Cvoid}, s::Csize_t, n::Csize_t, p_ctxt::Ptr{Cvoid})::Csize_t
    sz = s * n
    data = Array{UInt8}(undef, sz)

    ccall(:memcpy, Ptr{Cvoid}, (Ptr{Cvoid}, Ptr{Cvoid}, UInt64), data, curlbuf, sz)

    ch_ref = unsafe_pointer_to_objref(p_ctxt)


    GC.@preserve data ch_ref begin
        put!(ch_ref[], data)
    end

    sz::Csize_t
end

c_curl_write_cb = @cfunction(curl_write_cb, Csize_t, (Ptr{Cvoid}, Csize_t, Csize_t, Ptr{Cvoid}))

function curl_add_headers(curl::Ptr, headers::Vector{String})
    slist = Ptr{Cvoid}(0)
    for header in headers
        slist = curl_slist_append(slist, header)
    end

    return curl_easy_setopt(curl, CURLOPT_HTTPHEADER, slist)
end


function test_writeCB()
    curl = curl_easy_init()

    curl_easy_setopt(curl, CURLOPT_FOLLOWLOCATION,  1)     # Follow HTTP redirects
    curl_easy_setopt(curl, CURLOPT_SSL_VERIFYPEER,  1)     # Verify the peer's SSL cert
    curl_easy_setopt(curl, CURLOPT_SSL_VERIFYHOST,  2)     # Verify the server's Common Name
    curl_easy_setopt(curl, CURLOPT_SSLVERSION,      7<<16) # Try highest version up to TLS 1.3
    curl_easy_setopt(curl, CURLOPT_HTTP_VERSION,    4)     # Use H2 over SSL or HTTP/1.1 otherwise
    curl_easy_setopt(curl, CURLOPT_TCP_FASTOPEN,    1)     # Use TCP Fastopen
    curl_easy_setopt(curl, CURLOPT_TCP_KEEPALIVE,   1)     # Use TCP Keepalive
    curl_easy_setopt(curl, CURLOPT_ACCEPT_ENCODING, "")    # Use best supported encoding (compression) method. gzip or deflate
    curl_easy_setopt(curl, CURLOPT_POST, 1)            # Use HTTP Post
    curl_easy_setopt(curl, CURLOPT_URL, "https://postman-echo.com/post")

    curl_easy_setopt(curl, CURLOPT_VERBOSE, 1)

    # We create a channel to pass data between the curl write handler and this function
    databuffer = Array{UInt8}[]
    ch = Channel(ctype=Array{UInt8}) do ch
        push!(databuffer, take!(ch))
    end

    curl_easy_setopt(curl, CURLOPT_WRITEFUNCTION, c_curl_write_cb)
    curl_easy_setopt(curl, CURLOPT_WRITEDATA, Ref(ch))

    errorbuffer = Array{UInt8}(undef, CURL_ERROR_SIZE)
    curl_easy_setopt(curl, CURLOPT_ERRORBUFFER, errorbuffer)

    requestBody = """{"a":10,"b":[1,2,3]}"""
    curl_easy_setopt(curl, CURLOPT_POSTFIELDSIZE, length(requestBody))
    curl_easy_setopt(curl, CURLOPT_COPYPOSTFIELDS, requestBody)

    curl_add_headers(curl, [
        "Content-Type: application/json",
        "Content-Length: $(length(requestBody))"
    ])

    res = curl_easy_perform(curl)

    println(length(databuffer))
    println(join(map(String, databuffer), ""))

    @test 0 == res
end


test_writeCB()

Output (after all the TCP and SSL stuff):

> POST /post HTTP/1.1
Host: postman-echo.com
Accept: */*
Accept-Encoding: deflate, gzip
Content-Type: application/json
Content-Length: 20

* upload completely sent off: 20 out of 20 bytes
< HTTP/1.1 200 OK
< Date: Thu, 04 Jun 2020 01:39:12 GMT
< Content-Type: application/json; charset=utf-8
< Content-Length: 383
< Connection: keep-alive
< ETag: W/"17f-a0IU3ZFzsjQnxeU9NYDf8IpRn7I"
< Vary: Accept-Encoding
< set-cookie: sails.sid=s%3AKXgZGDIOUCGmkt61Dp26tyyEckbI2cBk.AeM6UJ6UjW7L9HA1jbKrM7W1rSPiyemT5Ez%2FJ%2BCodlg; Path=/; HttpOnly
< 
ERROR: LoadError: InvalidStateException("Channel is closed.", :closed)
Stacktrace:
 [1] check_channel_state at ./channels.jl:120 [inlined]
 [2] put!(::Channel{Array{UInt8,N} where N}, ::Array{UInt8,1}) at ./channels.jl:250
 [3] macro expansion at ./gcutils.jl:87 [inlined]
 [4] curl_write_cb(::Ptr{Nothing}, ::UInt64, ::UInt64, ::Ptr{Nothing}) at test/runtests.jl:12
 [5] curl_easy_perform at /home/ubuntu/.julia/packages/LibCURL/lWJxD/src/lC_curl_h.jl:162 [inlined]
 [6] test_writeCB() at test/runtests.jl:68
 [7] top-level scope at none:0
 [8] include at ./boot.jl:317 [inlined]
 [9] include_relative(::Module, ::String) at ./loading.jl:1044
 [10] include(::Module, ::String) at ./sysimg.jl:29
 [11] exec_options(::Base.JLOptions) at ./client.jl:266
 [12] _start() at ./client.jl:425
in expression starting at test/runtests.jl:77

Update to 7.71.1

I notice LibCURL_jll.jl is outdated too, and the project file here doesn't even point to the version there.

[I just saw PHP was updated because of security issue in libcurl.]

Should this be reported at LibCURL_jll.j and/or Julia?

I can't see where the version number is otherwise, so not sure how to make a PR.

v0.5.1-0.5.2 are causing troubles in HTTP

more detailed description is here.
In short this simple piece works with LibCURL v0.5.0 and fails with 0.5.1-0.5.2 on Windows. (As I understand AWS* does not use LibCURL, just initialization of LibCURL causes the failure later)

using AWSS3, AWSCore
#just initing LibCURL cause HTTP to fail
using LibCURL

aws = AWSCore.default_aws_config()
s3_list_buckets(aws)

And for reference the error I am getting

ERROR: error compiling #sslconnection#18: error compiling Type: could not load library "C:\Users\retracted_id\.julia\packages\MbedTLS\X4xar\deps\usr\bin\libmbedtls.dll"
The specified procedure could not be found.

Stacktrace:
 [1] #getconnection#11(::Int64, ::Int64, ::Int64, ::Int64, ::Bool, ::Base.Iterators.Pairs{Symbol,Union{Nothing, Int64},Tuple{Symbol,Symbol},NamedTuple{(:iofunction, :verbose),Tuple{Nothing,Int64}}}, ::Function, ::Type{HTTP.ConnectionPool.Transaction{MbedTLS.SSLContext}}, ::SubString{String}, ::SubString{String}) at .\none:0
 [2] (::getfield(HTTP.ConnectionPool, Symbol("#kw##getconnection")))(::NamedTuple{(:reuse_limit, :iofunction, :verbose, :require_ssl_verification),Tuple{Int64,Nothing,Int64,Bool}}, ::typeof(HTTP.ConnectionPool.getconnection), ::Type{HTTP.ConnectionPool.Transaction{MbedTLS.SSLContext}}, ::SubString{String}, ::SubString{String}) at .\none:0
 [3] #request#1(::Nothing, ::Type, ::Int64, ::Base.Iterators.Pairs{Symbol,Any,Tuple{Symbol,Symbol,Symbol},NamedTuple{(:iofunction, :verbose, :require_ssl_verification),Tuple{Nothing,Int64,Bool}}}, ::Function, ::Type{HTTP.ConnectionRequest.ConnectionPoolLayer{HTTP.StreamRequest.StreamLayer}}, ::HTTP.URIs.URI, ::HTTP.Messages.Request, ::String) at C:\Users\retracted_id\.julia\packages\HTTP\U2ZVp\src\ConnectionRequest.jl:41
 [4] (::getfield(HTTP, Symbol("#kw##request")))(::NamedTuple{(:iofunction, :verbose, :require_ssl_verification),Tuple{Nothing,Int64,Bool}}, ::typeof(HTTP.request), ::Type{HTTP.ConnectionRequest.ConnectionPoolLayer{HTTP.StreamRequest.StreamLayer}}, ::HTTP.URIs.URI, ::HTTP.Messages.Request, ::String) at .\none:0
 [5] #request#1(::Base.Iterators.Pairs{Symbol,Any,Tuple{Symbol,Symbol,Symbol},NamedTuple{(:iofunction, :verbose, :require_ssl_verification),Tuple{Nothing,Int64,Bool}}}, ::Function, ::Type{HTTP.ExceptionRequest.ExceptionLayer{HTTP.ConnectionRequest.ConnectionPoolLayer{HTTP.StreamRequest.StreamLayer}}}, ::HTTP.URIs.URI, ::Vararg{Any,N} where N) at C:\Users\retracted_id\.julia\packages\HTTP\U2ZVp\src\ExceptionRequest.jl:19
 [6] #request at .\none:0 [inlined]
 [7] #request#1(::VersionNumber, ::String, ::Nothing, ::Nothing, ::Base.Iterators.Pairs{Symbol,Integer,Tuple{Symbol,Symbol},NamedTuple{(:verbose, :require_ssl_verification),Tuple{Int64,Bool}}}, ::Function, ::Type{HTTP.MessageRequest.MessageLayer{HTTP.ExceptionRequest.ExceptionLayer{HTTP.ConnectionRequest.ConnectionPoolLayer{HTTP.StreamRequest.StreamLayer}}}}, ::String, ::HTTP.URIs.URI, ::Array{Pair{SubString{String},SubString{String}},1}, ::String) at C:\Users\retracted_id\.julia\packages\HTTP\U2ZVp\src\MessageRequest.jl:47
 [8] (::getfield(HTTP, Symbol("#kw##request")))(::NamedTuple{(:verbose, :require_ssl_verification),Tuple{Int64,Bool}}, ::typeof(HTTP.request), ::Type{HTTP.MessageRequest.MessageLayer{HTTP.ExceptionRequest.ExceptionLayer{HTTP.ConnectionRequest.ConnectionPoolLayer{HTTP.StreamRequest.StreamLayer}}}}, ::String, ::HTTP.URIs.URI, ::Array{Pair{SubString{String},SubString{String}},1}, ::String) at .\none:0
 [9] http_request(::Dict{Symbol,Any}) at C:\Users\retracted_id\.julia\packages\AWSCore\BzoMV\src\http.jl:36
 [10] macro expansion at C:\Users\retracted_id\.julia\packages\AWSCore\BzoMV\src\AWSCore.jl:410 [inlined]
 [11] macro expansion at C:\Users\retracted_id\.julia\packages\Retry\0jMye\src\repeat_try.jl:192 [inlined]
 [12] do_request(::Dict{Symbol,Any}) at C:\Users\retracted_id\.julia\packages\AWSCore\BzoMV\src\AWSCore.jl:393
 [13] macro expansion at C:\Users\retracted_id\.julia\packages\AWSS3\eYu6G\src\AWSS3.jl:108 [inlined]
 [14] macro expansion at C:\Users\retracted_id\.julia\packages\Retry\0jMye\src\repeat_try.jl:192 [inlined]
 [15] #s3#1(::Dict{String,String}, ::String, ::Dict{String,String}, ::String, ::String, ::Bool, ::Bool, ::Function, ::Dict{Symbol,Any}, ::String, ::String) at C:\Users\retracted_id\.julia\packages\AWSS3\eYu6G\src\AWSS3.jl:82
 [16] #s3 at .\none:0 [inlined] (repeats 2 times)
 [17] s3_list_buckets(::Dict{Symbol,Any}) at C:\Users\retracted_id\.julia\packages\AWSS3\eYu6G\src\AWSS3.jl:463
 [18] top-level scope at none:0

LibCURL build fails when installed on secure networks

The LibCURL build currently contains a statement to download a repomd.xml file if it's not found in the cache. However, on some secure networks, direct file downloads like wget are blocked entirely. Would it be possible to incorporate this .xml file in to your git repository so that users can install from behind strict firewalls?

Below is a screenshot of the build errors.

image

LibCURL does not build behind a proxy

The build.jl script uses the download function in line 20.
I think the Base.download function is shadowed by a version from BinaryProvider, which does not use the proxy.

ERROR: error compiling get: error compiling setup_easy_handle: could not load library

Julia Version 0.7.0-DEV.1038
Commit f77d4cfdbe* (2017-07-18 17:03 UTC)
Platform Info:
  OS: Windows (x86_64-w64-mingw32)
  CPU: Intel(R) Core(TM) i7-4510U CPU @ 2.00GHz
  WORD_SIZE: 64
  BLAS: libopenblas (USE64BITINT DYNAMIC_ARCH NO_AFFINITY Haswell)
  LAPACK: libopenblas64_
  LIBM: libopenlibm
  LLVM: libLLVM-3.9.1 (ORCJIT, haswell)
Environment:
  JULIA_EDITOR = subl
  JULIA_NUM_THREADS = 4

julia> using HTTPClient.HTTPC
julia> source = "https://cache.julialang.org/http://download.opensuse.org/repositories/windows:/mingw:/win64/openSUSE_Leap_42.2/repodata/repomd.xml"

julia> x = HTTPC.get(source)
ERROR: error compiling get: error compiling setup_easy_handle: could not load library "C:\Users\Mus\.julia\v0.7\WinRPM\deps\usr\x86_64-w64-mingw32\sys-root\mingw\bin\libcurl-4"
The specified module could not be found.

warnings

I believe (but am not entirely certain) that these warnings are coming from LibCURL... have not been able to isolate yet.

WARNING: convert{T}(p::Type{Ptr{T}},a::Array) is deprecated, use convert(p,pointer(a)) instead.
 in convert at deprecated.jl:26
 in exec_as_multi at /home/ihnorton/.julia/v0.3/HTTPClient/src/HTTPC.jl:670
 in _put_post at /home/ihnorton/.julia/v0.3/HTTPClient/src/HTTPC.jl:484
 in put_post at /home/ihnorton/.julia/v0.3/HTTPClient/src/HTTPC.jl:454
 in post at /home/ihnorton/.julia/v0.3/HTTPClient/src/HTTPC.jl:388
 in post at /home/ihnorton/.julia/v0.3/HTTPClient/src/HTTPC.jl:527
 in include at ./boot.jl:245
 in include_from_node1 at loading.jl:128
 in process_options at ./client.jl:285
 in _start at ./client.jl:354
WARNING: convert{T}(p::Type{Ptr{T}},a::Array) is deprecated, use convert(p,pointer(a)) instead.
 in convert at deprecated.jl:26
 in exec_as_multi at /home/ihnorton/.julia/v0.3/HTTPClient/src/HTTPC.jl:673
 in _put_post at /home/ihnorton/.julia/v0.3/HTTPClient/src/HTTPC.jl:484
 in put_post at /home/ihnorton/.julia/v0.3/HTTPClient/src/HTTPC.jl:454
 in post at /home/ihnorton/.julia/v0.3/HTTPClient/src/HTTPC.jl:388
 in post at /home/ihnorton/.julia/v0.3/HTTPClient/src/HTTPC.jl:527
 in include at ./boot.jl:245
 in include_from_node1 at loading.jl:128
 in process_options at ./client.jl:285
 in _start at ./client.jl:354

bump sha1 in metadata

I forgot to check the latest here and ran through fixing the 32 / 64 issues independently >.<

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.