JuliaWeb / GnuTLS.jl

Transport Level Security for Julia Streams provided by GnuTLS
Other
8 stars 13 forks source link

NETTLE check failing on Debian #43

Open Quantisan opened 9 years ago

Quantisan commented 9 years ago

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!

Quantisan commented 9 years ago

Looks like it's because it's trying to build nettle from source on Debian. I've switched to Ubuntu and it's installed libnettle4 properly. Feel free to close this if you want.

Quantisan commented 9 years ago

Actually, if you give me some pointers, I'd like to patch this so it works with Debian too.

nalimilan commented 9 years ago

@Quantisan That's quite easy actually. You just need to replace "libgnutls28" with ["libgnutls28", "libgnutls-deb0-28"] at https://github.com/JuliaWeb/GnuTLS.jl/blob/master/deps/build.jl#L40

Then GnuTLS depends on Nettle, so it should be enough to get it installed automatically.

I think that you're also going to fix an issue recently raised in a thread (https://groups.google.com/d/msg/julia-users/CLtPbHKUYKo/ZR202BsOh48J) about Ubuntu. I'm not sure why it worked for you, as the package name does not seem correct...

If you do that, please also replace "libgnutls" with ["gnutls", "libgnutls"] in the line below (that's for Fedora/OpenSuSE/Mandriva).

staticfloat commented 9 years ago

I just ran into this on Ubuntu. Since we depend on the Nettle.jl package, we know Nettle must first be installed, so why are we compiling Nettle from scratch at all?

ghost commented 9 years ago

I just ran into this one on Ubuntu 15.04 and resolved it with a standard Pkg.checkout("GnuTLS"). A new release would be wonderful to unbreak the default version of the package for Debian et al.