LinuxQuestions.org

LinuxQuestions.org (/questions/)
-   Linux From Scratch (http://www.linuxquestions.org/questions/linux-from-scratch-13/)
-   -   LFS-5.0:Chapter 6:autoconf-2.57 Dumper.pm missing (http://www.linuxquestions.org/questions/linux-from-scratch-13/lfs-5-0-chapter-6-autoconf-2-57-dumper-pm-missing-160947/)

jazernorth 03-22-2004 10:08 AM

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.

druuna 03-22-2004 11:59 AM

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.

jazernorth 03-22-2004 12:33 PM

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

JStroud 08-18-2004 12:36 AM

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

Andrew Benton 08-18-2004 01:21 PM

Re: The Fix
 
Quote:

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

silverback011 08-20-2004 08:35 PM

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

Andrew Benton 08-21-2004 04:25 AM

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

silverback011 08-21-2004 10:06 AM

>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.

Andrew Benton 08-21-2004 10:47 AM

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 \
    HOME=/root TERM=$TERM PS1='\u:\w\$ ' \
    PATH=/bin:/usr/bin:/sbin:/usr/sbin:/tools/bin \
    /tools/bin/bash --login

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.

silverback011 08-24-2004 05:52 PM

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.

Zed42 04-18-2005 06:56 AM

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)

cornjchob 05-03-2005 03:54 AM

JStroud, thanks for:
Quote:

rm /usr/bin/perl ln -s /usr/local/bin/perl5.8.5 /usr/bin/perl
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 ;-)

jimmn1 11-12-2005 10:11 AM

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 05:28 AM.