Can't install perl quote modules
Donald Allen
donaldcallen at gmail.com
Tue Aug 9 09:28:51 EDT 2011
On Mon, Aug 8, 2011 at 10:27 PM, John Ralls <jralls at ceridwen.us> wrote:
>
> On Aug 8, 2011, at 3:38 PM, Donald Allen wrote:
>
> > On my usual Slackware (13.37, 64-bit) system, I have 2.4.7 installed,
> which
> > I did by downloading the slackbuild from slackbuilds.org, changing the
> > version in the gnucash.Slackbuild script to 2.4.7, and downloading the
> > source tarball from gnucash.org. It built normally, producing a
> slackware
> > package, which I then installed. It works fine, except I cannot get the
> perl
> > online quote-fetching modules to install properly. Here's what I'm
> seeing:
> >
> > CPAN.pm: Going to build E/EC/ECOCODE/Finance-Quote-1.17.tar.gz
> >
> > Warning: Prerequisite 'HTML::TreeBuilder => 0' for
> > 'ECOCODE/Finance-Quote-1.17.tar.gz' failed when processing
> > 'JFEARN/HTML-Tree-4.2.tar.gz' with 'make_test => NO'. Continuing, but
> > chances to succeed are limited.
> > Warning: Prerequisite 'Crypt::SSLeay => 0' for
> > 'ECOCODE/Finance-Quote-1.17.tar.gz' failed when processing
> > 'NANIS/Crypt-SSLeay-0.58.tar.gz' with 'make => NO'. Continuing, but
> chances
> > to succeed are limited.
> > Warning: Prerequisite 'HTTP::Request::Common => 0' for
> > 'ECOCODE/Finance-Quote-1.17.tar.gz' failed when processing
> > 'GAAS/HTTP-Message-6.02.tar.gz' with 'make => NO'. Continuing, but
> chances
> > to succeed are limited.
> > Warning: Prerequisite 'LWP::UserAgent => 0' for
> > 'ECOCODE/Finance-Quote-1.17.tar.gz' failed when processing
> > 'GAAS/libwww-perl-6.02.tar.gz' with 'make => NO'. Continuing, but chances
> to
> > succeed are limited.
> > Warning: Prerequisite 'HTML::TableExtract => 0' for
> > 'ECOCODE/Finance-Quote-1.17.tar.gz' failed when processing
> > 'MSISK/HTML-TableExtract-2.10.tar.gz' with 'make => NO'. Continuing, but
> > chances to succeed are limited.
> > Can't exec "./make": No such file or directory at
> > /usr/lib64/perl5/5.12.3/CPAN/Distribution.pm line 2026.
> > ECOCODE/Finance-Quote-1.17.tar.gz
> > ./make -- NOT OK
> > Running make test
> > Can't test without successful make
> > Running make install
> > Make had returned bad status, install seems impossible
> > root at sergei:/usr/bin$
> >
> > This was the end of an attempt to run qnc-fq-update. There were a fair
> > number of complaints prior to this about make failures. I assure you that
> > make is installed and works fine (I don't know perl -- perhaps that's not
> > the system make it's complaining about, but maybe some perl thing also
> named
> > make? I'm guessing here, obviously.). Any ideas?
>
> Try
> $ cpan -i Finance::Quote
>
> You might have to do it under sudo.
> If that doesn't work, something's borked with your system and you'll have
> to ask Slackware for help.
>
Well, I fixed this. I will tell you what I know, but I can't explain quite
all of this. I have multiple systems with Slackware 13.37 installed. The
installations are identical (or at least they are intended to be; I've been
doing this for a long time and understand the difference between theory and
practice). gnc-fq-update failed on all but one machine. So, of course, the
thing that was most interesting was what was different about the one that
succeeded? Trouble was, I don't know Perl (as I mentioned in the original
post), don't know anything about cpan, etc.
So I did some googling and found that lots of people have experienced this
same symptom trying to install perl modules with cpan (the symptom being
"Can't test without successful make"). After reading through a lot of
messages exchanged between people who didn't know what they were talking
about, I finally found the nugget I was looking for. One guy said to go into
/usr/lib/perl/<perl version>/CPAN/Config.pm with an editor and search for
'make'. He said that you would find something of the form
'make' => q[./make],
and suggested changing it to
'make' => q[/usr/bin/make],
(In my case, that file is in /usr/lib64/perl5/5.12.3/CPAN)
So I looked at the systems that failed, and they had the relative pathname
to make and every other executable cpan cares about. The machine on which
gnc-fq-update worked had absolute pathnames. Same Slackware, same perl
package/version. How the one machine got to be right when all its friends
were wrong is a mystery to me. One difference was that the system that
worked had gnucash 2.4.5 installed from the standard slackbuild package; I
hadn't yet upgraded it with my 2.4.7 package. How that would explain this is
beyond my understanding (I checked, and the gnc-fq-update scripts in 2.4.5
and 2.4.7 are identical; I *may* not have run gnucash prior to running
gnc-fq-update on the machine that worked; I don't use the machine very
often). Furthermore, if you just start cpan and enter the command 'o conf
init' and allow it to set things automatically, you get a new Config.pm with
the relative pathnames. So I'm stumped on this one. But in any case, going
through Config.pm and changing the relative pathnames to absolute pathnames
is necessary but not sufficient. You also have to rm -rf /root/..cpan before
attempting to run gnc-fq-update after fixing the system-wide config file. I
divined this by reading somewhere that there's a per-user config file and so
I just blew away the /root/.conf directory after I found that fixing the
system-wide file didn't work by itself. Once I did that, things got a lot
better and the needed perl modules are installed.
I'll report this to the perl/cpan people and to the slackware group.
/Don
> Regards,
> John Ralls
More information about the gnucash-user
mailing list