Hello!
(Please leave a bit more context when quoting messages, to make it
easier for me to follow. ;-))
Nikita Karetnikov <[email protected]> skribis:
>>> Oh, I forgot to add the -K option. There are no logs.
>
>> -K has nothing to do with logs. :-)
>
> I meant the build tree.
>
> I can't find 'libgcc.a':
The absolute file name appeared in your previous message:
/nix/store/g9js73bwv1fl92h1nnf50vf1619irnxf-gcc-cross-sans-libc-mips64el-linux-gnu-4.7.2/lib/gcc/mips64el-linux-gnu/4.7.2/libgcc.a
>> You did it right. :-)
>
> I don't think so.
We were referring to quasiquote/unquote, and yes, you did it right.
> config.log:
>
> configure:2785: gcc -c -mabi=64 -g -O2 --host=mips64el-linux-gnu conftest.c
> >&5
> gcc: error: unrecognized argument in option '-mabi=64'
> gcc: note: valid arguments to '-mabi=' are: ms sysv
> gcc: error: unrecognized command line option '--host=mips64el-linux-gnu'
Ah, yes, that’s because CFLAGS is also used by the /native/ compiler,
hence this failure.
After a bit of research, I found ports/sysdeps/mips/preconfigure (in
libc). Apparently, it interprets the OS part of the target triplet to
determine the ABI. So, if you specify --target=mips64el-linux-gnuabi64,
it should automatically build glibc for n64.
The simplest way to do that is probably:
diff --git a/gnu/packages/cross-base.scm b/gnu/packages/cross-base.scm
index 69dc9f5..f4903d3 100644
--- a/gnu/packages/cross-base.scm
+++ b/gnu/packages/cross-base.scm
@@ -231,7 +231,7 @@ XBINUTILS and the cross tool chain."
;;;
(define-public xgcc-mips64el
- (let ((triplet "mips64el-linux-gnu"))
+ (let ((triplet "mips64el-linux-gnuabi64"))
(cross-gcc triplet
(cross-binutils triplet)
(cross-libc triplet))))
(And you can remove previous attempts to specify CFLAGS.)
Can you try that?
TIA!
Ludo’.