[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: How to build GNUTLS Guile bindings on Xubuntu

From: Alex Vong
Subject: Re: How to build GNUTLS Guile bindings on Xubuntu
Date: Fri, 16 Nov 2018 16:44:20 +0800
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/26.1 (gnu/linux)

Hi Zelphir,

Zelphir Kaltstahl <address@hidden> writes:

> Hi Mark,
> I took another look at the page you linked to. The issue is, that I
> would like to try Guix package manager to install GNUTLS + Guile
> bindings, but Guix itself has the requirement of GNUTLS + Guile
> bindings. See:
> So I guess I would need to somehow get GNUTLS and Guile bindings working
> before getting Guix and then when I have Guix, I can probably somehow
> link to the Guix installed GNUTLS and Guile bindings.
> Now I don't know where I would get the Guile bindings from. Are they
> included in the releases on ?
As Mark has pointed out, if you use the binary installation of guix,
then you can install gnutls using guix. However, I prefer to build guix
from source. Therefore, I use the standard "configure, make, make
install" method with appropriate CPPFLAGS, CFLAGS, CXXFLAGS and LDFLAGS
(I include some hardending flags[0][1]):

  ./configure --with-included-libtasn1 --with-included-unistring 
  make check
  make install

The above works in Debian. Apart from it, you also have to build
scheme-bytestructure, guile-git and guile-sqlite3 from source using the
same method. Besides, it is important to keep gnutls up to date (since
it is a piece of security-sensitive software).

> Regards,
> Zelphir


> On 15.11.18 08:28, Mark H Weaver wrote:
>> Hi Zelphir,
>> Zelphir Kaltstahl <address@hidden> writes:
>>> I read in the docs at
>>> that
>>> Guile will dynamically make use of GNUTLS for HTTPS requests. However, I
>>> don't seem to have the bindings installed. There is a link to a guide on
>>> the same docs page, but the link is dead:
>>> . More searching showed me the following:
>>> There seems to have been some bug which prevented some tests on Debian
>>> from completing:
>>> Bug discussions seem to indicate the bug was fixed?:
>>> Then there is a commit removing Guile bindings from the gnutls-dev
>>> package on Debian:
>> If you look closely, those two bugs were "fixed" by the above commit,
>> i.e. by simply disabling the Guile bindings in Debian's GnuTLS package.
>>> Apart from that, I could not find a download link or repository of the
>>> bindings, like I could for other libraries I so far used in Guile and
>>> run configure make make install in it. So I do not know how to get the
>>> bindings for my system, so that my Guile will be able to make requests
>>> using HTTPS as well as HTTP.
>> The bindings in question are not a separate package.  They are built and
>> installed by GnuTLS itself, unless explicitly disabled by passing
>> "--disable-guile" to the GnuTLS configure script, as Debian now does.
>>> The bindings seem to be available on GUIX:
>> Note that the repository above is not the official Guix repository, but
>> rather someone's personal variant.  Here's the same commit in the
>> official Guix repository:
>>> How can I make it work on a Xubuntu 18.04?
>> Yes, an easy solution would be to install Guix on top of Xubuntu, and
>> installing the 'guile' and 'gnutls' packages from Guix.  Note that the
>> binaries from Guix are self-contained and independent of the host
>> system, in the sense that they are installed in different directories
>> (within /gnu/store) and don't use any libraries from the host system,
>> not even the C library.  Guix installs only in /gnu, /var/guix,
>> /var/log/guix, /etc/guix, ~/.config/guix, and ~/.guix-profile.  You must
>> set your environment variables to point within ~/.guix-profile, e.g. add
>> ~/.guix-profile/bin to your PATH, to enable the use of software from
>> Guix.  If you'd like to try it, the instructions are here:
>>       Mark

Attachment: signature.asc
Description: PGP signature

reply via email to

[Prev in Thread] Current Thread [Next in Thread]