Code Monkey home page Code Monkey logo

gnutls.jl's People

Contributors

amitmurthy avatar iainnz avatar ihnorton avatar juliatagbot avatar keno avatar malmaud avatar oxinabox avatar porterjamesj avatar quinnj avatar sbromberger avatar staticfloat avatar stevengj avatar swdunlop avatar tmlbl avatar yuyichao avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

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

gnutls.jl's Issues

deprecate WRITE_RETURN_TYPE

per JuliaLang/julia@2af73dd#commitcomment-9805503

I'd like to deprecate our recent change that fixed the problem with Base.write changing from Int64 to Uint64. However, I'd like to do it this way:

    ccall((:gnutls_transport_set_push_function,gnutls),Void,(Ptr{Void},Ptr{Void}),s.handle,cfunction(Base.write,Int,(T,Ptr{Uint8},Csize_t)))

Note that I'm using Int. I think this is more correct (if it works) because on 32-bit systems, specifying Int64 might actually cause a failure. Thoughts?

GnuTLS (nettle) doesn't build on RHEL6.1

Hi,

I tried installing GnuTLS on RHEL6.1 (64-bit) and it failed during the compile of nettle. After some debugging I determined I needed a newer version of openssl (I used the latest, 1.0.1e), I did:

cd ~/downloads/openssl-1.0.1e ./config --prefix=$HOME/apps/openssl-1.0.1e && make && make install

Then to compile nettle I did:
export LD_LIBRARY_PATH=$HOME/apps/openssl-1.0.1e/lib export LDFLAGS=-L$HOME/apps/openssl-1.0.1e/lib cd ~/.julia/GnuTLS/deps/src/nettle-2.7 ./configure --prefix=/u/hertz/.julia/GnuTLS/deps/usr make && make install

But then I'm not sure how to continue on with the build of GnuTLS. Any pointers? I would like to try to get all the way through the install (I'm wanting to test IJulia).

Would it be possible to compile openssl before nettle so that this will install smoothly on more systems?

Thanks,

Glen

Unable to build package on Windows.

Ia m using Windows 7 and Julia v0.3.10, this is the error I get:

INFO: Building GnuTLS
INFO: Packages to update:  libnettle-4-6
INFO: Packages to install: libffi6, libhogweed-2-4, libp11-kit0, zlib1, libgmp10, libtasn1-6, libgnutls28, gnutls-lang, libintl8, gnutls
INFO: Downloading: libnettle-4-6
INFO: Extracting: libnettle-4-6

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

Processing archive: C:\Users\Peter\.julia\v0.3\WinRPM\cache\2\noarch%2Fmingw64-libnettle-4-6-2.7-9.15.noarch.cpio

ERROR: Can not delete output file C:\Users\Peter\.julia\v0.3\WinRPM\deps\usr\x86_64-w64-mingw32\sys-root\mingw\bin\libnettle-4-6.dll

Sub items Errors: 1


============================[ ERROR: GnuTLS ]============================

failed process: Process(`7z x -y 'C:\Users\Peter\.julia\v0.3\WinRPM\cache\2\noarch%2Fmingw64-libnettle-4-6-2.7-9.15.noarch.cpio' '-oC:\Users\Peter\.julia\v0.3\WinRPM\deps'`, ProcessExited(2)) [2]
while loading C:\Users\Peter\.julia\v0.3\GnuTLS\deps\build.jl, in expression starting on line 59

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

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

WARNING: GnuTLS had build errors.

 - packages with build errors remain installed in C:\Users\Peter\.julia\v0.3
 - build the package(s) and all dependencies with `Pkg.build("GnuTLS")`
 - build a single package by running its `deps/build.jl` script

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

julia>

I've tried checking out GnuTLS, running the ternminal with admin privileges and still the same, could this be an issue with 7zip?

work with older GnuTLS

@JeffBezanson just went through a lot of pain because the version of GnuTLS in Ubuntu is too old here. We really should try hard to work with a GnuTLS that is a couple of years old.

(GnuTLS is a fairly mature package, 10 years since its 1.0 release, so we should be able to make do with a version that is not on the bleeding edge.)

[PkgEval] GnuTLS may have a testing issue on Julia 0.4 (2015-07-02)

PackageEvaluator.jl is a script that runs nightly. It attempts to load all Julia packages and run their tests (if available) on both the stable version of Julia (0.3) and the nightly build of the unstable version (0.4). The results of this script are used to generate a package listing enhanced with testing results.

On Julia 0.4

  • On 2015-06-30 the testing status was Tests pass.
  • On 2015-07-02 the testing status changed to Tests fail.

This issue was filed because your testing status became worse. No additional issues will be filed if your package remains in this state, and no issue will be filed if it improves. If you'd like to opt-out of these status-change messages, reply to this message saying you'd like to and @IainNZ will add an exception. If you'd like to discuss PackageEvaluator.jl please file an issue at the repository. For example, your package may be untestable on the test machine due to a dependency - an exception can be added.

Test log:

>>> 'Pkg.add("GnuTLS")' log
INFO: No packages to install, update or remove
INFO: Package database updated
INFO: METADATA is out-of-date โ€” you may not have the latest version of GnuTLS
INFO: Use `Pkg.update()` to get the latest versions of your packages

>>> 'Pkg.test("GnuTLS")' log
Julia Version 0.4.0-dev+5741
Commit e063f77* (2015-07-01 15:54 UTC)
Platform Info:
  System: Linux (x86_64-unknown-linux-gnu)
  CPU: Intel(R) Xeon(R) CPU E5-2650 0 @ 2.00GHz
  WORD_SIZE: 64
  BLAS: libopenblas (USE64BITINT DYNAMIC_ARCH NO_AFFINITY Nehalem)
  LAPACK: libopenblas
  LIBM: libopenlibm
  LLVM: libLLVM-3.3
INFO: Testing GnuTLS

WARNING: deprecated syntax "install (" at /home/vagrant/.julia/v0.4/BinDeps/src/dependencies.jl:773.
Use "install(" instead.
WARNING: This version of the GnuTLS library (2.12.14) is deprecated
and contains known security vulnerabilities. Please upgrade to a
more recent version.
ERROR: LoadError: ReadOnlyMemoryError()
while loading /home/vagrant/.julia/v0.4/GnuTLS/test/runtests.jl, in expression starting on line 7
===============================[ ERROR: GnuTLS ]================================

failed process: Process(`/home/vagrant/julia/bin/julia --check-bounds=yes --code-coverage=none --color=no /home/vagrant/.julia/v0.4/GnuTLS/test/runtests.jl`, ProcessExited(1)) [1]

