Re: Porting to mips64el

2013-02-23 Thread Andreas Enge
Am Donnerstag, 21. Februar 2013 schrieb Nikita Karetnikov: What should I try now? Did you already get the glibc, or did the problems appear before? Maybe it would be enough to just replace the glibc with one that contains the 64 bit headers. I tried to compile glibc independently with

Re: Porting to mips64el

2013-02-20 Thread Andreas Enge
Am Mittwoch, 20. Februar 2013 schrieb Ludovic Courtès: How exactly did you modify gcc-boot0? For the time being, I simply hard-coded two additional configure flags: diff --git a/gnu/packages/base.scm b/gnu/packages/base.scm index 5c39ec3..25e07bc 100644 --- a/gnu/packages/base.scm +++

Re: Porting to mips64el

2013-02-20 Thread Ludovic Courtès
Andreas Enge andr...@enge.fr skribis: The file /nix/store/j2gf9gm512s8y64pgvw84258p3qsqfkq-glibc- bootstrap-0/include/gnu/stubs.h tries to include stubs-n64_hard.h (hard standing for hard float); but there is only a stubs-n32_hard.h in the directory. Ah I see, that’s because the

Re: Porting to mips64el

2013-02-20 Thread Nikita Karetnikov
Could you maybe provide some, Nikita? Sure. But what should I do? Should I adjust '%bootstrap-glibc' somehow? pgpNbt1ePcXrM.pgp Description: PGP signature

Re: Porting to mips64el

