FS#12824 - [klibc] doesn't build
Attached to Project:
Arch Linux
Opened by Massimiliano Brocchini (proc) - Friday, 16 January 2009, 21:22 GMT
Last edited by Jan de Groot (JGC) - Monday, 20 July 2009, 17:47 GMT
Opened by Massimiliano Brocchini (proc) - Friday, 16 January 2009, 21:22 GMT
Last edited by Jan de Groot (JGC) - Monday, 20 July 2009, 17:47 GMT
|
Details
Description:
klibc 1.5.15 doesnt' build with makepkg reporting the following error: The 'linux' symlink is missing; it should point to a kernel tree configured for the i386 architecture. make: *** [linux] Error 1 This happens both on i686 and on the i586 port I'm working on, so it may affect x86_64 too |
This task depends upon
_kver=2.6.28-ARCH
and
ln -sf /usr/src/linux-${_kver} linux
You need to make sure the symlink points to an existing linux kernel source (or at least part of it with the relevant headers). The build works fine here.
I downloaded and untarred linux-2.6.28 sources, but you are symlinking linux-2.6.28-ARCH, so I renamed the directory and build klibc succesfully.
Now I cant build other klibc-* packages because /usr/lib/klibc/include/asm points to asm-x86, but I only have asm-generic in /usr/lib/klibc/include/
Do I need to have linux-2.6.28 sources with ARCH patches applied in order to build klibc-*?
I see this is the relevant part in the PKGBUILD
#ln -sf asm-x86 $startdir/pkg/usr/lib/klibc/include/asm
cp -a linux/arch/x86/include/asm/* $startdir/pkg/usr/lib/klibc/include/asm/
but pacman -Qlp klibc-1.5.15-1-i586.pkg.tar.gz | grep asm gives:
klibc /usr/lib/klibc/include/arch/alpha/machine/asm.h
klibc /usr/lib/klibc/include/arch/arm/klibc/asmmacros.h
klibc /usr/lib/klibc/include/arch/mips/machine/asm.h
klibc /usr/lib/klibc/include/arch/sparc/machine/asm.h
klibc /usr/lib/klibc/include/asm
klibc /usr/lib/klibc/include/asm-generic/
klibc /usr/lib/klibc/include/asm-generic/4level-fixup.h
klibc /usr/lib/klibc/include/asm-generic/Kbuild
klibc /usr/lib/klibc/include/asm-generic/Kbuild.asm
klibc /usr/lib/klibc/include/asm-generic/atomic.h
klibc /usr/lib/klibc/include/asm-generic/audit_change_attr.h
klibc /usr/lib/klibc/include/asm-generic/audit_dir_write.h
klibc /usr/lib/klibc/include/asm-generic/audit_read.h
klibc /usr/lib/klibc/include/asm-generic/audit_signal.h
klibc /usr/lib/klibc/include/asm-generic/audit_write.h
klibc /usr/lib/klibc/include/asm-generic/bitops.h
klibc /usr/lib/klibc/include/asm-generic/bitops/
klibc /usr/lib/klibc/include/asm-generic/bitops/__ffs.h
klibc /usr/lib/klibc/include/asm-generic/bitops/__fls.h
klibc /usr/lib/klibc/include/asm-generic/bitops/atomic.h
klibc /usr/lib/klibc/include/asm-generic/bitops/ext2-atomic.h
klibc /usr/lib/klibc/include/asm-generic/bitops/ext2-non-atomic.h
klibc /usr/lib/klibc/include/asm-generic/bitops/ffs.h
klibc /usr/lib/klibc/include/asm-generic/bitops/ffz.h
klibc /usr/lib/klibc/include/asm-generic/bitops/find.h
klibc /usr/lib/klibc/include/asm-generic/bitops/fls.h
klibc /usr/lib/klibc/include/asm-generic/bitops/fls64.h
klibc /usr/lib/klibc/include/asm-generic/bitops/hweight.h
klibc /usr/lib/klibc/include/asm-generic/bitops/le.h
klibc /usr/lib/klibc/include/asm-generic/bitops/lock.h
klibc /usr/lib/klibc/include/asm-generic/bitops/minix-le.h
klibc /usr/lib/klibc/include/asm-generic/bitops/minix.h
klibc /usr/lib/klibc/include/asm-generic/bitops/non-atomic.h
klibc /usr/lib/klibc/include/asm-generic/bitops/sched.h
klibc /usr/lib/klibc/include/asm-generic/bug.h
klibc /usr/lib/klibc/include/asm-generic/cmpxchg-local.h
klibc /usr/lib/klibc/include/asm-generic/cmpxchg.h
klibc /usr/lib/klibc/include/asm-generic/cputime.h
klibc /usr/lib/klibc/include/asm-generic/device.h
klibc /usr/lib/klibc/include/asm-generic/div64.h
klibc /usr/lib/klibc/include/asm-generic/dma-coherent.h
klibc /usr/lib/klibc/include/asm-generic/dma-mapping-broken.h
klibc /usr/lib/klibc/include/asm-generic/dma-mapping.h
klibc /usr/lib/klibc/include/asm-generic/emergency-restart.h
klibc /usr/lib/klibc/include/asm-generic/errno-base.h
klibc /usr/lib/klibc/include/asm-generic/errno.h
klibc /usr/lib/klibc/include/asm-generic/fcntl.h
klibc /usr/lib/klibc/include/asm-generic/futex.h
klibc /usr/lib/klibc/include/asm-generic/gpio.h
klibc /usr/lib/klibc/include/asm-generic/ide_iops.h
klibc /usr/lib/klibc/include/asm-generic/int-l64.h
klibc /usr/lib/klibc/include/asm-generic/int-ll64.h
klibc /usr/lib/klibc/include/asm-generic/ioctl.h
klibc /usr/lib/klibc/include/asm-generic/iomap.h
klibc /usr/lib/klibc/include/asm-generic/irq_regs.h
klibc /usr/lib/klibc/include/asm-generic/kdebug.h
klibc /usr/lib/klibc/include/asm-generic/libata-portmap.h
klibc /usr/lib/klibc/include/asm-generic/local.h
klibc /usr/lib/klibc/include/asm-generic/memory_model.h
klibc /usr/lib/klibc/include/asm-generic/mm_hooks.h
klibc /usr/lib/klibc/include/asm-generic/mman.h
klibc /usr/lib/klibc/include/asm-generic/mutex-dec.h
klibc /usr/lib/klibc/include/asm-generic/mutex-null.h
klibc /usr/lib/klibc/include/asm-generic/mutex-xchg.h
klibc /usr/lib/klibc/include/asm-generic/page.h
klibc /usr/lib/klibc/include/asm-generic/pci-dma-compat.h
klibc /usr/lib/klibc/include/asm-generic/pci.h
klibc /usr/lib/klibc/include/asm-generic/percpu.h
klibc /usr/lib/klibc/include/asm-generic/pgtable-nopmd.h
klibc /usr/lib/klibc/include/asm-generic/pgtable-nopud.h
klibc /usr/lib/klibc/include/asm-generic/pgtable.h
klibc /usr/lib/klibc/include/asm-generic/poll.h
klibc /usr/lib/klibc/include/asm-generic/resource.h
klibc /usr/lib/klibc/include/asm-generic/rtc.h
klibc /usr/lib/klibc/include/asm-generic/sections.h
klibc /usr/lib/klibc/include/asm-generic/siginfo.h
klibc /usr/lib/klibc/include/asm-generic/signal.h
klibc /usr/lib/klibc/include/asm-generic/statfs.h
klibc /usr/lib/klibc/include/asm-generic/syscall.h
klibc /usr/lib/klibc/include/asm-generic/termios.h
klibc /usr/lib/klibc/include/asm-generic/tlb.h
klibc /usr/lib/klibc/include/asm-generic/topology.h
klibc /usr/lib/klibc/include/asm-generic/uaccess.h
klibc /usr/lib/klibc/include/asm-generic/vmlinux.lds.h
klibc /usr/lib/klibc/include/asm-generic/xor.h
And
stat pkg/usr/lib/klibc/include/asm confirms that asm is still a symlink, but now to asm-i386:
File: `pkg/usr/lib/klibc/include/asm' -> `asm-i386'
I can solve the problem by hand, but I think this is something you may want to check.
May I dare to ask you to modify the PKBUILD to automatically download a kernel source if the directory /usr/src/linux-${_kver} doens't exist? I'm asking this because I think abs makeworld should require minimal user intervention and tools like pacbuilder (http://code.google.com/p/pacbuilder/) requires that packages can be built without any user interaction from abs.
Thanks for your work for the archlinux community and thanks for your patience.