Hello
I am having a problem with understanding what is going wrong with installing perl modules and then trying to install rpm packages that rely on that module. When I download a perl module from CPAN and install it using the standard "perl Makefile.pl; make; make test; make install", the module makes and installs with no errors. When I then try to install an rpm package, i.e. perl.MLDBM-2.01.1.2.fc4.rf.noarch from dries repository, the rpm command fails with:
Error: Failed Dependencies:
Perl(FreezeThaw) is needed by perl.MLDBM-2.01.1.2.fc4.rf.noarch
The files from this perl module are installed in the /usr/lib64/perl5/5.8.6/x86_64-linux-thread-multi/auto/Storage directory. Do I need to make a link from this location to some other location so the modules can be found? Is there a configuration file to add this directory structure to so that rpm can find the modules? Am I even asking the right questions here? 8-/
Thanks in advance for any pointers!
--Jay Curtis
New to x86_64 architecture
On Thu, 20 Oct 2005, Jay Curtis wrote:
Hello
I am having a problem with understanding what is going wrong with installing perl modules and then trying to install rpm packages that rely on that module. When I download a perl module from CPAN and install it using the standard "perl Makefile.pl; make; make test; make install", the module makes and installs with no errors. When I then try to install an rpm package, i.e. perl.MLDBM-2.01.1.2.fc4.rf.noarch from dries repository, the rpm command fails with:
[...]
Use RPM for Perl modules _or_ use CPAN: Don't mix both on an ad hoc basis. _Bad Things (TM)_ will happen otherwise.
Be very aware that the RPM system doesn't know about CPAN installs and, further, sometimes seems to install some modules components in unusual directories. This can result in wierd versioning problems for modules as CPAN installs something in one directory while RPM puts something in a different directory with a different version or as the RPM installed modules partially or completely overwrite CPAN installed modules.
On Thu, 2005-10-20 at 09:35 -0700, Jay Curtis wrote:
I am having a problem with understanding what is going wrong with installing perl modules and then trying to install rpm packages that rely on that module. When I download a perl module from CPAN and install it using the standard “perl Makefile.pl; make; make test; make install”, the module makes and installs with no errors. When I then try to install an rpm package, i.e. perl.MLDBM-2.01.1.2.fc4.rf.noarch from dries repository, the rpm command fails with:
Error: Failed Dependencies:
RPM dependencies are other RPMs. Therefore, they cannot be resolved with CPAN source installs. It is possible to override this with --nodeps but that is usually NOT a good idea.
The problem is avoided by installing perl modules from rpms.
From: fedora-list-bounces@redhat.com [mailto:fedora-list- bounces@redhat.com] On Behalf Of David Cary Hart Sent: Thursday, October 20, 2005 10:20 AM To: For users of Fedora Core releases Subject: Re: Installing perl modules on FC4 x86_64
On Thu, 2005-10-20 at 09:35 -0700, Jay Curtis wrote:
I am having a problem with understanding what is going wrong with installing perl modules and then trying to install rpm packages that rely on that module. When I download a perl module from CPAN and install it using the standard "perl Makefile.pl; make; make test; make install", the module makes and installs with no errors. When I then try to install an rpm package, i.e. perl.MLDBM-2.01.1.2.fc4.rf.noarch from dries repository, the rpm command fails with:
Error: Failed Dependencies:
RPM dependencies are other RPMs. Therefore, they cannot be resolved with CPAN source installs. It is possible to override this with --nodeps but that is usually NOT a good idea.
The problem is avoided by installing perl modules from rpms.
The problem with trying to install perl modules from RPM's is that a lot of the perl modules are not available as RPM's. Is there an easy way to create an RPM from the downloaded perl modules to make the RPM subsystem happy? Any pointers to an FAQ or HOWTO would be really appreciated.
Thanks for the replies and the pointers.
--Jay Curtis
On Thu, 2005-10-20 at 10:28 -0700, Jay Curtis wrote:
The problem with trying to install perl modules from RPM's is that a lot of the perl modules are not available as RPM's. Is there an easy way to create an RPM from the downloaded perl modules to make the RPM subsystem happy? Any pointers to an FAQ or HOWTO would be really appreciated.
If the RPM has a dependency then it is reasonably certain that the dependency is resolved with another RPM. YUM will sort this out automatically.
There are a number of perl modules in Fedora Extras. Check the source rpms for examples. You can often use an existing source rpm as a template but - again - this should not be necessary.
On Thursday 20 October 2005 01:44 pm, David Cary Hart wrote:
There are a number of perl modules in Fedora Extras. Check the source rpms for examples. You can often use an existing source rpm as a template but - again - this should not be necessary.
Dag also has many perl module RPMs in his repo
Hello together!
For anyone who is interested:
Wing Commander Privateer for Linux is available at:
http://www.priv.solsector.net/news.htm
for free...
Have Fun,
Claus
___________________________________________________________ Gesendet von Yahoo! Mail - Jetzt mit 1GB Speicher kostenlos - Hier anmelden: http://mail.yahoo.de
On Thu, 2005-10-20 at 13:20 -0400, David Cary Hart wrote:
The problem is avoided by installing perl modules from rpms.
Is there a guide on doing this? (My searches haven't found an answer, yet.) For instance, I tried to install the HTML validator from WDG. They have a FC4 RPM for it [1], so I tried that.
It also wants some perl modules: perl-Unicode-Map8 perl-Unicode-String perl(I18N::Charset)
I found that out when trying an RPM install of the validator. I thought I'd try:
yum localinstall /path/to/wdg-html-validator-1.6.2-1.i386.rpm
seeing as the docs say that YUM will try and retrieve dependencies from repos if it can. But it fails because the last PERL module isn't available.
In an effort to avoid lots of trouble, I've used YUM to install the first two from RPMs:
yum install perl-Unicode-Map8 perl-Unicode-String
Leaving me with the problem of getting perl(I18N::Charset) some other way before I can install the main program.
1:http://www.htmlhelp.com/tools/validator/packages/wdg-html-validator-1.6.2-1.i386.rpm, 2:http://mirror.optus.net/fedora/extras/4/i386/
RPM is all well and good until you strike this issue. Even if I do install the module in another way, the next RPM that insists on its presence is probably going to fail. Is there a simple way to inform RPM that it has been installed?
Tim wrote:
On Thu, 2005-10-20 at 13:20 -0400, David Cary Hart wrote:
The problem is avoided by installing perl modules from rpms.
Is there a guide on doing this? (My searches haven't found an answer, yet.) For instance, I tried to install the HTML validator from WDG. They have a FC4 RPM for it [1], so I tried that.
It also wants some perl modules: perl-Unicode-Map8 perl-Unicode-String perl(I18N::Charset)
I found that out when trying an RPM install of the validator. I thought I'd try:
yum localinstall /path/to/wdg-html-validator-1.6.2-1.i386.rpm
seeing as the docs say that YUM will try and retrieve dependencies from repos if it can. But it fails because the last PERL module isn't available.
In an effort to avoid lots of trouble, I've used YUM to install the first two from RPMs:
yum install perl-Unicode-Map8 perl-Unicode-String
Leaving me with the problem of getting perl(I18N::Charset) some other way before I can install the main program.
1:http://www.htmlhelp.com/tools/validator/packages/wdg-html-validator-1.6.2-1.i386.rpm, 2:http://mirror.optus.net/fedora/extras/4/i386/
RPM is all well and good until you strike this issue. Even if I do install the module in another way, the next RPM that insists on its presence is probably going to fail. Is there a simple way to inform RPM that it has been installed?
You need to make an RPM of the I18N::Charset distribution. One way of doing this is by using "cpanspec", which is on its way into Fedora Extras:
https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=168838
Do bear in mind though that autogenerated packages generated by the likes of cpanspec and checkinstall are unlikely to be of the same quality as a hand-crafted package made by an experienced packager.
Another point regarding I18N::Charset specifically is that it has a build dependency on IO::Capture::ErrorMessages, which is a deprecated module no longer included in the current IO-Capture distribution.
Paul.