Страница 1 из 1

Perl5.16 не находит модуль

Добавлено: 2013-04-03 12:58:35
Sindikat88
Камрады, приветствую. Существует такая проблема: после обновления Perl5.10 до версии 5.16 потерялись установленные модули. Почти все модули переустановил. Осталась проблема с модулем Net::SMTP .
Пытался его установить:

Код: Выделить всё

cpan[1]> install Net::SMTP
Reading '/root/.cpan/Metadata'
  Database was generated on Wed, 13 Mar 2013 22:29:04 GMT
Net::SMTP is up to date (2.31).
Пытался удалить:

Код: Выделить всё

CPAN Terminal> u Net::SMTP


This will uninstall the following modules:
    Net::SMTP

Note that if you installed them via a package manager, you probably
should use the same package manager to uninstall them

                                                                                                                                                            Are you sure you want to continue? [y/N]: y
Uninstalling 'Net::SMTP'
[ERROR] Could not get 'files' for 'Net::SMTP': Net::SMTP is not installed at /usr/local/lib/perl5/5.16.2/CPANPLUS/Module.pm line 1682.

Error uninstalling 'Net::SMTP'
Problem uninstalling one or more modules
*** You can view the complete error buffer by pressing 'p'***
Пробовал через Webmin:

Код: Выделить всё

Распаковка файла модуля

Выполнение gunzip -c /tmp/.webmin/libnet-1.22.tar.gz | tar xvf - ..
                                                                                                    
x libnet-1.22/
x libnet-1.22/Net/
x libnet-1.22/Net/POP3.pm
x libnet-1.22/Net/Netrc.pm
x libnet-1.22/Net/FTP/
x libnet-1.22/Net/FTP/L.pm
x libnet-1.22/Net/FTP/I.pm
x libnet-1.22/Net/FTP/dataconn.pm
x libnet-1.22/Net/FTP/A.pm
x libnet-1.22/Net/FTP/E.pm
x libnet-1.22/Net/Config.pm
x libnet-1.22/Net/Cmd.pm
x libnet-1.22/Net/FTP.pm
x libnet-1.22/Net/SMTP.pm
x libnet-1.22/Net/libnetFAQ.pod
x libnet-1.22/Net/Domain.pm
x libnet-1.22/Net/NNTP.pm
x libnet-1.22/Net/Time.pm
x libnet-1.22/t/
x libnet-1.22/t/hostname.t
x libnet-1.22/t/libnet_t.pl
x libnet-1.22/t/netrc.t
x libnet-1.22/t/ftp.t
x libnet-1.22/t/nntp.t
x libnet-1.22/t/config.t
x libnet-1.22/t/smtp.t
x libnet-1.22/t/require.t
x libnet-1.22/t/datasend.t
x libnet-1.22/Changes
x libnet-1.22/demos/
x libnet-1.22/demos/inetd
x libnet-1.22/demos/smtp.self
x libnet-1.22/demos/time
x libnet-1.22/demos/ftp
x libnet-1.22/demos/pop3
x libnet-1.22/demos/nntp.mirror
x libnet-1.22/demos/nntp
x libnet-1.22/MANIFEST
x libnet-1.22/Hostname.pm.eg
x libnet-1.22/Configure
x libnet-1.22/install-nomake
x libnet-1.22/Config.eg
x libnet-1.22/Makefile.PL
x libnet-1.22/README
x libnet-1.22/META.yml
x libnet-1.22/SIGNATURE

Сборка модуля

Выполнение /usr/bin/perl Makefile.PL  && make ..
                                                                                                    
Checking for Socket...ok
Checking for IO::Socket...ok
Checking if your kit is complete...
Looks good

Ah, I see you already have installed libnet before.

Do you want to modify/update your configuration (y|n) ? [no] no

This script will prompt you to enter hostnames that can be used as
defaults for some of the modules in the libnet distribution.

To ensure that you do not enter an invalid hostname, I can perform a
lookup on each hostname you enter. If your internet connection is via
a dialup line then you may not want me to perform these lookups, as
it will require you to be on-line.

