You are not logged in.
Hello Everyone,
I've hit a wall trying to compile the kernel from the abs. I get this error message:
patching file fs/fat/inode.c
Hunk #1 succeeded at 800 (offset 74 lines).
HOSTCC scripts/basic/fixdep
/bin/sh: scripts/basic/fixdep: cannot execute binary file
make[2]: *** [scripts/basic/fixdep] Error 126
make[1]: *** [scripts_basic] Error 2
SYSHDR arch/x86/syscalls/../include/generated/asm/unistd_32.h
SYSHDR arch/x86/syscalls/../include/generated/asm/unistd_64.h
make: *** No rule to make target `include/config/auto.conf', needed by `include/config/kernel.release'. Stop.
make: *** Waiting for unfinished jobs....
HOSTCC scripts/basic/fixdep
SYSHDR arch/x86/syscalls/../include/generated/asm/unistd_x32.h
SYSTBL arch/x86/syscalls/../include/generated/asm/syscalls_32.h
/bin/sh: scripts/basic/fixdep: cannot execute binary file
make[1]: *** [scripts/basic/fixdep] Error 126
make: *** [scripts_basic] Error 2
==> ERROR: A failure occurred in build().
Aborting...While trying to figure this out I came across this post: https://bbs.archlinux.org/viewtopic.php?id=99089 and have tried the solutions presented. I did end up having to change my fstab to include defaults,
/dev/sda3 /home ext4 defaults,exec,rw,relatime,data=ordered 0 2and the permissions on scripts/basic/fixdep are: -rwxr-xr-x which i think it correct.
Unfortunately, the problem still exists and I don't know how to continue trouble shooting. Can someone point me in a direction to troubleshoot this?
Last edited by magyarm (2012-12-20 01:55:00)
Offline
Update on this. file on scripts/basix/fixdep gives ELF 32-bit LSB executable, ARM, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.27, not stripped
This is really strange because I'm on an x64, so I'm wondering why I'm pulling ARM versions of the binaries. I had been trying to set up distcc and a cross compiler in another directory, but I can't imagine that influencing this PKGBUILD at all.
Offline
Further update, I figured it out. I was being stupid. As far as I can tell, when I had added the cross compiler to my $PATH that was the only gcc being picked up. (specifically: armv7l-unknown-linux-gnueabihf-gcc). When I removed that from my path the kernel from the ABS compiled perfectly.
So now, I need to figure out a good way to handle multiple compilers on my system to prevent this from happening again. If anyone has any tips I would love to hear them.
Offline
So now, I need to figure out a good way to handle multiple compilers on my system to prevent this from happening again. If anyone has any tips I would love to hear them.
Set up a file that you source from bash to prepend the cross compiler to your path, that would only be active for that shell, and when you're done just close it. Means you only activate the cross compiler when you need it.
Offline