LFS-5.0:Chapter 6:autoconf-2.57 Dumper.pm missing
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. |
Did you check out these 2 links?
http://archives.linuxfromscratch.org...ne/007525.html http://archives.linuxfromscratch.org...er/000013.html Both from the LFS site. |
The Fix
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.
JN |
jazernorth:
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. rm /usr/bin/perl ln -s /usr/local/bin/perl5.8.5 /usr/bin/perl --Jason |
Re: The Fix
Quote:
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:
|
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. Thanks for your time. echo $PATH /bin:/usr/bin:/sbin:/usr/sbin:/tools/bin make[2]: Entering directory `/sources/autoconf-2.59/lib/m4sugar' ../../tests/autom4te \ --language=m4sugar \ --freeze \ --output=m4sugar.m4f Can't locate Data/Dumper.pm in @INC (@INC contains: /sources/autoconf-2.59/tests/../lib /tools/lib/ perl5/5.8.4/i686-linux /tools/lib/perl5/5.8.4 /tools/lib/perl5/site_perl/5.8.4/i686-linux /tools/li b/perl5/site_perl/5.8.4 /tools/lib/perl5/site_perl .) at /sources/autoconf-2.59/tests/../lib/Autom4 te/C4che.pm line 35. BEGIN failed--compilation aborted at /sources/autoconf-2.59/tests/../lib/Autom4te/C4che.pm line 35. Compilation failed in require at /sources/autoconf-2.59/tests/.././bin/autom4te line 39. BEGIN failed--compilation aborted at /sources/autoconf-2.59/tests/.././bin/autom4te line 39. make[2]: *** [m4sugar.m4f] Error 2 make[2]: Leaving directory `/sources/autoconf-2.59/lib/m4sugar' make[1]: *** [all-recursive] Error 1 make[1]: Leaving directory `/sources/autoconf-2.59/lib' make: *** [all-recursive] Error 1 |
The important bit of your error message is "Can't locate Data/Dumper.pm" so the first thing to do is find out why. Where is Dumper.pm? Does it exist?
find $LFS -name Dumper.pm |
>find $LFS -name Dumper.pm
/usr/lib/perl5/5.8.4/i686-linux/Data/Dumper.pm So it is there. How do I let the program know it is there? I added that directly to my PATH variable to see if that worked. It did not. |
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
Code:
chroot $LFS /tools/bin/env -i \ 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.
Thanks to everyone who tried to help me. |
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) |
JStroud, thanks for:
Quote:
|
Simple solution (for me)
I was never able to locate a perl5.*.* file anywhere so I basically just deleted the
perl file as in other emails with: rm /usr/bin/perl file Then I returned to the perl directory, reran section 6.3.3 (deleting the previously created perl directory first). I believe the comment above was correct that the make install is seeing the old link and not copying in some file it needs. When I went back to the autoconf and started over, it conf'ed and made fine. Running the make check now. :) |
All times are GMT -5. The time now is 01:46 AM. |