Do you want me to perform hostname lookups (y|n) ? [yes]

The following questions all require a list of host names, separated
with spaces. If you do not have a host available for any of the
services, then enter a single space, followed by <CR>. To accept the
default, hit <CR>

Enter a list of available NNTP hosts : []
Enter a list of available SMTP hosts : []
Enter a list of available POP3 hosts : []
Enter a list of available SNPP hosts : []
Enter a list of available PH Hosts   : []
Enter a list of available TIME Hosts   : []
Enter a list of available DAYTIME Hosts   : []

Do you have a firewall/ftp proxy  between your machine and the internet 

If you use a SOCKS firewall answer no

(y|n) ? [no]

Normally when FTP needs a data connection the client tells the server
a port to connect to, and the server initiates a connection to the client.

Some setups, in particular firewall setups, can/do not work using this
protocol. In these situations the client must make the connection to the
server, this is called a passive transfer.

Should all FTP connections be passive (y|n) ? [yes]

What is your local internet domain name : []

If you specified some default hosts above, it is possible for me to
do some basic tests when you run `make test'

This will cause `make test' to be quite a bit slower and, if your
internet connection is via dialup, will require you to be on-line
unless the hosts are local.

Do you want me to run these tests (y|n) ? [yes]

To allow Net::FTP to be tested I will need a hostname. This host
should allow anonymous access and have a /pub directory

What host can I use : []

Writing libnet.cfg
Writing Makefile for Net
Writing MYMETA.yml and MYMETA.json
cp Net/POP3.pm blib/lib/Net/POP3.pm
cp Net/Config.pm blib/lib/Net/Config.pm
cp Net/Cmd.pm blib/lib/Net/Cmd.pm
cp Net/FTP.pm blib/lib/Net/FTP.pm
cp Net/FTP/A.pm blib/lib/Net/FTP/A.pm
cp Net/FTP/L.pm blib/lib/Net/FTP/L.pm
cp Net/Netrc.pm blib/lib/Net/Netrc.pm
cp Net/FTP/I.pm blib/lib/Net/FTP/I.pm
cp Net/SMTP.pm blib/lib/Net/SMTP.pm
cp Net/FTP/dataconn.pm blib/lib/Net/FTP/dataconn.pm
cp Net/libnetFAQ.pod blib/lib/Net/libnetFAQ.pod
cp Net/Domain.pm blib/lib/Net/Domain.pm
cp Net/FTP/E.pm blib/lib/Net/FTP/E.pm
cp libnet.cfg blib/lib/Net/libnet.cfg
cp Net/NNTP.pm blib/lib/Net/NNTP.pm
cp Net/Time.pm blib/lib/Net/Time.pm
Manifying blib/man3/Net::POP3.3
Manifying blib/man3/Net::SMTP.3
Manifying blib/man3/Net::Config.3
Manifying blib/man3/Net::libnetFAQ.3
Manifying blib/man3/Net::Domain.3
Manifying blib/man3/Net::Cmd.3
Manifying blib/man3/Net::FTP.3
Manifying blib/man3/Net::Netrc.3
Manifying blib/man3/Net::NNTP.3
Manifying blib/man3/Net::Time.3

Проверка модуля

Выполнение make test ..
                                                                                                    
PERL_DL_NONLAZY=1 /usr/local/bin/perl "-MExtUtils::Command::MM" "-e" "test_harness(0, 'blib/lib', 'b
lib/arch')" t/*.t
t/config.t .... ok
t/datasend.t .. ok
t/ftp.t ....... skipped: (no reason given)
t/hostname.t .. ok
t/netrc.t ..... ok
t/nntp.t ...... skipped: (no reason given)
t/require.t ... ok
t/smtp.t ...... skipped: (no reason given)
All tests successful.
Files=8, Tests=95,  0 wallclock secs ( 0.04 usr  0.02 sys +  0.27 cusr  0.05 csys =  0.38 CPU)
Result: PASS

Установка модуля

Выполнение make install ..
                                                                                                    
