Linux From ScratchThis Forum is for the discussion of LFS.
LFS is a project that provides you with the steps necessary to build your own custom Linux system.
Notices
Welcome to LinuxQuestions.org, a friendly and active Linux Community.
You are currently viewing LQ as a guest. By joining our community you will have the ability to post topics, receive our newsletter, use the advanced search, subscribe to threads and access many other special features. Registration is quick, simple and absolutely free. Join our community today!
Note that registered members see fewer ads, and ContentLink is completely disabled once you log in.
If you have any problems with the registration process or your account login, please contact us. If you need to reset your password, click here.
Having a problem logging in? Please visit this page to clear all LQ-related cookies.
Get a virtual cloud desktop with the Linux distro that you want in less than five minutes with Shells! With over 10 pre-installed distros to choose from, the worry-free installation life is here! Whether you are a digital nomad or just looking for flexibility, Shells can put your Linux machine on the device that you want to use.
Exclusive for LQ members, get up to 45% off per month. Click here for more info.
I am using the LFS book 5.0 on an AMD (i686-pc-linux-gnu) system. The
dynamic loader is linux.so.2. I have compiled all of the source to
this point without any errors, except the known errors the book says
is OK. I am in chapter 6, page 151. When compiling autoconf-2.57 I
get the following:
---------------
make[3]: Entering directory `/sources/autoconf-2.57/lib'
rm -f autom4te.cfg autom4te.tmp
sed -e 's,@SHELL\@,/bin/sh,g' -e 's,@PERL\@,/tools/bin/perl,g' -e
's,@bindir\@,/usr/bin,g' -e 's,@datadir\@,/usr/share/autoconf,g' -e
's,@prefix\@,/usr,g' -e
's,@autoconf-name\@,'`echo autoconf | sed 's,x,x,'`',g' -e
's,@autoheader-name\@,'`echo autoheader | sed 's,x,x,'`',g' -e
's,@autom4te-name\@,'`echo autom4te
| sed 's,x,x,'`',g' -e 's,@M4\@,/usr/bin/m4,g' -e 's,@AWK\@,gawk,g' -e
's,@VERSION\@,2.57,g' -e 's,@PACKAGE_NAME\@,GNU Autoconf,g'
./autom4te.in >autom4te.tmpmv autom4te.tmp autom4te.cfg
make[3]: Leaving directory `/sources/autoconf-2.57/lib'
../../tests/autom4te \
--language=m4sugar \
--freeze \
--output=m4sugar.m4f
Can't locate Data/Dumper.pm in @INC (@INC contains:
/sources/autoconf-2.57/lib
/tools/lib/perl5/5.8.1/i686-linux /tools/lib/perl5/5.8.1
/tools/lib/perl5/site_perl/5.8.1/i686-linux
/tools/lib/perl5/site_perl/5.8.1 /tools/lib/perl5/site_perl .) at
/sources/autoconf-2.57/bin/autom4te line 39.
BEGIN failed--compilation aborted at
/sources/autoconf-2.57/bin/autom4te line 39.
make[2]: *** [m4sugar.m4f] Error 2
make[2]: Leaving directory `/sources/autoconf-2.57/lib/m4sugar'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/sources/autoconf-2.57/lib'
make: *** [all-recursive] Error 1
--------------
Does anyone know how to fix this? What steps do I need to take to
troubleshoot an error as this? Any help would be greatly appreciated.
Last edited by jazernorth; 03-22-2004 at 11:05 AM.
I had a link the link /usr/bin/perl to /tools/usr/bin/perl that was created in Chapter 5. I removed the link and pointed it to /usr/bin/perl5.8.0 and now it works, so far anyway.
You aren't alone. I had the same problem. The LFS text forgets to remind you to remove that /usr/bin/perl symlink to /tools/bin/perl. The perl installation sees this, detects another installation of perl, and installs itself in /usr/local/bin/perl5.8.5.
So anyway, you're correct. I think (and hope) this fixes it... it seems to for me.
Originally posted by jazernorth I had a link the link /usr/bin/perl to /tools/usr/bin/perl that was created in Chapter 5. I removed the link and pointed it to /usr/bin/perl5.8.0 and now it works, so far anyway.
but your error message says it was looking for perl in /tools/lib/perl5/site_perl/5.8.1
If you use a different version of a package you need to be extra careful. If the computer is looking for 5.8.1 it won't notice 5.8.0.
Quote:
Originally posted by JStroud The LFS text forgets to remind you to remove that /usr/bin/perl symlink to /tools/bin/perl. The perl installation sees this, detects another installation of perl, and installs itself in /usr/local/bin/perl5.8.5.
That's nonsense. Perl installs in /usr/bin if you follow the book
I have the same issue. Everything has been fine up to this point. I am following LFS version 5.1.1. I have not found anywhere that there may be a symbolic link mucking things up. I do have perl installed in my /usr/bin.
I have been very careful to keep the correct versions as per the manual since this is my first shot at it.
I tried to cp all the files to a directory /tools/lib/perl5/site_perl/ just to see what happens and I received the same error. It is possible I did not get all the files though I was not careful about it. Lacking on time tonight.
I have read the two posts posted by 'druuna'. They did not seem to apply. Although I have not tried rebuilding perl, I am not sure if that is what I want to do since it seems to have installed correctly.
Any suggestions, recommended reading, etc. are all welcome.
It looks to me like the autoconf make file is trying to use the perl in /tools. Did you use the +h after the login command when you chrooted? If you chroot with
Bash will remember where it found a command the last time it used it. Perl (in /tools) is used in testing glibc. If Bash remembers where it was it won't look for a (and find) it in /usr/bin. delete the autoconf source, untar a fresh copy and try again, but first,
exec bash --login +h
then it should find perl in /usr/bin. Good luck.
Just in the interest of closure. I started my LFS installation over again fresh. I was not careful when I installed. I must have missed some steps becuase it has installed fine now. All that is left is installing the boot loader and configuring it to my tastes.
I met the same problem and here is what soved it (with a great help of hints in this thread)
Apparently I had the PATH env all wrong. The
> echo $PATH
gave: /tools/bin:/bin:/usr/bin instead of the correct value of /bin:/usr/bin:/sbin:/usr/sbin:/tools/bin
this despite of the fact that I correctly chrooted with the desired PATH value.
Could it have been because I intentionally rebooted (swithced off for the night actually) the computer in the process and the PATH value from the .bashrc (chapter 4.4 of LFS 6.0 book) was used then upon start even the chroot command stippulated other value?
('not sure, this is my first try with LFS and one of the first Linux/Unix exposures whatsoever)
Definitely, exporting the correct PATH value
> export PATH=/bin:/usr/bin:/sbin:/usr/sbin:/tools/bin
worked well for me (I also gave autoconf fresh start before going on, i.e. removing the autoconf-2.59 directory and un-tarring a fresh one)
That's what solved it for me--though don't forget aspiring gurus: replace perl5.8.5 with the correct version installed! If you don't, you'll scratch your head and search for 30 minutes in vain and then figure it out, and then post to make sure other people don't make the same mistake ;-)
LinuxQuestions.org is looking for people interested in writing
Editorials, Articles, Reviews, and more. If you'd like to contribute
content, let us know.