guix-devel
[Top][All Lists]
Advanced

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

Re: Status update+patches:Re: I managed to build guix natively on Debian


From: Svante Signell
Subject: Re: Status update+patches:Re: I managed to build guix natively on Debian GNU/Hurd , what's next?
Date: Fri, 20 Sep 2019 17:59:05 +0200
User-agent: Evolution 3.30.5-1.1

On Tue, 2019-09-10 at 10:10 +0200, Svante Signell wrote:
> On Sun, 2019-09-08 at 22:55 +0200, Ludovic Courtès wrote:
> > Hi,
> > 
> > Ricardo Wurmus <address@hidden> skribis:
> > 
> > > I believe the problem is in Guix, which lets the builds for i586-gnu use
> > > Guile 2.2, but generates scripts for Guile 2.0.  We probably need to
> > > change it use Guile 2.0 there as it is done for other architectures
> > > (which is why the generated scripts refer to 2.0).
> > 
> > Yes, it seems easier to keep everything at 2.0 for now in
> > ‘make-bootstrap.scm’.

On a GNU/Linux amd64 qemu image:
================================

git clone https://git.savannah.gnu.org/git/guix.git
cd guix
autoreconf -ivf
./configure --prefix=/usr 2>&1 | tee ../configure.log
make 2>&1 | tee ../make-guix.log

I used the attached patches to build the bootstrap tarballs with command:
Terminal 1: <as root>
export GUILE_LOAD_PATH=/usr/share/guile/site/2.2/
./pre-inst-env ./guix-daemon --debug --build-users-group=guixbuild

Terminal 2:
export GUILE_LOAD_PATH=/usr/share/guile/site/2.2/
./pre-inst-env guix build --target=i586-pc-gnu bootstrap-tarballs 2>&1 | tee
../bootstrap-tarballs-i586-pc-gnu.log

Build took around two days, and the log file is 361MB.

Note: --target=i586-gnu does not work!

apt-get install guile-2.2 guile-gcrypt libgnutls30 guile-sqlite3 guile-json
guile-bytestructures make zlib1g bzip2 libgcrypt20 sqlite3 g++ guile-2.0 guile-
2.0-libs guile-2.2-dev libsqlite3-dev guile-ssh libgit2-27 libgit2-dev texinfo
texlive-base help2man

guile-json is too old: Install 3.1.0-1.
apt-get install -t experimental guile-json

guile-git was built from git and guile-gnutls was built from a modified version
of gnutls28-3.6.9-5.

However, for the dependencies I needed guile-2.2 to be installed:
apt-get remove --purge guile-2.2
guile-2.2* guile-bytestructures* guile-gcrypt* guile-gnutls* guile-json* guile-
sqlite3* guile-ssh*

dpkg -S /usr/share/guile/site/
guile-sqlite3, guile-gcrypt, guile-bytestructures, guile-ssh, guile-gnutls,
guile-json: /usr/share/guile/site

dpkg -S /usr/share/guile/site/2.2
guile-sqlite3, guile-gcrypt, guile-bytestructures, guile-ssh, guile-json:
/usr/share/guile/site/2.2

On the Hurd box:
================
The cross-built files xz and guile are corrupt (maybe tar too):
/gnu/store/...-xz: Error creating a pipe: Function not implemented

On the Linux box:
=================
Extracting and running guile from guile-static-stripped-2.0.14-i586-pc-
gnu.tar.xz
./bin/guile --version
Throw without catch before boot:
Aborting.

Where did things go wrong or where did I miss something?

Thanks!

Attachment: doc_local.mk.diff
Description: Text Data

Attachment: gnu_packages_make-bootstrap.scm.diff
Description: Text Data


reply via email to

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