Manifying blib/man3/Net::POP3.3
FreeBSD: Registering installation in the package database
Cannot create directory /var/db/pkg/bsdpan-libnet-1.22: File exists
Appending installation info to /usr/local/lib/perl5/5.16.2/mach/perllocal.pod

Сборка, проверка и установка libnet успешно завершена.
Немного о себе:

Код: Выделить всё

FreeBSD statistiks 8.1-RELEASE FreeBSD 8.1-RELEASE #0: Mon Jul 19 02:36:49 UTC 2010     root@mason.cse.buffalo.edu:/usr/obj/usr/src/sys/GENERIC  amd64

Код: Выделить всё

statistiks# perl -v

This is perl 5, version 16, subversion 2 (v5.16.2) built for amd64-freebsd-thread-multi
Подскажите, как переустановить данный модуль.

Re: Perl5.16 не находит модуль

Добавлено: 2013-04-03 15:18:43
Sadok123

Код: Выделить всё

cd /usr/ports/mail/p5-Net-SMTP-SSL && make install clean
он за собой подтянет, Net::SMTP у него в зависимостях

Re: Perl5.16 не находит модуль

Добавлено: 2013-04-03 15:58:17
Sindikat88
Sadok123 писал(а):

Код: Выделить всё

cd /usr/ports/mail/p5-Net-SMTP-SSL && make install clean
он за собой подтянет, Net::SMTP у него в зависимостях
Фокус не удался:

Код: Выделить всё

statistiks# cd /usr/ports/mail/p5-Net-SMTP-SSL && make install
===>  Installing for p5-Net-SMTP-SSL-1.01_1
===>   p5-Net-SMTP-SSL-1.01_1 depends on file: /usr/local/bin/perl5.16.2 - found
===>   Generating temporary packing list
===>  Checking if mail/p5-Net-SMTP-SSL already installed
Installing /usr/local/lib/perl5/site_perl/5.16.2/Net/SMTP/SSL.pm
Installing /usr/local/lib/perl5/5.16.2/man/man3/Net::SMTP::SSL.3
===>   Compressing manual pages for p5-Net-SMTP-SSL-1.01_1
===>   Registering installation for p5-Net-SMTP-SSL-1.01_1
Net::SMTP в модулях так и не появился

Re: Perl5.16 не находит модуль

Добавлено: 2013-04-03 16:01:59
Charlz_Klug_
Cpan-ом вроде как некошерно ставить. Ставьте через порты.

Re: Perl5.16 не находит модуль

Добавлено: 2013-04-03 16:06:51
Sadok123
Sindikat88 писал(а):[quote="Sadok123"
Net::SMTP в модулях так и не появился
что говорит

Код: Выделить всё

perl -MNet::SMTP -e 'print "555555\n"'
?

Re: Perl5.16 не находит модуль

Добавлено: 2013-04-03 17:43:55
Sindikat88
Sadok123 писал(а):
Sindikat88 писал(а):[quote="Sadok123"
Net::SMTP в модулях так и не появился
что говорит

Код: Выделить всё

perl -MNet::SMTP -e 'print "555555\n"'
?

Код: Выделить всё

statistiks# perl -MNet::SMTP -e 'print "555555\n"'
555555
statistiks# 

Re: Perl5.16 не находит модуль

Добавлено: 2013-04-03 18:03:39
Charlz_Klug_
Sindikat88 писал(а):

Код: Выделить всё

statistiks# perl -MNet::SMTP -e 'print "555555\n"'
555555
statistiks# 
Поздравляю! У вас всё работает.

Re: Perl5.16 не находит модуль

Добавлено: 2013-04-03 20:51:07
Sadok123
я CPAN предпочитаю не связываться. в крайнем случае лучше руками собрать. у меня модуль валяется в /usr/local/lib/perl5/5.16.2/Net . похоже, идет в штатной поставке ибо pkg_info так же не обнаруживается.

Re: Perl5.16 не находит модуль

Добавлено: 2013-04-04 10:48:27
Sindikat88
Оказывается Net::SMTP является подмодулем Net::Cmd.
Но проблема остается. Perl'овские скрипты не хотят отправлять почту. Но я думаю, что это проблема уже OTRS