================================================================================
INFO: No packages to install, update or remove
ERROR: GnuTLS had test errors
 in error at ./error.jl:21
 in test at pkg/entry.jl:746
 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
 in process_options at ./client.jl:282
 in _start at ./client.jl:406

>>> End of log

GnuTLS.jl not building on Debian

Hi there,
I am having trouble building GnuTLS.jl on Debian Jessie.
When I enter Pkg.build("GnuTLS") I get the following error:

File String["/root/.julia/v0.3/GnuTLS/deps/src/nettle-2.7"] was not created successfully (Tried to run SynchronousStepCollection({tar xzf /root/.julia/v0.3/GnuTLS/deps/downloads/nettle-2.7.tar.gz --directory=/root/.julia/v0.3/GnuTLS/deps/src},"","") ) while loading /root/.julia/v0.3/GnuTLS/deps/build.jl, in expression starting on line 55

But /root/.julia/v0.3/GnuTLS/deps/src/nettle-2.7 does exist and is full of source files as expected.
Also, Nettle.jl is installed and works fine.

Any ideas?

Thanks,
Jock

In Debian 8.1 (Jessie): test failed, nothing works

~ > julia -e 'Pkg.add("GnuTLS")'
INFO: Installing GnuTLS v0.0.5
INFO: Installing Nettle v0.1.10
INFO: Building Nettle
INFO: Building GnuTLS
INFO: Package database updated
~ > julia -e 'Pkg.test("GnuTLS")'
INFO: Testing GnuTLS
WARNING: This version of the GnuTLS library (3.3.8) is deprecated
and contains known security vulnerabilities. Please upgrade to a
more recent version.
/usr/local/bin/julia: symbol lookup error: /usr/lib/x86_64-linux-gnu/libhogweed.so.2: undefined symbol: __gmpn_cnd_add_n
===============================[ ERROR: GnuTLS ]================================

failed process: Process(`/usr/local/bin/julia /home/user/.julia/v0.3/GnuTLS/test/runtests.jl`, ProcessExited(127)) [127]

================================================================================
INFO: No packages to install, update or remove
ERROR: GnuTLS had test errors
 in error at error.jl:21
 in test at pkg/entry.jl:718
 in anonymous at pkg/dir.jl:28
 in cd at ./file.jl:20
 in cd at pkg/dir.jl:28
 in test at pkg.jl:67
 in process_options at ./client.jl:213
 in _start at ./client.jl:354

~ > julia -e 'Pkg.test("Nettle")'
INFO: Testing Nettle
INFO: Nettle tests passed
INFO: No packages to install, update or remove

Reinstalling libnettle, libgnutls-deb0-28 doesn't help

segfault on handshake!

Brand new julia REPL:

julia> sess = GnuTLS.Session()
GnuTLS.Session(Ptr{Void} @0x00007fc88402ac00,false,#undef,#undef)

julia> set_credentials!(sess, GnuTLS.CertificateStore())

julia> set_priority_string!(sess)

julia> associate_stream(sess, connect("github.com", 443))

julia> handshake!(sess)

signal (11): Segmentation fault: 11
unknown function (ip: 16777630)
Segmentation fault: 11

WARNING: GnuTLS had build errors.

D:\pawel\Julia_6.0_otwarty>C:\Users\PC\AppData\Local\Julia-0.6.3\bin\julia.exe -L start.jl
Pracujesz w aktalogu: D:\pawel\Julia_6.0_otwarty
_
_ _ ()_ | A fresh approach to technical computing
() | () () | Documentation: https://docs.julialang.org
_ _ | | __ _ | Type "?help" for help.
| | | | | | |/ ` | |
| | |
| | | | (
| | | Version 0.6.3 (2018-05-28 20:20 UTC)
/ |_'|||_'_| | Official http://julialang.org/ release
|__/ | x86_64-w64-mingw32

julia> using GnuTLS
INFO: Recompiling stale cache file C:\Users\PC.julia\lib\v0.6\Compat.ji for module Compat.
ERROR: LoadError: GnuTLS not properly installed. Please run Pkg.build("GnuTLS")
Stacktrace:
[1] error(::String) at .\error.jl:21
[2] include_from_node1(::String) at .\loading.jl:576
[3] eval(::Module, ::Any) at .\boot.jl:235
[4] _require(::Symbol) at .\loading.jl:490
[5] require(::Symbol) at .\loading.jl:405
while loading C:\Users\PC.julia\v0.6\GnuTLS\src\GnuTLS.jl, in expression starting on line 11

julia> Pkg.build("GnuTLS")
INFO: Building WinRPM
INFO: Downloading https://cache.julialang.org/http://download.opensuse.org/repositories/windows:/mingw:/win32/openS
USE_Leap_42.2/repodata/repomd.xml
INFO: Downloading https://cache.julialang.org/http://download.opensuse.org/repositories/windows:/mingw:/win64/openS
USE_Leap_42.2/repodata/repomd.xml
INFO: Building Nettle
INFO: Updating WinRPM package list
INFO: Downloading https://cache.julialang.org/http://download.opensuse.org/repositories/windows:/mingw:/win32/openS
USE_Leap_42.2/repodata/repomd.xml
INFO: Downloading https://cache.julialang.org/http://download.opensuse.org/repositories/windows:/mingw:/win64/openS
USE_Leap_42.2/repodata/repomd.xml
INFO: Building GnuTLS
=================================================[ ERROR: GnuTLS ]=================================================

LoadError: UndefVarError: Uint8 not defined
while loading C:\Users\PC.julia\v0.6\GnuTLS\deps\build.jl, in expression starting on line 6

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

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

WARNING: GnuTLS had build errors.

  • packages with build errors remain installed in C:\Users\PC.julia\v0.6
  • build the package(s) and all dependencies with Pkg.build("GnuTLS")
  • build a single package by running its deps/build.jl script

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

julia>

Strange error on nightly coverage builder

I'm getting a strange error on the latest coverage runs:

ERROR: GnuTLS Exception: GNUTLS_E_ASN1_ELEMENT_NOT_FOUND(-67): ASN1 parser: Element was not found.
 in handshake! at /home/ubuntu/.julia/v0.4/GnuTLS/src/GnuTLS.jl:326
 in open_stream at /home/ubuntu/.julia/v0.4/Requests/src/Requests.jl:321
 in send_multipart at /home/ubuntu/.julia/v0.4/Requests/src/Requests.jl:604
 in do_request at /home/ubuntu/.julia/v0.4/Requests/src/Requests.jl:702
 in post at /home/ubuntu/.julia/v0.4/Requests/src/Requests.jl:735
 in submit_token at /home/ubuntu/.julia/v0.4/Coverage/src/coveralls.jl:108
 in process_options at ./client.jl:284
 in _start at ./client.jl:411

@kshyatt, @IainNZ, any ideas as to what this could mean?

readtobuf appears to be hitting timeout

This is a running issue to document debugging notes on GnuTLS.jl.

Right now I'm seeing ~45second timeouts between a call to record_recv and the return of "0" bytes - this happens as the remote connection runs out of things to send. The time between the entry into

    ret = ccall((:gnutls_record_recv,gnutls), Int, (Ptr{Void},Ptr{Uint8},Csize_t), io.handle, pointer(buf.data,buf.size+1), nb)

and its exit is pretty consistent. I don't know whether there's a way to prevent blocking when there are no more bytes - the GnuTLS documentation is vague on this point and says that configuration of blocking is done at the socket level, which doesn't appear to be implemented in Julia's connect().

close(s::Session) waits forever ๐Ÿ’ค

close(s::Session) calls gnutls_bye(s.handle, GNUTLS_SHUT_RDWR).
This causes gnutls to "wait for the peer to reply with the same message" -- http://dev.man-online.org/man3/gnutls_bye

I'm using Requests.jl to talk to https://iam.amazonaws.com.
gnutls_bye hangs forever.

The patch below makes it work.
I don't really know enough about how GnuTLS.jl is intended to work to be sure this fix is a good one, or if AWS is "doing the wrong thing".
However, I think it is fair to say that being compatible with AWS is a useful thing.

My code calling Requests.jl is here: https://github.com/samoconnor/OCAWS.jl/blob/master/src/http.jl#L42

--- a/src/GnuTLS.jl
+++ b/src/GnuTLS.jl
@@ -88,12 +88,12 @@ const GNUTLS_SHUT_WR = 1


 free_session(s::Session) = ccall((:gnutls_deinit,gnutls),Void,(Ptr{Void},),s.handle)
-isopen(s::Session) = (isopen(s.read) || isopen(s.write))
+isopen(s::Session) = (s.open && (isopen(s.read) || isopen(s.write)))

 function close(s::Session)
        ret::Int32 = 0
        try # The remote might very well simply shut the stream rather than acknowledge the closure
-               ret = ccall((:gnutls_bye,gnutls), Int32, (Ptr{Void},Int32), s.handle, GNUTLS_SHUT_RDWR)
+               ret = ccall((:gnutls_bye,gnutls), Int32, (Ptr{Void},Int32), s.handle, GNUTLS_SHUT_WR)
        catch e
                if !isa(e,EOFError)
                        rethrow()

eof(::Session) and read(::Session) don't get along

The following prints the complete response then throws a "read: end of file" error. Where as I would expect it to block on eof until the connection is closed by the github server.

using GnuTLS

sess = GnuTLS.Session()
set_priority_string!(sess)
set_credentials!(sess, GnuTLS.CertificateStore())
associate_stream(sess, connect("github.com", 443))
handshake!(sess)
write(sess, "GET / HTTP/1.1\r\n\r\n")

while !eof(sess)
  print(read(sess, Char))
end

GnuTLS does not build

attempted to run:
cd ~/.julia/GnuTLS && julia deps/build.jl

got following error:

...
Making install in examples
true
Array((DependencyProvider,Dict{Symbol,Any}),(5,)) [(RemoteBinaries(URI(ftp://ftp.gnutls.org/gcrypt/gnutls/w32/gnutls-3.2.1-w32.zip)),[:os=>:Windows]),(Homebrew(HomebrewInstall("gnutls",[],[])),[:validate=>true]),(AptGet("libgnutls28"),[:validate=>true]),(Yum("libgnutls"),[:validate=>true]),(Autotools(nothing,{:libtarget=>"lib/libgnutls.la",:lib_dirs=>["/Users/ericjang/.julia/GnuTLS/deps/usr/lib","/Users/ericjang/.julia/GnuTLS/deps/usr/lib","/Users/ericjang/Desktop/julia/usr//lib"],:env=>{"HOGWEED_LIBS"=>"-L/Users/ericjang/Desktop/julia/usr//lib -L/Users/ericjang/.julia/GnuTLS/deps/usr/lib -lhogweed -lgmp","LIBS"=>"-lgmp ","LD_LIBRARY_PATH"=>"/Users/ericjang/Desktop/julia/usr//lib:/Users/ericjang/.julia/GnuTLS/deps/usr/lib","NETTLE_LIBS"=>"-L/Users/ericjang/Desktop/julia/usr//lib -L/Users/ericjang/.julia/GnuTLS/deps/usr/lib -lnettle -lgmp"},:include_dirs=>["/Users/ericjang/.julia/GnuTLS/deps/usr/include","/Users/ericjang/.julia/GnuTLS/deps/usr/include","/Users/ericjang/Desktop/julia/usr//include"]}),[:force_depends=>{BuildProcess=>LibraryDependency(nettle)}])]
MESSAGE: Attempting to Create directory /Users/ericjang/.julia/GnuTLS/deps/downloads
MESSAGE: Directory /Users/ericjang/.julia/GnuTLS/deps/downloads already created
MESSAGE: Downloading file ftp://ftp.gnutls.org/gcrypt/gnutls/v3.2/gnutls-3.2.1.tar.xz
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100 5007k  100 5007k    0     0   242k      0  0:00:20  0:00:20 --:--:--  145k
MESSAGE: Done downloading file ftp://ftp.gnutls.org/gcrypt/gnutls/v3.2/gnutls-3.2.1.tar.xz
MESSAGE: Attempting to Create directory /Users/ericjang/.julia/GnuTLS/deps/src
MESSAGE: Directory /Users/ericjang/.julia/GnuTLS/deps/src already created
MESSAGE: Attempting to Create directory /Users/ericjang/.julia/GnuTLS/deps
MESSAGE: Directory /Users/ericjang/.julia/GnuTLS/deps already created
MESSAGE: Attempting to Create directory /Users/ericjang/.julia/GnuTLS/deps/src/gnutls-3.2.1
WARNING: An exception occured while building binary dependencies.
You may have to take manual steps to complete the installation, see the error message below.
To reattempt the installation, run Pkg.fixup("GnuTLS").

 in runbuildscript at pkg2.jl:207
ERROR: assertion failed: :((p.handle!=C_NULL))
 in kill at process.jl:454
 in wait_success at process.jl:556
 in wait_success at process.jl:562
 in run at process.jl:413
 in run at /Users/ericjang/.julia/BinDeps/src/BinDeps.jl:414
 in run at /Users/ericjang/.julia/BinDeps/src/BinDeps.jl:431
 in satisfy! at /Users/ericjang/.julia/BinDeps/src/dependencies.jl:388
 in anonymous at /Users/ericjang/.julia/BinDeps/src/dependencies.jl:402
 in include_from_node1 at loading.jl:92
 in anonymous at no file:210
 in cd at file.jl:25
 in cd at pkg2/dir.jl:28
 in runbuildscript at pkg2.jl:207
 in _fixup at pkg2.jl:263
 in fixup at pkg2.jl:311
 in fixup#g158 at no file
 in fixup#g157 at no file
 in fixup#g156 at no file
at /Users/ericjang/.julia/GnuTLS/deps/build.jl:41

I am running Mac OSX 10.7 w/ julia version 0.2.0-prerelease, clean BinDeps install

require GnuTLS >= 2.9.10?

As discussed [https://groups.google.com/forum/?fromgroups=#!topic/julia-users/pwCg0_KjJ7Y on the mailing list], there seem to be some problems with HMAC signatures with old GnuTLS versions. According to their [http://gitorious.org/gnutls/gnutls/blobs/master/NEWS NEWS file], the gnutls_hmac_* functions were apparently only added in 2.9.10.

Error on `using`, `getcwd, no such file or directory`

On OSX 10.9.1, after wiping out ~/.julia:

               _
   _       _ _(_)_     |  A fresh approach to technical computing
  (_)     | (_) (_)    |  Documentation: http://docs.julialang.org
   _ _   _| |_  __ _   |  Type "help()" to list help topics
  | | | | | | |/ _` |  |
  | | |_| | | | (_| |  |  Version 0.2.0+3 (2013-11-19 21:30 UTC)
 _/ |\__'_|_|_|\__'_|  |  release-0.2/09be0a1 (fork: 3 commits, 3 days)
|__/                   |  x86_64-apple-darwin13.0.0

julia> Pkg.add("Homebrew")
INFO: Initializing package repository /Users/westley/.julia
INFO: Cloning METADATA from git://github.com/JuliaLang/METADATA.jl
INFO: Cloning cache of BinDeps from git://github.com/JuliaLang/BinDeps.jl.git
INFO: Cloning cache of Homebrew from git://github.com/JuliaLang/Homebrew.jl.git
INFO: Cloning cache of URIParser from git://github.com/loladiro/URIParser.jl.git
INFO: Installing BinDeps v0.2.12
INFO: Installing Homebrew v0.0.4
INFO: Installing URIParser v0.0.1
INFO: Building Homebrew
INFO: Cloning brew from https://github.com/staticfloat/homebrew.git
Cloning into '/Users/westley/.julia/Homebrew/deps/usr'...
remote: Counting objects: 2899, done.
remote: Compressing objects: 100% (2764/2764), done.
remote: Total 2899 (delta 66), reused 944 (delta 21)
Receiving objects: 100% (2899/2899), 1.51 MiB | 671.00 KiB/s, done.
Resolving deltas: 100% (66/66), done.
Checking connectivity... done
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0
100  259k  100  259k    0     0   718k      0 --:--:-- --:--:-- --:--:--  718k
Cloning into '/Users/westley/.julia/Homebrew/deps/usr/Library/Taps/staticfloat-juliadeps'...
remote: Reusing existing pack: 311, done.
remote: Total 311 (delta 0), reused 0 (delta 0)
Receiving objects: 100% (311/311), 71.75 KiB | 0 bytes/s, done.
Resolving deltas: 100% (169/169), done.
Checking connectivity... done
Tapped 28 formula
HEAD is now at 7dbece7 Merge branch 'kegpkg' of github.com:staticfloat/homebrew into kegpkg
HEAD is now at e7a2203 Tab fix didn't work, revert to old behavior
INFO: REQUIRE updated.

julia> Pkg.add("GnuTLS")
INFO: Cloning cache of GnuTLS from git://github.com/loladiro/GnuTLS.jl.git
INFO: Installing GnuTLS v0.0.0
INFO: Building GnuTLS
INFO: REQUIRE updated.

julia> using GnuTLS
ERROR: getcwd: No such file or directory
 in include at boot.jl:238
 in include_from_node1 at loading.jl:114
 in reload_path at loading.jl:140
 in _require at loading.jl:58
 in require at loading.jl:43
at /Users/westley/.julia/GnuTLS/src/../deps/build.jl:1
at /Users/westley/.julia/GnuTLS/src/GnuTLS.jl:5

Any ideas? I've had this working on this computer before, but from a fresh install it's broken. This is unfortunately blocking people from using things like Requests.jl, etc...

Fails to build on OSX

WARNING: An exception occured while building binary dependencies.
You may have to take manual steps to complete the installation, see the error message below.
To reattempt the installation, run Pkg.fixup("GnuTLS").

 in build at pkg.jl:412
ERROR: Provider PackageManager failed to satisfy dependency gnutls
 in error at error.jl:21
 in satisfy! at /Users/tan/.julia/BinDeps/src/dependencies.jl:435
 in satisfy! at /Users/tan/.julia/BinDeps/src/dependencies.jl:421
 in anonymous at /Users/tan/.julia/BinDeps/src/dependencies.jl:449
 in include at boot.jl:238
 in include_from_node1 at loading.jl:96
 in anonymous at no file:415
 in cd at file.jl:25
 in cd at pkg/dir.jl:30
 in build at pkg.jl:412
 in __fixup at pkg.jl:464
 in _fixup at pkg.jl:491
 in _fixup at pkg.jl:512
 in _fixup at pkg.jl:511 (repeats 4 times)
 in cd at file.jl:25
 in cd at pkg/dir.jl:30
 in fixup at pkg.jl:515
at /Users/tan/.julia/GnuTLS/deps/build.jl:49

Going by the README, I tried switching to master branches of GnuTLS, Homebrew and BinDeps. But that didn't help.

NETTLE check failing on Debian

I've resolved a couple build errors already by installing some undocumented prerequisites on the Debian-based image. But I'm still getting this error:

checking for NETTLE... configure: error:
  ***
  *** Libnettle 2.7 was not found.

===============================[ ERROR: GnuTLS ]================================

failed process: Process(setenv(`/usr/local/.julia/v0.3/GnuTLS/deps/src/gnutls-3.2.14/configure --prefix=/usr/local/.julia/v0.3/GnuTLS/deps/usr`,Union(UTF8String,ASCIIString)["PATH=/usr/local/.julia/v0.3/GnuTLS/deps/usr/bin:/usr/local/julia/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin","NETTLE_LIBS=-L/usr/local/julia//lib -L/usr/local/.julia/v0.3/GnuTLS/deps/usr/lib -lnettle -lgmp","PWD=/","JULIA_PKGDIR=/usr/local/.julia/","JULIA_PATH=/usr/local/julia","LD_LIBRARY_PATH=/usr/local/julia//lib:/usr/local/.julia/v0.3/GnuTLS/deps/usr/lib","JULIA_VERSION=0.3.9","JULIA_VER=0.3","CPPFLAGS= -I/usr/local/.julia/v0.3/GnuTLS/deps/usr/include -I/usr/local/.julia/v0.3/GnuTLS/deps/usr/include -I/usr/local/julia//include","LDFLAGS= -L/usr/local/.julia/v0.3/GnuTLS/deps/usr/lib -L/usr/local/.julia/v0.3/GnuTLS/deps/usr/lib -L/usr/local/julia//lib -Wl,-rpath -Wl,/usr/local/.julia/v0.3/GnuTLS/deps/usr/lib","HOGWEED_LIBS=-L/usr/local/julia//lib -L/usr/local/.julia/v0.3/GnuTLS/deps/usr/lib -lhogweed -lgmp","PKG_CONFIG_PATH=/usr/local/.julia/v0.3/GnuTLS/deps/usr/lib/pkgconfig","LIBS=-lgmp ","HOME=/root","HOSTNAME=eadddbb61a32"]), ProcessExited(1)) [1]
while loading /usr/local/.julia/v0.3/GnuTLS/deps/build.jl, in expression starting on line 55

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

I'm working on getting it to work. Will post an update if I find a solution. In the mean time, any pointer would be appreciated!

update METADATA?

Hi @loladiro, is the latest version of GnuTLS ready to push to METADATA with a version bump, so that IJulia can REQUIRE it?

GnuTLS does not build on OSX Yosemite

I get the following:

$ ../bin/escher --serve --port 5556
ERROR: could not open file /Users/yeesian/.julia/v0.3/GnuTLS/src/../deps/deps.jl
 in include at /usr/local/Cellar/julia/0.3.6_1/lib/julia/sys.dylib
 in include_from_node1 at /usr/local/Cellar/julia/0.3.6_1/lib/julia/sys.dylib
 in include at /usr/local/Cellar/julia/0.3.6_1/lib/julia/sys.dylib
 in include_from_node1 at /usr/local/Cellar/julia/0.3.6_1/lib/julia/sys.dylib
 in reload_path at loading.jl:152
 in _require at loading.jl:67
 in require at loading.jl:54
 in require at /Users/yeesian/.julia/v0.3/Requires/src/require.jl:8
 in include at /usr/local/Cellar/julia/0.3.6_1/lib/julia/sys.dylib
 in include_from_node1 at /usr/local/Cellar/julia/0.3.6_1/lib/julia/sys.dylib
 in reload_path at loading.jl:152
 in _require at loading.jl:67
 in require at loading.jl:54
 in require at /Users/yeesian/.julia/v0.3/Requires/src/require.jl:8
 in include at /usr/local/Cellar/julia/0.3.6_1/lib/julia/sys.dylib
 in include_from_node1 at /usr/local/Cellar/julia/0.3.6_1/lib/julia/sys.dylib
 in include at /usr/local/Cellar/julia/0.3.6_1/lib/julia/sys.dylib
 in include_from_node1 at /usr/local/Cellar/julia/0.3.6_1/lib/julia/sys.dylib
 in reload_path at loading.jl:152
 in _require at loading.jl:67
 in require at loading.jl:51
 in require at /Users/yeesian/.julia/v0.3/Requires/src/require.jl:8
 in include at /usr/local/Cellar/julia/0.3.6_1/lib/julia/sys.dylib
 in include_from_node1 at /usr/local/Cellar/julia/0.3.6_1/lib/julia/sys.dylib
 in include at /usr/local/Cellar/julia/0.3.6_1/lib/julia/sys.dylib
 in include_from_node1 at loading.jl:128
 in process_options at /usr/local/Cellar/julia/0.3.6_1/lib/julia/sys.dylib
 in _start at /usr/local/Cellar/julia/0.3.6_1/lib/julia/sys.dylib
while loading /Users/yeesian/.julia/v0.3/GnuTLS/src/GnuTLS.jl, in expression starting on line 7
while loading /Users/yeesian/.julia/v0.3/HttpServer/src/HttpServer.jl, in expression starting on line 229
while loading /Users/yeesian/.julia/v0.3/Mux/src/server.jl, in expression starting on line 1
while loading /Users/yeesian/.julia/v0.3/Mux/src/Mux.jl, in expression starting on line 22
while loading /Users/yeesian/.julia/v0.3/Escher/src/cli/serve.jl, in expression starting on line 5
while loading /Users/yeesian/.julia/v0.3/Escher/bin/escher, in expression starting on line 7

Checking out master gives me

  | | |_| | | | (_| |  |  Version 0.3.6 (2015-02-17 22:12 UTC)
 _/ |\__'_|_|_|\__'_|  |
|__/                   |  x86_64-apple-darwin14.0.0

julia> Pkg.checkout("GnuTLS")
INFO: Checking out GnuTLS master...
INFO: Pulling GnuTLS latest master...
INFO: No packages to install, update or remove

julia> Pkg.build("GnuTLS")
INFO: Building Homebrew
HEAD is now at ce9a56d Remove unused method
HEAD is now at 5b3b59a Merge pull request #55 from staticfloat/staging
INFO: Building Nettle
INFO: Building GnuTLS
Unlinking /Users/yeesian/.julia/v0.3/Homebrew/deps/usr/Cellar/gnutls/3.3.15... 1003 symlinks removed
Warning: gnutls-3.3.15 already installed, it's just not linked
Linking /Users/yeesian/.julia/v0.3/Homebrew/deps/usr/Cellar/gnutls/3.3.15... 1003 symlinks created
==================================================[ ERROR: GnuTLS ]==================================================

Provider PackageManager failed to satisfy dependency gnutls
while loading /Users/yeesian/.julia/v0.3/GnuTLS/deps/build.jl, in expression starting on line 57

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

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

WARNING: GnuTLS had build errors.

 - packages with build errors remain installed in /Users/yeesian/.julia/v0.3
 - build the package(s) and all dependencies with `Pkg.build("GnuTLS")`
 - build a single package by running its `deps/build.jl` script

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

Freeing GnuTLS, and retrying, it still doesn't work. So I removed it, and re-added

  | | |_| | | | (_| |  |  Version 0.3.6 (2015-02-17 22:12 UTC)
 _/ |\__'_|_|_|\__'_|  |
|__/                   |  x86_64-apple-darwin14.0.0

julia> Pkg.rm("GnuTLS")
INFO: No packages to install, update or remove
INFO: Package database updated

julia> Pkg.add("GnuTLS")
INFO: No packages to install, update or remove
INFO: Package database updated

and still get the same

$ ../bin/escher --serve --port 5556
ERROR: could not open file /Users/yeesian/.julia/v0.3/GnuTLS/src/../deps/deps.jl
 in include at /usr/local/Cellar/julia/0.3.6_1/lib/julia/sys.dylib
 in include_from_node1 at /usr/local/Cellar/julia/0.3.6_1/lib/julia/sys.dylib
 in include at /usr/local/Cellar/julia/0.3.6_1/lib/julia/sys.dylib
 in include_from_node1 at /usr/local/Cellar/julia/0.3.6_1/lib/julia/sys.dylib
 in reload_path at loading.jl:152
 in _require at loading.jl:67
 in require at loading.jl:54
 in require at /Users/yeesian/.julia/v0.3/Requires/src/require.jl:8
 in include at /usr/local/Cellar/julia/0.3.6_1/lib/julia/sys.dylib
 in include_from_node1 at /usr/local/Cellar/julia/0.3.6_1/lib/julia/sys.dylib
 in reload_path at loading.jl:152
 in _require at loading.jl:67
 in require at loading.jl:54
 in require at /Users/yeesian/.julia/v0.3/Requires/src/require.jl:8
 in include at /usr/local/Cellar/julia/0.3.6_1/lib/julia/sys.dylib
 in include_from_node1 at /usr/local/Cellar/julia/0.3.6_1/lib/julia/sys.dylib
 in include at /usr/local/Cellar/julia/0.3.6_1/lib/julia/sys.dylib
 in include_from_node1 at /usr/local/Cellar/julia/0.3.6_1/lib/julia/sys.dylib
 in reload_path at loading.jl:152
 in _require at loading.jl:67
 in require at loading.jl:51
 in require at /Users/yeesian/.julia/v0.3/Requires/src/require.jl:8
 in include at /usr/local/Cellar/julia/0.3.6_1/lib/julia/sys.dylib
 in include_from_node1 at /usr/local/Cellar/julia/0.3.6_1/lib/julia/sys.dylib
 in include at /usr/local/Cellar/julia/0.3.6_1/lib/julia/sys.dylib
 in include_from_node1 at loading.jl:128
 in process_options at /usr/local/Cellar/julia/0.3.6_1/lib/julia/sys.dylib
 in _start at /usr/local/Cellar/julia/0.3.6_1/lib/julia/sys.dylib
while loading /Users/yeesian/.julia/v0.3/GnuTLS/src/GnuTLS.jl, in expression starting on line 7
while loading /Users/yeesian/.julia/v0.3/HttpServer/src/HttpServer.jl, in expression starting on line 229
while loading /Users/yeesian/.julia/v0.3/Mux/src/server.jl, in expression starting on line 1
while loading /Users/yeesian/.julia/v0.3/Mux/src/Mux.jl, in expression starting on line 22
while loading /Users/yeesian/.julia/v0.3/Escher/src/cli/serve.jl, in expression starting on line 5
while loading /Users/yeesian/.julia/v0.3/Escher/bin/escher, in expression starting on line 7

I thought it might be related to #25 and tried

  | | |_| | | | (_| |  |  Version 0.3.6 (2015-02-17 22:12 UTC)
 _/ |\__'_|_|_|\__'_|  |
|__/                   |  x86_64-apple-darwin14.0.0

julia> Homebrew.add("GnuTLS")
ERROR: Homebrew not defined

julia> using Homebrew

julia> Homebrew.add("GnuTLS")
Unlinking /Users/yeesian/.julia/v0.3/Homebrew/deps/usr/Cellar/gnutls/3.3.15... 1003 symlinks removed
Warning: gnutls-3.3.15 already installed, it's just not linked
Linking /Users/yeesian/.julia/v0.3/Homebrew/deps/usr/Cellar/gnutls/3.3.15... 1003 symlinks created

with the same set of error messages as above, i.e.

$ ../bin/escher --serve --port 5556
ERROR: could not open file /Users/yeesian/.julia/v0.3/GnuTLS/src/../deps/deps.jl
 in include at /usr/local/Cellar/julia/0.3.6_1/lib/julia/sys.dylib
 in include_from_node1 at /usr/local/Cellar/julia/0.3.6_1/lib/julia/sys.dylib
 in include at /usr/local/Cellar/julia/0.3.6_1/lib/julia/sys.dylib
 in include_from_node1 at /usr/local/Cellar/julia/0.3.6_1/lib/julia/sys.dylib
 in reload_path at loading.jl:152
 in _require at loading.jl:67
 in require at loading.jl:54
 in require at /Users/yeesian/.julia/v0.3/Requires/src/require.jl:8
 in include at /usr/local/Cellar/julia/0.3.6_1/lib/julia/sys.dylib
 in include_from_node1 at /usr/local/Cellar/julia/0.3.6_1/lib/julia/sys.dylib
 in reload_path at loading.jl:152
 in _require at loading.jl:67
 in require at loading.jl:54
 in require at /Users/yeesian/.julia/v0.3/Requires/src/require.jl:8
 in include at /usr/local/Cellar/julia/0.3.6_1/lib/julia/sys.dylib
 in include_from_node1 at /usr/local/Cellar/julia/0.3.6_1/lib/julia/sys.dylib
 in include at /usr/local/Cellar/julia/0.3.6_1/lib/julia/sys.dylib
 in include_from_node1 at /usr/local/Cellar/julia/0.3.6_1/lib/julia/sys.dylib
 in reload_path at loading.jl:152
 in _require at loading.jl:67
 in require at loading.jl:51
 in require at /Users/yeesian/.julia/v0.3/Requires/src/require.jl:8
 in include at /usr/local/Cellar/julia/0.3.6_1/lib/julia/sys.dylib
 in include_from_node1 at /usr/local/Cellar/julia/0.3.6_1/lib/julia/sys.dylib
 in include at /usr/local/Cellar/julia/0.3.6_1/lib/julia/sys.dylib
 in include_from_node1 at loading.jl:128
 in process_options at /usr/local/Cellar/julia/0.3.6_1/lib/julia/sys.dylib
 in _start at /usr/local/Cellar/julia/0.3.6_1/lib/julia/sys.dylib
while loading /Users/yeesian/.julia/v0.3/GnuTLS/src/GnuTLS.jl, in expression starting on line 7
while loading /Users/yeesian/.julia/v0.3/HttpServer/src/HttpServer.jl, in expression starting on line 229
while loading /Users/yeesian/.julia/v0.3/Mux/src/server.jl, in expression starting on line 1
while loading /Users/yeesian/.julia/v0.3/Mux/src/Mux.jl, in expression starting on line 22
while loading /Users/yeesian/.julia/v0.3/Escher/src/cli/serve.jl, in expression starting on line 5
while loading /Users/yeesian/.julia/v0.3/Escher/bin/escher, in expression starting on line 7

Fails to load on Julia v0.4

ERROR: LoadError: LoadError: UndefVarError: dlext not defined
 in include at ./boot.jl:252
 in include_from_node1 at ./loading.jl:133
 in reload_path at ./loading.jl:157
 in _require at ./loading.jl:69
 in require at ./loading.jl:55
 in include at ./boot.jl:252
 in include_from_node1 at ./loading.jl:133
 in reload_path at ./loading.jl:157
 in _require at ./loading.jl:69
 in require at ./loading.jl:52
while loading /home/shashi/.julia/v0.4/BinDeps/src/BinDeps.jl, in expression starting on line 9
while loading /home/shashi/.julia/v0.4/GnuTLS/src/GnuTLS.jl, in expression starting on line 5

readavailable using takebuf_array vs. takebuf_string

The standard readavailable() function in base Julia uses takebuf_string() and so returns a string, however the readavailable() in GnuTLS uses takebuf_array and so returns an array of Uint8 values. This can be a bit confusing, especially since readall() returns a string in both base julia and GnuTLS.

Not sure if this was an intentional choice, but I wanted to mention it since it took a few minutes to figure why a switching readall() to readavailable() in the given GnuTLS example didn't won't like I expected. Thanks for the great package!

Another Install Failure on Windows

Hi, something isn't working here:
Processing archive: C:\Users\Jakob.julia\WinRPM\cache\http%3a%2f%2fdownload.opensuse.org%2frepositories%2fwindows%3a%2fmingw%3a%2fwin32%2fopenSUSE_Factory%2f\noarch%2fmingw32-libnettle-2.7-2.71.noarch.cpio

ERROR: Can not delete output file C:\Users\Jakob.julia\WinRPM\deps\usr\i686-w64-mingw32\sys-root\mingw\bin\libnettle-4-6.dll

Sub items Errors: 1

===============================[ ERROR: GnuTLS ]================================

e = 2.7182818284590...
at C:\Users\Jakob.julia\GnuTLS\deps\build.jl:55

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

WARNING: GnuTLS had build errors.

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

INFO: Building ICU
INFO: Building HttpParser
INFO: Changing Directory to C:\Users\Jakob.julia\HttpParser
INFO: Changing Directory to C:\Users\Jakob.julia\HttpParser
INFO: Changing Directory to C:\Users\Jakob.julia\HttpParser\deps\src
INFO: Attempting to Create directory C:\Users\Jakob.julia\HttpParser\deps\usr\lib
INFO: Directory C:\Users\Jakob.julia\HttpParser\deps\usr\lib already created
INFO: Changing Directory to C:\Users\Jakob.julia\HttpParser\deps\src
=============================[ ERROR: HttpParser ]==============================

could not start process make '' -C http-parser library: no such file or directory (ENOENT)
at C:\Users\Jakob.julia\HttpParser\deps\build.jl:266

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

WARNING: HttpParser had build errors.

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

Anyone know what to do?

gzipped data is coming through funny

I would expect the following script to have the same output as curl -H "Accept-Encoding: gzip" https://api.github.com:443/repos/JuliaWeb/GnuTLS.jl/git/refs/heads/master. But it seems to be quite different. They have a similar length 184 bytes vs 189 but otherwise completely different. If I remove the "Accept-Encoding: gzip" header the results match up.

using GnuTLS

sess = GnuTLS.Session()
set_priority_string!(sess)
set_credentials!(sess, GnuTLS.CertificateStore())
associate_stream(sess, connect("api.github.com", 443))
handshake!(sess)
write(sess, """GET /repos/JuliaWeb/GnuTLS.jl/git/refs/heads/master HTTP/1.1\r
User-Agent: Julia/$VERSION\r
Host: api.github.com\r
Accept: */*\r
Accept-Encoding: gzip\r
\r
""")

readuntil(sess, "\r\n\r\n")

while !eof(sess)
  write(STDOUT, read(sess, Uint8))
end

Bountysource

GnuTLS does not build on OSX Mavericks

This repository is littered with "wont build" issues, but here's hoping. I haven't seen this particular message being reported.

Julia 0.3.4-pre with Pkg.update() as of today

INFO: Installing GnuTLS v0.0.1
INFO: Building Homebrew
HEAD is now at ecefec0 libmemcached: update 1.0.18_1 bottle.
HEAD is now at 1804e9f Add barebones SCS formula
INFO: Building Nettle
INFO: Building GnuTLS
=====================================================================[ ERROR: GnuTLS ]======================================================================

Will not force Homebrew to rebuild dependency "gnutls".
Please make any necessary adjustments manually (This might just be a version upgrade)
while loading /Users/aviks/.julia/v0.3/GnuTLS/deps/build.jl, in expression starting on line 55

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

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

WARNING: GnuTLS had build errors.

 - packages with build errors remain installed in /Users/aviks/.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

============================================================================================================================================================
julia> Homebrew.list()
16-element Array{BrewPkg,1}:
 cairo: 1.12.16                
 fontconfig: 2.11.1            
 freetype: 2.5.4               
 gettext: 0.19.2               
 glib: 2.40.0+1                
 gmp: 6.0.0-a                  
 gobject-introspection: 1.40.0 
 harfbuzz: 0.9.33              
 icu4c: 52.1.0                 
 libffi: 3.0.13                
 libpgm: 5.2.122               
 libpng: 1.6.15                
 nettle: 2.7.1                 
 pango: 1.36.5                 
 pixman: 0.32.6                
 zeromq32: 3.2.4       
julia> Pkg.status()
14 required packages:
 - Cairo                         0.2.21
 ....
59 additional packages:
 ...
 - BinDeps                       0.3.7
...
 - GnuTLS                        0.0.1
 ...
 - Homebrew                      0.1.12
 - HttpCommon                    0.0.10
 - HttpParser                    0.0.10
 - HttpServer                    0.0.11
 .....
 - Nettle                        0.1.7

ERROR: Could not load library gnutls. Try running Pkg.fixup() to install missing dependencies!

I suspect this is related to issue #10. I've tried Pkg.rm("GnuTLS"), rm -rf GnuTLS and and Pkg.clone(""https://github.com/loladiro/GnuTLS.jl"). Pkg.fixup() gives

INFO: Running build script for package GnuTLS
Error: You must `brew link gmp' before gnutls can be installed
WARNING: An exception occured while building binary dependencies.
You may have to take manual steps to complete the installation, see the error message below.
To reattempt the installation, run Pkg.fixup("GnuTLS").

 in build at pkg.jl:268
ERROR: failed process: Process(`brew install staticfloat/juliadeps/gnutls`, ProcessExited(1)) [1]

Nettle.jl API breakage

Nettle has just broken its API significantly, in order to be much more precompile-friendly. The big takeaway is that methods such as md5_hash(data) should be mapped to digest("md5", data), there are no more auto-generated types for hashes, and internally the code is a little easier to grok. This new version of Nettle.jl has not been released yet, I will make every effort to ensure that dependent packages such as this one have a chance to adapt before releasing the new version.

using GnuTLS starts 2 child processes

This is the output of ps with a fresh Julia REPL

$ ps -ef | grep julia
shashi   14274 14241  3 15:12 pts/24   00:00:00 julia
shashi   14283 13774  0 15:12 pts/19   00:00:00 grep --color=auto julia

this is the output after running using GnuTLS in the REPL

$ ps -ef | grep julia
shashi   14274 14241  7 15:12 pts/24   00:00:02 julia
shashi   14285 14274  0 15:12 pts/24   00:00:00 [julia] <defunct>
shashi   14286 14274  0 15:12 pts/24   00:00:00 [julia] <defunct>
shashi   14289 13774  0 15:12 pts/19   00:00:00 grep --color=auto julia

Fails to build on OS X 10.9 mavericks

I get the following error building gnutls. I am building it for HttpServer. Cc: @staticfloat

julia> Pkg.build("gnutls")
INFO: Building gnutls
==> Installing gnutls dependency: nettle
Error: nettle dependency staticfloat/juliadeps/gmp was built with the following
C++ standard library: libstdc++ (from clang)

This is incompatible with the standard library being used
to build nettle: libc++ (from clang)

Please reinstall staticfloat/juliadeps/gmp using a compatible compiler.
hint: Check https://github.com/mxcl/homebrew/wiki/C++-Standard-Libraries
===============================[ ERROR: gnutls ]================================

failed process: Process(`/Users/viral/.julia/Homebrew/deps/usr/bin/brew install staticfloat/juliadeps/gnutls`, ProcessExited(1)) [1]
at /Users/viral/.julia/gnutls/deps/build.jl:49

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

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

WARNING: gnutls had build errors.

 - packages with build errors remain installed in /Users/viral/.julia
 - build a package and all its dependencies with `Pkg.build(pkg)`
 - build a single package by running its `deps/build.jl` script

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

Info about upcoming removal of packages in the General registry

As described in https://discourse.julialang.org/t/ann-plans-for-removing-packages-that-do-not-yet-support-1-0-from-the-general-registry/ we are planning on removing packages that do not support 1.0 from the General registry. This package has been detected to not support 1.0 and is thus slated to be removed. The removal of packages from the registry will happen approximately a month after this issue is open.

To transition to the new Pkg system using Project.toml, see https://github.com/JuliaRegistries/Registrator.jl#transitioning-from-require-to-projecttoml.
To then tag a new version of the package, see https://github.com/JuliaRegistries/Registrator.jl#via-the-github-app.

If you believe this package has erroneously been detected as not supporting 1.0 or have any other questions, don't hesitate to discuss it here or in the thread linked at the top of this post.

Deprecations in deps/build.jl

I tried fixing them via https://gist.github.com/sbromberger/ece0c7b7b59859bdf0d3 but I'm still getting errors in 0.3:

INFO: Building Nettle
INFO: Building GnuTLS
===============================[ ERROR: GnuTLS ]================================

@compat not defined
while loading /Users/seth/.julia/v0.3/GnuTLS/deps/build.jl, in expression starting on line 76

I don't know why the code within that if block is being evaluated.

Inconsistent behavior of hexdigest! (and gnutls_hmac_output) between GnuTLS versions

The following test passes in 3.1.10 but fails in 2.12.5:

h = HMACState(SHA256,"key")
update(h,"The quick brown fox jumps over the lazy dog")
@test hexdigest!(h) == "f7bc83f430538424b13298e6aa6fb143ef4d59a14946175997479dbc2d1a3cd8"
update(h,"The quick brown fox jumps over the lazy dog")
@test hexdigest!(h) == "f7bc83f430538424b13298e6aa6fb143ef4d59a14946175997479dbc2d1a3cd8"

In 2.12.5, I get 6b2062726f776e20666f78206a756d7073206f76657220746865206c617a7920 the second time around. I'm not actually sure where this comes from, since

h = HMACState(SHA256,"key")
update(h,"The quick brown fox jumps over the lazy dog")
update(h,"The quick brown fox jumps over the lazy dog")
hexdigest!(h)

yields 563d87fd06455e5809679f6153df494301b543b9720113876ac44e0c9fd55299.

This seems like it could be fixed by reinitializing the HMAC after hexdigest! for old versions of GnuTLS, although I'm not sure when this was fixed/changed.

Fails to install on Windows

Julia 0.2, added via HttpServer:

...
INFO: Installing GnuTLS v0.0.0
...

INFO: Building GnuTLS
INFO: Attempting to Create directory C:\Users\Iain\.julia\GnuTLS\deps\downloads
INFO: Downloading file ftp://ftp.gnutls.org/gcrypt/gnutls/w32/gnutls-3.2.1-w32.z
ip
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100 5260k  100 5260k    0     0  1057k      0  0:00:04  0:00:04 --:--:-- 1317k
INFO: Done downloading file ftp://ftp.gnutls.org/gcrypt/gnutls/w32/gnutls-3.2.1-
w32.zip
INFO: Attempting to Create directory C:\Users\Iain\.julia\GnuTLS
INFO: Directory C:\Users\Iain\.julia\GnuTLS already created
INFO: Attempting to Create directory C:\Users\Iain\.julia\GnuTLS\deps\usr


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

Processing archive: C:\Users\Iain\.julia\GnuTLS\deps\downloads\gnutls-3.2.1-w32.
zip

Extracting  COPYING
Extracting  COPYING.LESSER
Extracting  bin
Extracting  bin\gnutls-cli.exe
...
*snip*
...

Everything is Ok

Folders: 6
Files: 105
Size:       22021087
Compressed: 5386257
===============================[ ERROR: GnuTLS ]================================



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

Directory C:\Users\Iain\.julia\GnuTLS\deps\usr was not created successfully (Tri
ed to run `7z x 'C:\Users\Iain\.julia\GnuTLS\deps\downloads\gnutls-3.2.1-w32.zip
' -y '-oC:\Users\Iain\.julia\GnuTLS\deps'` )
at C:\Users\Iain\.julia\GnuTLS\deps\build.jl:49

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

then

julia> using GnuTLS
ERROR: Could not load library gnutls. Try running Pkg.build() to install miss
 dependencies!
 in error at error.jl:21
 in include at boot.jl:238
 in include_from_node1 at loading.jl:114
 in reload_path at loading.jl:140
 in reload_path at loading.jl:139

at C:\Users\Iain\.julia\GnuTLS\src\GnuTLS.jl:595

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.