2013-02-20 Thread Andreas Enge
Am Mittwoch, 20. Februar 2013 schrieb Nikita Karetnikov: Could you maybe provide some, Nikita? Sure. But what should I do? Should I adjust '%bootstrap-glibc' somehow? I think adding something like (arguments '(#:configure-flags (list CFLAGS=-march=mips64 -mabi=64))) to

Re: Porting to mips64el

2013-02-20 Thread Ludovic Courtès
Andreas Enge andr...@enge.fr skribis: Am Mittwoch, 20. Februar 2013 schrieb Nikita Karetnikov: Could you maybe provide some, Nikita? Sure. But what should I do? Should I adjust '%bootstrap-glibc' somehow? I think adding something like (arguments '(#:configure-flags

Re: Porting to mips64el

2013-02-16 Thread Ludovic Courtès
Nikita Karetnikov nik...@karetnikov.org skribis: Actually, even better would be do that in host code, as done with ‘glibc-dynamic-linker’: What do you mean by host code? I mean code that runs in your ‘guix-build’ process, as opposed to builder code running in the chroot (search the manual

Re: Porting to mips64el

2013-02-14 Thread Ludovic Courtès
Nikita Karetnikov nik...@karetnikov.org skribis: I'm attaching three patches. '0001-gnu-Disable-Libtool-s-testsuite.patch' and '0001-gnu-Set-ARCH-to-mips.patch' are for 'mips64el'. The other one is for 'core-updates', but it's also needed for 'mips64el'. (Should I push to both?) Could

Re: Porting to mips64el

2013-02-13 Thread Nikita Karetnikov
@ build-succeeded /nix/store/swa7j95kvdp8gi49b59llckmkb73z5b9-hello-2.8.drv /nix/store/3nlfldhm3ckl319jhnb1rdwgi0c7kf38-hello-2.8 /nix/store/3nlfldhm3ckl319jhnb1rdwgi0c7kf38-hello-2.8 I'm attaching three patches. '0001-gnu-Disable-Libtool-s-testsuite.patch' and '0001-gnu-Set-ARCH-to-mips.patch'

Re: Porting to mips64el

2013-02-12 Thread Ludovic Courtès
Nikita Karetnikov nik...@karetnikov.org skribis: So you can either temporarily modify build-aux/download.scm to point to fdn.fr/..., or download the file in question by hand and check its hash against the one that’s in Makefile.am. Please append '-linux' to the following:

Re: Porting to mips64el

2013-02-12 Thread Nikita Karetnikov
Maybe we need a command-line interface to that? I think so. Should it be a separate file (e.g., 'guix-hash')? pgpQiP2uz7CwO.pgp Description: PGP signature

Re: Porting to mips64el

2013-02-11 Thread Ludovic Courtès
Hi! Nikita sent me the bootstrap binaries they built, and I uploaded them to www.fdn.fr for testing (we’ll put them on alpha.gnu.org once a couple of people have been able to build something :-)). So, with the ‘mips64el’ branch, you should be able to download them and get started. I was

Re: Porting to mips64el

2013-02-11 Thread Andreas Enge
Am Montag, 11. Februar 2013 schrieb Ludovic Courtès: So, with the ‘mips64el’ branch, you should be able to download them and get started. Could you update the links and hashes in the branch? When trying to build guix on mips64el, I get the following: /run/current-system/sw/bin/mkdir -p

Re: Porting to mips64el

2013-02-11 Thread Ludovic Courtès
Andreas Enge andr...@enge.fr skribis: Am Montag, 11. Februar 2013 schrieb Ludovic Courtès: So, with the ‘mips64el’ branch, you should be able to download them and get started. Could you update the links and hashes in the branch? When trying to build guix on mips64el, I get the following:

Re: Porting to mips64el

2013-02-11 Thread Nikita Karetnikov
Please append '-linux' to the following: http://www.fdn.fr/~lcourtes/software/guix/packages/mips64el. The current workaround is to adjust 'build-aux/download.scm' and 'gnu/packages/bootstrap.scm' like this: (string-uri (string-append %url-base /mips64el

Re: Porting to mips64el

2013-02-08 Thread Nikita Karetnikov
@ build-succeeded /nix/store/8br9lb269a13panrwkvwx2zhqz3vjszf-bootstrap-tarballs-0.drv /nix/store/cixf5ra7hsq04yndm7b9hzwril6bfz2i-bootstrap-tarballs-0 /nix/store/cixf5ra7hsq04yndm7b9hzwril6bfz2i-bootstrap-tarballs-0 I'm going to test them. pgpubGyhPQ55R.pgp Description: PGP signature

Re: Porting to mips64el

2013-02-08 Thread Ludovic Courtès
Nikita Karetnikov nik...@karetnikov.org skribis: @ build-succeeded /nix/store/8br9lb269a13panrwkvwx2zhqz3vjszf-bootstrap-tarballs-0.drv /nix/store/cixf5ra7hsq04yndm7b9hzwril6bfz2i-bootstrap-tarballs-0 /nix/store/cixf5ra7hsq04yndm7b9hzwril6bfz2i-bootstrap-tarballs-0 I'm going to test them.

Re: Porting to mips64el

2013-02-06 Thread Ludovic Courtès
Nikita Karetnikov nik...@karetnikov.org skribis: builder for `/nix/store/75lxm8dc68pyx7sfmc3r28h86rhncacy-binutils-static-2.22.drv' failed to produce output path `/nix/store/qnjc6jjl61856adw7sgwnxl459khh8kg-binutils-static-2.22-lib' Fixed by 431f35f, thanks! Ludo’.

Re: Porting to mips64el

2013-02-05 Thread Nikita Karetnikov
Unfortunately, this change triggers a full rebuild, so it’s for ‘core-updates’. But if it’s good for you, then go for it, and we can open ‘core-updates’ again. I guess that it worked. This is an endless journey; Libtool's testsuite failed. (Thanks for your patience.)

Re: Porting to mips64el

2013-02-03 Thread Ludovic Courtès
Nikita Karetnikov nik...@karetnikov.org skribis: #define LIB_SPEC -L/nix/store/7ya3mh0987kmc9xkwxzapkpw4s4hzkz0-glibc-2.17/lib %{!static:-rpath=/nix/store/7ya3mh0987kmc9xkwxzapkpw4s4hzkz0-glibc-2.17/lib %{!static-libgcc:-rpath=/nix/store/n4blfp5bz6lvx9w9afn1i9c9v7akjnns-gcc-4.7.2/lib64

Re: Porting to mips64el

2013-02-02 Thread Ludovic Courtès
Hi, Nikita Karetnikov nik...@karetnikov.org skribis: ../../gcc-4.7.2/gcc/config/mips/gnu-user.h:94:309: warning: missing terminating character [enabled by default] Can you check what’s in that file, in the build tree? Presumably the LIB_SPEC patching in base.scm doesn’t work as expected.

Re: Porting to mips64el

2013-02-02 Thread Nikita Karetnikov
../../gcc-4.7.2/gcc/config/mips/gnu-user.h:94:309: warning: missing terminating character [enabled by default] Can you check what’s in that file, in the build tree? Presumably the LIB_SPEC patching in base.scm doesn’t work as expected. #define LIB_SPEC

Re: Porting to mips64el

2013-02-02 Thread Nikita Karetnikov
Can you send this file? Attached. /* Definitions for MIPS systems using GNU userspace. Copyright (C) 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2010, 2011 Free Software Foundation, Inc. This file is part of GCC. GCC is free software; you can redistribute it and/or

Re: Porting to mips64el

2013-01-31 Thread Ludovic Courtès
Nikita Karetnikov nik...@karetnikov.org skribis: # strings /nix/store/qn9m4cjncna9mcac98fynialsv2l28jm-glibc-intermediate-2.17/bin/sh | grep ld.so /nix/store/-glibc-2.13/lib/ld.so.1 How can I fix this? You should actually build a statically-linked Bash,

Re: Porting to mips64el

2013-01-31 Thread Nikita Karetnikov
You should actually build a statically-linked Bash, and edit %bootstrap-inputs to use that instead of Nixpkgs’s dynamically-linked Bash. Here's what I did: (define %bootstrap-inputs `((libc ,(nixpkgs-derivation glibc mips64el-linux)) (bash /bin/sh) ,@(map (lambda (name)

Re: Porting to mips64el

2013-01-30 Thread Nikita Karetnikov
Maybe ld.so instead of ld-linux? You're right: # strings /nix/store/qn9m4cjncna9mcac98fynialsv2l28jm-glibc-intermediate-2.17/bin/sh | grep ld.so /nix/store/-glibc-2.13/lib/ld.so.1 How can I fix this? (Remember to add that to ‘glibc-dynamic-linker’

Re: Porting to mips64el

2013-01-29 Thread Nikita Karetnikov
Can you change that and try again? It worked, but there is a new error: [...] starting phase `build' rm -f mksyntax make: /nix/store/qn9m4cjncna9mcac98fynialsv2l28jm-glibc-intermediate-2.17/bin/sh: Command not found make: *** [mksyntax] Error 127 phase `build' failed after 0 seconds builder

Re: Porting to mips64el

2013-01-28 Thread Ludovic Courtès
Nikita Karetnikov nik...@karetnikov.org skribis: ,@(if (string-prefix? mips (%current-system)) `(((string-prefix? arch mips) mips))

Re: Porting to mips64el

2013-01-27 Thread Ludovic Courtès
Nikita Karetnikov nik...@karetnikov.org skribis: The attached patch should solve it, while avoiding a rebuild on other architectures: I applied the patch, then ran 'make', but it failed with the same error. Can you confirm that the log contains this line (literally): `ARCH' set to `mips'

Re: Porting to mips64el

2013-01-27 Thread Nikita Karetnikov
Can you confirm that the log contains this line (literally): `ARCH' set to `mips' Can you please post the line with “starting phase `build'” and the next few lines? # ./pre-inst-env guix-build -K \ -e '(@ (gnu packages make-bootstrap) %bootstrap-tarballs)' \

Re: Porting to mips64el

2013-01-25 Thread Nikita Karetnikov
--disable-shared LDFLAGS=-static Bash doesn't have '--disable-shared'. I used these commands: # export LDFLAGS=-static # ./configure --without-bash-malloc \ --disable-readline \ --disable-history \ --disable-help-builtin \

Re: Porting to mips64el

2013-01-22 Thread Nikita Karetnikov
I'll try to build statically-linked Bash. Could anyone advise on this? Which flags and options should be used? The ones from the corresponding recipe look a bit complex for me. I tried this instead: # ./configure --enable-readline --enable-static-link # make [...] execute_cmd.c: In

Re: Porting to mips64el

2013-01-20 Thread Ludovic Courtès
Nikita Karetnikov nik...@karetnikov.org skribis: I've tried to compile and run the following simple program: Oh, this is actually Perl’s configure speaking, not you. #include stdio.h int main() { printf(Ok\n); return(0); } I used the command: gcc -o try -O2 -fno-strict-aliasing

Re: Porting to mips64el

2013-01-19 Thread Nikita Karetnikov
Hi, So please, make sure to run a Linux(-Libre) kernel known to have the fix (3.5 and 3.6 are known broken, AIUI.) I'm using 3.4 and ext3. That error occurred because of these options: # CONFIG_EXT3_FS is not set CONFIG_EXT4_FS=y CONFIG_EXT4_USE_FOR_EXT23=y CONFIG_EXT4_FS_XATTR=y

Re: Porting to mips64el

2013-01-19 Thread Ludovic Courtès
Hi, Nikita Karetnikov nik...@karetnikov.org skribis: I'm using 3.4 and ext3. That error occurred because of these options: # CONFIG_EXT3_FS is not set CONFIG_EXT4_FS=y CONFIG_EXT4_USE_FOR_EXT23=y CONFIG_EXT4_FS_XATTR=y CONFIG_EXT4_FS_POSIX_ACL=y CONFIG_EXT4_FS_SECURITY=y I've been

Re: Porting to mips64el

2013-01-13 Thread Ludovic Courtès
Nikita Karetnikov nik...@karetnikov.org skribis: 2774 lseek(7, 745214952, SEEK_SET) = 745214952 2774 getdents(7, ptrace(SYSCALL):No such process 2774 +++ killed by SIGKILL +++ I’m again no expert in that area, but this hints at the readdir/getdirent bug mentioned earlier by Lluís:

Re: Porting to mips64el

2013-01-12 Thread Nikita Karetnikov
Hi, It's a memory issue. I tried without Emacs and got 'virtual memory exhausted'. I have a couple ideas and I'm going to try them. Nikita pgps3I6yOOpCP.pgp Description: PGP signature

Re: Porting to mips64el

2013-01-12 Thread Ludovic Courtès
Hello! Nikita Karetnikov nik...@karetnikov.org skribis: It's a memory issue. How do you know? I tried without Emacs and got 'virtual memory exhausted'. You mean without a running Emacs process alongside? Good luck! ;-) Ludo’.

Re: Porting to mips64el

2013-01-12 Thread Nikita Karetnikov
It's a memory issue. How do you know? I don't. That phrase is not accurate. I was trying to say that it failed with a memory-related error. Of course it doesn't explain anything. For instance, a software bug can be the cause. You mean without a running Emacs process alongside? Yes, from

Re: Porting to mips64el

2013-01-12 Thread Ludovic Courtès
Nikita Karetnikov nik...@karetnikov.org skribis: It's a memory issue. How do you know? I don't. So you should really try ‘strace -f make’ as I suggested. It may give hints, at least. Ludo’.

Re: Porting to mips64el

2013-01-11 Thread Ludovic Courtès
Hi, Nikita Karetnikov nik...@karetnikov.org skribis: I think Lluís said that something must be added to ~/.nixpkgs/config.nix to make sure the right platform setup is used, but again, I have no expertise in MIPS64 so I can’t really help. Thanks, I forgot about 'config.nix'. Unfortunately,

Re: Porting to mips64el

2013-01-11 Thread Nikita Karetnikov
You could run ‘nix-build -A stdenv -K /path/to/nixpkgs’. Upon glibc build failure, just get into the failed build tree: Yep, it failed with the same error. $ sudo chown -r $USER /tmp/nix-build-*glibc-2.13* $ cd /tmp/nix-build-*glibc-2.13* $ source env-vars $ cd build $ make [...]

Re: Porting to mips64el

2013-01-11 Thread Ludovic Courtès
Nikita Karetnikov nik...@karetnikov.org skribis: You could run ‘nix-build -A stdenv -K /path/to/nixpkgs’. Upon glibc build failure, just get into the failed build tree: Yep, it failed with the same error. Then there may be something wrong with your setup, because glibc is known to build on

Re: Porting to mips64el

2013-01-09 Thread Nikita Karetnikov
Well, you could modify Nixpkgs for that. But note that only the headers are used, and they are bit-for-bit the same as those of the corresponding Linux-Libre. Furthermore, you will no longer need Nixpkgs once you’ve built the bootstrap binaries for Guix, so I would not bother. Anyway, I'd

Re: Porting to mips64el

2013-01-08 Thread Nikita Karetnikov
Most likely the problem is that (%nixpkgs-directory) is #f. To fix that, you need to either run configure --with-nixpkgs=/path/to/nixpkgs, or set the ‘NIXPKGS’ environment variable. You're right. I forgot to specify this option. How can I tell Guix that 'nix-worker --daemon' listens on

Re: Porting to mips64el

2013-01-08 Thread Ludovic Courtès
Nikita Karetnikov nik...@karetnikov.org skribis: With --localstatedir=/nix/var/nix (see store.scm and config.scm). Actually, it's '--localstatedir=/nix/var', but thanks anyway. Oops, sorry. Remember: to bootstrap things here, you’re using Nixpkgs. Here it’s Nixpkgs’s glibc that uses