Re: 6.7. Linux-3.0.4 API Headers - make headers_check
On Tue, 18 Oct 2011 19:50:05 -0700 Don Burns d...@andesengineering.com wrote: Hello lfs'ers, I've just joined the list and, though I've seen this question asked in the archives, I did not find an answer that I could turn into a fix. I'm building with Version 7.0-rc2, I've gotten to step 6.7, and followed, carefully, all steps, verbatim, leading to this (three times - just in case). root:/sources/linux-3.0.4# make headers_check CHK include/linux/version.h HOSTCC scripts/basic/fixdep /tools/lib/gcc/i686-pc-linux-gnu/4.6.1/../../../../i686-pc-linux-gnu/bin/ld: warning: cannot find entry symbol _start; defaulting to 080486e0 Usage: fixdep depfile target cmdline make[1]: *** [scripts/basic/fixdep] Error 1 make: *** [scripts_basic] Error 2 Insights would be very much appreciated. Installing the kernel headers is the first thing that you do in chroot that uses the programs installed in chapter 5. If something has gone wrong it is the first time it might show up. From your error above it looks like /tools/lib/i686-pc-linux-gnu/bin/ld is broken. What does ldd /tools/lib/i686-pc-linux-gnu/bin/ld say? If it lists libraries from /usr then it was compiled linked to libraries on your host system that are not available in chroot and it will need to be reinstalled along with anything else linked to your host system. Andy -- http://linuxfromscratch.org/mailman/listinfo/lfs-support FAQ: http://www.linuxfromscratch.org/lfs/faq.html Unsubscribe: See the above information page
7.0-rc2:Permission denied error in section 6.7.1
Hi all, When trying to follow the book i have gotten to a Permission denied error because in section 6.7.1. Installation of Linux API Headers you are told to copy files to /usr/include as the lfs user, or so I understood, please correct me if I'm missing something. I guess I just have to copy them as root but I'm just saying so it can be corrected in the book if needed. make headers_check make INSTALL_HDR_PATH=dest headers_install find dest/include \( -name .install -o -name ..install.cmd \) -delete cp -rv dest/include/* /usr/include The version of the book being used: 7.0-rc2 The host distribution and version being used to create LFS: CRUNCHBANG LINUX LIVE CD (crunchbang-10-20110207-openbox-i686.iso) based on Debian Squeeze. The output from the Section vii, “Host System Requirements” The package or section the problem was encountered in: linux-3.0.4.tar.gz The exact error message or symptom being received: /mnt/lfs/sources/linux-3.0.4$ cp -rv dest/include/* /usr/include `dest/include/asm/vsyscall.h' - `/usr/include/asm/vsyscall.h' cp: cannot create regular file `/usr/include/asm/vsyscall.h': Permission denied [...] `dest/include/xen/evtchn.h' - `/usr/include/xen/evtchn.h' cp: cannot create regular file `/usr/include/xen/evtchn.h': Permission denied Note whether you have deviated from the book at all: NO Cheers, Fred. “Free software” is a matter of liberty, not price. To understand the concept, you should think of “free” as in “free speech”, not as in “free beer”. Free software is a matter of the users' freedom to run, copy, distribute, study, change and improve the software. -- http://linuxfromscratch.org/mailman/listinfo/lfs-support FAQ: http://www.linuxfromscratch.org/lfs/faq.html Unsubscribe: See the above information page
Re: 7.0-rc2:Permission denied error in section 6.7.1
Ooops... I see what happened now: From section 5.6.1. Installation of Linux API Headers I followed the link Details on this package are located in Section 6.7.2, “Contents of Linux API Headers.”, and in that page there is not only the contents section but also a 6.7.1. Installation of Linux API Headers, thats where i got mixed up because instead of going back to the original 5.6.1. Installation of Linux API Headers I carried on from 6.7.1. Installation of Linux API Headers. Sorry, my mistake. Thank you for putting me in the right direction. Cheers, Fred. “Free software” is a matter of liberty, not price. To understand the concept, you should think of “free” as in “free speech”, not as in “free beer”. Free software is a matter of the users' freedom to run, copy, distribute, study, change and improve the software. On Wed, Oct 19, 2011 at 6:29 PM, Bruce Dubbs bruce.du...@gmail.com wrote: feralert wrote: When trying to follow the book i have gotten to a Permission denied error because in section 6.7.1. Installation of Linux API Headers you are told to copy files to /usr/include as the lfs user, or so I understood, please correct me if I'm missing something. For Chapter 6, you should have entered chroot in section 6.4. At that point you should be root. -- Bruce -- http://linuxfromscratch.org/mailman/listinfo/lfs-dev FAQ: http://www.linuxfromscratch.org/faq/ Unsubscribe: See the above information page -- http://linuxfromscratch.org/mailman/listinfo/lfs-support FAQ: http://www.linuxfromscratch.org/lfs/faq.html Unsubscribe: See the above information page
Re: 6.7. Linux-3.0.4 API Headers - make headers_check - FIXED (I think)
Update: After attempting to debug the problem, and finding that I had no symbols (because the executables are stripped), I went back and redid everything from scratch for a fourth time (I'm getting good at this), but this time skipped the strip step (5.34), in order to see if I had a _start symbol in my crt1.o. Evidently, something must have gone wrong during the strip step on previous builds, because this time, things seem to be working. So far, fingers crossed. -don On Wed, Oct 19, 2011 at 9:10 AM, Don Burns d...@andesengineering.com wrote: Thanks for your reply, Andrew. ld seems to be fine: root:/# ldd /tools/i686-pc-linux-gnu/bin/ld linux-gate.so.1 = (0x00dcc000) libdl.so.2 = /tools/lib/libdl.so.2 (0x00ca4000) libc.so.6 = /tools/lib/libc.so.6 (0x0067e000) /tools/lib/ld-linux.so.2 (0x00e09000) ld, in fact seems to run: root:/# /tools/lib/gcc/i686-pc-linux-gnu/4.6.1/../../../../i686-pc-linux-gnu/bin/ld /tools/lib/gcc/i686-pc-linux-gnu/4.6.1/../../../../i686-pc-linux-gnu/bin/ld: no input files Investigating further, I ran the verbose mode of the kernel build: root:/sources/linux-3.0.4# KBUILD_VERBOSE=1 make headers_check set -e; : ' CHK include/linux/version.h'; mkdir -p include/linux/; (echo \#define LINUX_VERSION_CODE 196612; echo '#define KERNEL_VERSION(a,b,c) (((a) 16) + ((b) 8) + (c))';) /sources/linux-3.0.4/Makefile include/linux/version.h.tmp; if [ -r include/linux/version.h ] cmp -s include/linux/version.h include/linux/version.h.tmp; then rm -f include/linux/version.h.tmp; else : ' UPD include/linux/version.h'; mv -f include/linux/version.h.tmp include/linux/version.h; fi make -f scripts/Makefile.build obj=scripts/basic gcc -Wp,-MD,scripts/basic/.fixdep.d -Wall -Wmissing-prototypes -Wstrict-prototypes -O2 -fomit-frame-pointer -o scripts/basic/fixdep scripts/basic/fixdep.c /tools/lib/gcc/i686-pc-linux-gnu/4.6.1/../../../../i686-pc-linux-gnu/bin/ld: warning: cannot find entry symbol _start; defaulting to 080486e0 Usage: fixdep depfile target cmdline make[1]: *** [scripts/basic/fixdep] Error 1 make: *** [scripts_basic] Error 2 root:/sources/linux-3.0.4# scripts/ So, the build is calling gcc, which is then calling ld, which is producing the error message. What's curious is that fixdep is actually built and is runnable, evidenced by the usage message. I even tried it by hand. Its almost as if the gcc run time is not right. Any other ideas? Thanks, -don On Wed, Oct 19, 2011 at 7:27 AM, Andrew Benton b3n...@gmail.com wrote: On Tue, 18 Oct 2011 19:50:05 -0700 Don Burns d...@andesengineering.com wrote: Hello lfs'ers, I've just joined the list and, though I've seen this question asked in the archives, I did not find an answer that I could turn into a fix. I'm building with Version 7.0-rc2, I've gotten to step 6.7, and followed, carefully, all steps, verbatim, leading to this (three times - just in case). root:/sources/linux-3.0.4# make headers_check CHK include/linux/version.h HOSTCC scripts/basic/fixdep /tools/lib/gcc/i686-pc-linux-gnu/4.6.1/../../../../i686-pc-linux-gnu/bin/ld: warning: cannot find entry symbol _start; defaulting to 080486e0 Usage: fixdep depfile target cmdline make[1]: *** [scripts/basic/fixdep] Error 1 make: *** [scripts_basic] Error 2 Insights would be very much appreciated. Installing the kernel headers is the first thing that you do in chroot that uses the programs installed in chapter 5. If something has gone wrong it is the first time it might show up. From your error above it looks like /tools/lib/i686-pc-linux-gnu/bin/ld is broken. What does ldd /tools/lib/i686-pc-linux-gnu/bin/ld say? If it lists libraries from /usr then it was compiled linked to libraries on your host system that are not available in chroot and it will need to be reinstalled along with anything else linked to your host system. Andy -- http://linuxfromscratch.org/mailman/listinfo/lfs-support FAQ: http://www.linuxfromscratch.org/lfs/faq.html Unsubscribe: See the above information page -- http://linuxfromscratch.org/mailman/listinfo/lfs-support FAQ: http://www.linuxfromscratch.org/lfs/faq.html Unsubscribe: See the above information page