Jump to content

Установка модулей perl (из CPAN и вручную)


Recommended Posts

Entware (не 3х)

Не получается установить необходимые модули perl как с помощью CPAN, так и в ручную.

Попытка установить через CPAN всегда заканчивается переполнением памяти :

# perl -MCPAN -e shell
Terminal does not support AddHistory.
Can't exec "pwd": No such file or directory at /opt/lib/perl5/5.24/Cwd.pm line 209.

cpan shell -- CPAN exploration and modules installation (v2.1101)
Enter 'h' for help.

cpan[1]> install CPAN
Fetching with HTTP::Tiny:
http://www.cpan.org/authors/01mailrc.txt.gz
Reading '/opt/root/.cpan/sources/authors/01mailrc.txt.gz'
............................................................................DONE
Fetching with HTTP::Tiny:
http://www.cpan.org/modules/02packages.details.txt.gz
Reading '/opt/root/.cpan/sources/modules/02packages.details.txt.gz'
  Database was generated on Fri, 15 Dec 2017 11:53:55 GMT
.............
  New CPAN.pm version (v2.16) available.
  [Currently running version is v2.1101]
  You might want to try
    install CPAN
    reload cpan
  to both upgrade CPAN.pm and run the new version without leaving
  the current session.


...................................................Killed

Ручная установка тоже всегда заканчивается каким-нибудь ошибками:

~/CPAN-DistnameInfo-0.12 # perl Makefile.PL && make && make install
Checking if your kit is complete...
Looks good
Generating a Unix-style Makefile
Writing Makefile for CPAN::DistnameInfo
Writing MYMETA.yml and MYMETA.json
cp lib/CPAN/DistnameInfo.pm blib/lib/CPAN/DistnameInfo.pm
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
ERROR: Couldn't chdir to '': No such file or directory
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
 at -e line 1.
make: *** [Makefile:682: pure_site_install] Error 2

Установка из CPAN вообще возможна? Или придётся довольствоваться тем что есть среди пакетов perlbase-*?

 

Edited by slava.trifonov
Link to comment
Share on other sites

в `/opt/lib/perl5/5.24/Cwd.pm` найти `my $pwd_cmd;` (строка 165 (?)) и подправить на `'/opt/bin/pwd'` (строка 167(?)):

...
my $pwd_cmd;
if($^O ne 'MSWin32') {
    foreach my $try ('/opt/bin/pwd',
		     '/usr/bin/pwd',
		     '/QOpenSys/bin/pwd', # OS/400 PASE.
		    ) {
	if( -x $try ) {
	    $pwd_cmd = $try;
	    last;
	}
    }
}
...

+

Скрытый текст

примерно, так :)


~ # perl -MCPAN -e shell
Terminal does not support AddHistory.

There seems to be running another CPAN process (pid 2788).  Contacting...
Other job not responding. Shall I overwrite the lockfile '/opt/root/.cpan/.lock'? (Y/n) [y] 

cpan shell -- CPAN exploration and modules installation (v2.18)
Enter 'h' for help.

cpan[1]> install ExtUtils::PkgConfig
Reading '/opt/root/.cpan/Metadata'
  Database was generated on Fri, 15 Dec 2017 12:41:02 GMT
Running install for module 'ExtUtils::PkgConfig'
Fetching with HTTP::Tiny:
http://www.cpan.org/authors/id/X/XA/XAOC/ExtUtils-PkgConfig-1.16.tar.gz
Fetching with HTTP::Tiny:
http://www.cpan.org/authors/id/X/XA/XAOC/CHECKSUMS
Checksum for /opt/root/.cpan/sources/authors/id/X/XA/XAOC/ExtUtils-PkgConfig-1.16.tar.gz ok
Scanning cache /opt/root/.cpan/build for sizes
............................................................................DONE
'YAML' not installed, will not store persistent state
Configuring X/XA/XAOC/ExtUtils-PkgConfig-1.16.tar.gz with Makefile.PL
Checking if your kit is complete...
Looks good
Generating a Unix-style Makefile
Writing Makefile for ExtUtils::PkgConfig
Writing MYMETA.yml and MYMETA.json
  XAOC/ExtUtils-PkgConfig-1.16.tar.gz
  /opt/bin/perl5.26.1 Makefile.PL -- OK
Running make for X/XA/XAOC/ExtUtils-PkgConfig-1.16.tar.gz
cp lib/ExtUtils/PkgConfig.pm blib/lib/ExtUtils/PkgConfig.pm
  XAOC/ExtUtils-PkgConfig-1.16.tar.gz
  /opt/bin/make -- OK
Running make test
PERL_DL_NONLAZY=1 "/opt/bin/perl5.26.1" "-MExtUtils::Command::MM" "-MTest::Harness" "-e" "undef *Test::Harness::Switches; test_harness(0, 'blib/lib', 'blib/arch')" t/*.t
t/1.t .. 1/10 # Testing against pkg-config 0.29
t/1.t .. ok     
t/2.t .. ok     
t/3.t .. ok   
t/4.t .. ok     
All tests successful.
Files=4, Tests=51,  7 wallclock secs ( 0.55 usr  0.11 sys +  5.45 cusr  1.19 csys =  7.30 CPU)
Result: PASS
  XAOC/ExtUtils-PkgConfig-1.16.tar.gz
  /opt/bin/make test -- OK
Running make install
Installing /opt/lib/perl5/5.26/ExtUtils/PkgConfig.pm
Appending installation info to /opt/lib/perl5/5.26/perllocal.pod
  XAOC/ExtUtils-PkgConfig-1.16.tar.gz
  /opt/bin/make install  -- OK

cpan[2]> bye
Terminal does not support GetHistory.
Lockfile removed.
~ #

 

на версию внимание не обращайте (тестим новинки)

Edited by TheBB
+
Link to comment
Share on other sites

подключил swap и некоторые пакеты из cpan начали устанавливаться, а не которые нет

например:

cpan[1]> install ExtUtils::PkgConfig
Reading '/opt/root/.cpan/Metadata'
  Database was generated on Fri, 15 Dec 2017 11:53:55 GMT
Running install for module 'ExtUtils::PkgConfig'
Checksum for /opt/root/.cpan/sources/authors/id/X/XA/XAOC/ExtUtils-PkgConfig-1.16.tar.gz ok
Scanning cache /opt/root/.cpan/build for sizes
............................................................................DONE
Argument "1.4417_001" isn't numeric in numeric ge (>=) at /opt/lib/perl5/5.24/CPAN/Distribution.pm line 638.
Configuring X/XA/XAOC/ExtUtils-PkgConfig-1.16.tar.gz with Makefile.PL
***
*** ExtUtils::PkgConfig requires the pkg-config utility, but it doesn't
*** seem to be in your PATH.  Is it correctly installed?
***  PATH=/opt/usr/sbin:/opt/sbin:/opt/bin:/usr/local/sbin:/usr/sbin:/usr/bin:/sbin:/bin
***
No 'Makefile' created  XAOC/ExtUtils-PkgConfig-1.16.tar.gz
  /opt/bin/perl5.24.1 Makefile.PL -- NOT OK
Failed during this command:
 XAOC/ExtUtils-PkgConfig-1.16.tar.gz          : writemakefile NO -- No 'Makefile' created

откуда берётся этот pkg-config?

Link to comment
Share on other sites

  • 1 year later...

Изменилось ли что, либо после объединения репозиториев в entware?

Скрытый текст
~ # perl -MCPAN -e shell
Terminal does not support AddHistory.


 
There seems to be running another CPAN process (pid 8234). Contacting...
Other job not responding. Shall I overwrite the lockfile '/opt/root/.cpan/.lock'? (Y/n) [y]


 
cpan shell -- CPAN exploration and modules installation (v2.20)
Enter 'h' for help.


 
cpan[1]> install HTTP::Date
Reading '/opt/root/.cpan/sources/authors/01mailrc.txt.gz'
............................................................................DONE
Reading '/opt/root/.cpan/sources/modules/02packages.details.txt.gz'
Database was generated on Thu, 31 Oct 2019 17:55:20 GMT
HTTP::Date not available
.............
New CPAN.pm version (v2.27) available.
[Currently running version is v2.20]
You might want to try
install CPAN
reload cpan
to both upgrade CPAN.pm and run the new version without leaving
the current session.


 


 
.............. <- это все, или закрытие cpan

 

Link to comment
Share on other sites

В ‎01‎.‎11‎.‎2019 в 11:51, TheBB сказал:

Всё, как в wiki

Там не сказано сколько ждать, например, после install Test2::Util или install HTTP::Date, час-два, сутки, двое, неделю. kn-1910 ночи не хватает, а после у меня большие сомнения, тем более новых символов в терминал не падает.

Edited by Дмитрий
Link to comment
Share on other sites

8 минут назад, zyxmon сказал:

Минуты, иногда десятки минут.

Понятно, значит это не здоровая ситуация.

Еще актуально?:

В ‎15‎.‎12‎.‎2017 в 15:58, TheBB сказал:

в `/opt/lib/perl5/5.24/Cwd.pm` найти `my $pwd_cmd;` (строка 165 (?)) и подправить на `'/opt/bin/pwd'` (строка 167(?)):+

 

Edited by Дмитрий
Link to comment
Share on other sites

11 минуту назад, Дмитрий сказал:

Еще актуально?:

Нет, патч уже включен при сборке пакета.

7 минут назад, Дмитрий сказал:

А можно запустить установку без терминала с выводом лога в файл, чтоб не держать ssh сессию?

Лучше включить swap на 1GB, при сборке жрёт много. Зачем лог? screen, tmux...

Link to comment
Share on other sites

Беру KN-1910, swap на гиг, чистую opkg, устанавливаю tmux и по мануалу:

Скрытый текст

~ # opkg update
~ # opkg install gcc
~ # opkg install busybox ldd make gawk sed
~ # opkg install patch diffutils coreutils-install
~ # wget -qO- http://bin.entware.net/mipselsf-k3.4/include/include.tar.gz | tar xvz -C /opt/include
~ # source /opt/bin/gcc_env.sh

~ # opkg list | grep perlbase- | sed 's/ - .*//' | xargs opkg install
~ # opkg install perl-dev
~ # opkg install perl-test-warn
~ # opkg install perl-test-harness --force-overwrite
~ # opkg install make
~ # cd /opt/home/CPAN-DistnameInfo-0.12
/opt/home/CPAN-DistnameInfo-0.12 # perl Makefile.PL
Checking if your kit is complete...
Looks good
Generating a Unix-style Makefile
Writing Makefile for CPAN::DistnameInfo
Writing MYMETA.yml and MYMETA.json
/opt/home/CPAN-DistnameInfo-0.12 #
/opt/home/CPAN-DistnameInfo-0.12 # make
cp lib/CPAN/DistnameInfo.pm blib/lib/CPAN/DistnameInfo.pm
/opt/home/CPAN-DistnameInfo-0.12 # make install
Installing /opt/lib/perl5/5.28/CPAN/DistnameInfo.pm
Appending installation info to /opt/lib/perl5/5.28/perllocal.pod
/opt/home/CPAN-DistnameInfo-0.12 #

Ни одна из  install Test2::Util and install HTTP::Date
 не может быть выполнена. Либо сбрасывается роутер, либо сообщения об ошибках и роутер продолжает быть повешенным, но ждать смысла не вижу, тем более проходит часов 6-8. swap больше чем 240 мб занят не был на протяжении всей задачи. Например:

Скрытый текст

BusyBox v1.31.0 () built-in shell (ash)

~ # perl -MCPAN -e shell
Terminal does not support AddHistory.

There seems to be running another CPAN process (pid 11534).  Contacting...
Other job not responding. Shall I overwrite the lockfile '/opt/root/.cpan/.lock'
? (Y/n) [y] y

cpan shell -- CPAN exploration and modules installation (v2.20)
Enter 'h' for help.

cpan[1]> install HTTP::Date
Reading '/opt/root/.cpan/sources/authors/01mailrc.txt.gz'
............................................................................DONE
Reading '/opt/root/.cpan/sources/modules/02packages.details.txt.gz'
  Database was generated on Mon, 04 Nov 2019 08:17:03 GMT
  HTTP::Date not available
.............
  New CPAN.pm version (v2.27) available.
  [Currently running version is v2.20]
  You might want to try
    install CPAN
    reload cpan
  to both upgrade CPAN.pm and run the new version without leaving
  the current session.


...............................................................DONE
Fetching with HTTP::Tiny:
http://www.cpan.org/modules/03modlist.data.gz
Reading '/opt/root/.cpan/sources/modules/03modlist.data.gz'
DONE
Writing /opt/root/.cpan/Metadata
Running install for module 'HTTP::Date'
Fetching with HTTP::Tiny:
http://www.cpan.org/authors/id/G/GA/GAAS/HTTP-Date-6.02.tar.gz
Fetching with HTTP::Tiny:
http://www.cpan.org/authors/id/G/GA/GAAS/CHECKSUMS
Checksum for /opt/root/.cpan/sources/authors/id/G/GA/GAAS/HTTP-Date-6.02.tar.gz
ok
Scanning cache /opt/root/.cpan/build for sizes
DONE
'YAML' not installed, will not store persistent state
Configuring G/GA/GAAS/HTTP-Date-6.02.tar.gz with Makefile.PL
Checking if your kit is complete...
Looks good
Generating a Unix-style Makefile
Writing Makefile for HTTP::Date
Writing MYMETA.yml and MYMETA.json
  GAAS/HTTP-Date-6.02.tar.gz
  /opt/bin/perl5.28.1 Makefile.PL -- OK
Running make for G/GA/GAAS/HTTP-Date-6.02.tar.gz
---- Unsatisfied dependencies detected during ----
----        GAAS/HTTP-Date-6.02.tar.gz        ----
    Time::Zone [requires,optional]
cp lib/HTTP/Date.pm blib/lib/HTTP/Date.pm
  GAAS/HTTP-Date-6.02.tar.gz
  /opt/bin/make -- OK
Running make test
PERL_DL_NONLAZY=1 "/opt/bin/perl5.28.1" "-MExtUtils::Command::MM" "-MTest::Harne
ss" "-e" "undef *Test::Harness::Switches; test_harness(0, 'blib/lib', 'blib/arch
')" t/*.t
t/date.t .. ok
All tests successful.
Files=1, Tests=136,  4 wallclock secs ( 0.63 usr  0.04 sys +  0.49 cusr  0.15 cs
ys =  1.31 CPU)
Result: PASS
  GAAS/HTTP-Date-6.02.tar.gz
  /opt/bin/make test -- OK
Running make install
Installing /opt/lib/perl5/5.28/HTTP/Date.pm
Appending installation info to /opt/lib/perl5/5.28/perllocal.pod
  GAAS/HTTP-Date-6.02.tar.gz
  /opt/bin/make install  -- OK
Running install for module 'Time::Zone'
Fetching with HTTP::Tiny:
http://www.cpan.org/authors/id/G/GB/GBARR/TimeDate-2.30.tar.gz
Fetching with HTTP::Tiny:
http://www.cpan.org/authors/id/G/GB/GBARR/CHECKSUMS
Checksum for /opt/root/.cpan/sources/authors/id/G/GB/GBARR/TimeDate-2.30.tar.gz
ok
Configuring G/GB/GBARR/TimeDate-2.30.tar.gz with Makefile.PL
Checking if your kit is complete...
Looks good
Generating a Unix-style Makefile
Writing Makefile for Date::Parse
Writing MYMETA.yml and MYMETA.json
  GBARR/TimeDate-2.30.tar.gz
  /opt/bin/perl5.28.1 Makefile.PL -- OK
Running make for G/GB/GBARR/TimeDate-2.30.tar.gz
cp lib/Date/Language/Greek.pm blib/lib/Date/Language/Greek.pm
cp lib/Date/Language/Austrian.pm blib/lib/Date/Language/Austrian.pm
cp lib/Date/Language/Gedeo.pm blib/lib/Date/Language/Gedeo.pm
cp lib/Date/Language/Amharic.pm blib/lib/Date/Language/Amharic.pm
cp lib/Date/Language/German.pm blib/lib/Date/Language/German.pm
cp lib/Date/Language/Turkish.pm blib/lib/Date/Language/Turkish.pm
cp lib/Date/Language/Finnish.pm blib/lib/Date/Language/Finnish.pm
cp lib/Date/Language/Danish.pm blib/lib/Date/Language/Danish.pm
cp lib/Date/Language/Chinese_GB.pm blib/lib/Date/Language/Chinese_GB.pm
cp lib/Date/Language/Tigrinya.pm blib/lib/Date/Language/Tigrinya.pm
cp lib/Date/Language/Somali.pm blib/lib/Date/Language/Somali.pm
cp lib/Date/Language/Italian.pm blib/lib/Date/Language/Italian.pm
cp lib/Date/Language/Russian.pm blib/lib/Date/Language/Russian.pm
cp lib/Date/Language/Afar.pm blib/lib/Date/Language/Afar.pm
cp lib/Date/Language/English.pm blib/lib/Date/Language/English.pm
cp lib/Date/Language/Sidama.pm blib/lib/Date/Language/Sidama.pm
cp lib/Date/Language/TigrinyaEthiopian.pm blib/lib/Date/Language/TigrinyaEthiopi
an.pm
cp lib/Date/Format.pm blib/lib/Date/Format.pm
cp lib/Date/Language/Spanish.pm blib/lib/Date/Language/Spanish.pm
cp lib/Date/Parse.pm blib/lib/Date/Parse.pm
cp lib/Date/Language/Icelandic.pm blib/lib/Date/Language/Icelandic.pm
cp lib/Date/Language/Russian_koi8r.pm blib/lib/Date/Language/Russian_koi8r.pm
cp lib/Date/Language/TigrinyaEritrean.pm blib/lib/Date/Language/TigrinyaEritrean
.pm
cp lib/Date/Language.pm blib/lib/Date/Language.pm
cp lib/Date/Language/Dutch.pm blib/lib/Date/Language/Dutch.pm
cp lib/Date/Language/Oromo.pm blib/lib/Date/Language/Oromo.pm
cp lib/Date/Language/Romanian.pm blib/lib/Date/Language/Romanian.pm
cp lib/Date/Language/French.pm blib/lib/Date/Language/French.pm
cp lib/Date/Language/Hungarian.pm blib/lib/Date/Language/Hungarian.pm
cp lib/Date/Language/Norwegian.pm blib/lib/Date/Language/Norwegian.pm
cp lib/Date/Language/Russian_cp1251.pm blib/lib/Date/Language/Russian_cp1251.pm
cp lib/Date/Language/Bulgarian.pm blib/lib/Date/Language/Bulgarian.pm
cp lib/Date/Language/Brazilian.pm blib/lib/Date/Language/Brazilian.pm
cp lib/Date/Language/Swedish.pm blib/lib/Date/Language/Swedish.pm
cp lib/Date/Language/Chinese.pm blib/lib/Date/Language/Chinese.pm
cp lib/Time/Zone.pm blib/lib/Time/Zone.pm
cp lib/Date/Language/Czech.pm blib/lib/Date/Language/Czech.pm
  GBARR/TimeDate-2.30.tar.gz
  /opt/bin/make -- OK
Running make test
PERL_DL_NONLAZY=1 "/opt/bin/perl5.28.1" "-MExtUtils::Command::MM" "-MTest::Harne
ss" "-e" "undef *Test::Harness::Switches; test_harness(0, 'blib/lib', 'blib/arch
')" t/*.t
t/cpanrt.t ... ok
t/date.t ..... Redundant argument in printf at t/date.t line 180.
Redundant argument in printf at t/date.t line 180.
Redundant argument in printf at t/date.t line 180.
Redundant argument in printf at t/date.t line 180.
Redundant argument in printf at t/date.t line 180.
Redundant argument in printf at t/date.t line 180.
Redundant argument in printf at t/date.t line 180.
Redundant argument in printf at t/date.t line 180.
Redundant argument in printf at t/date.t line 180.
Redundant argument in printf at t/date.t line 180.
Redundant argument in printf at t/date.t line 180.
Redundant argument in printf at t/date.t line 180.
Redundant argument in printf at t/date.t line 180.
Redundant argument in printf at t/date.t line 180.
Redundant argument in printf at t/date.t line 180.
Redundant argument in printf at t/date.t line 180.
Redundant argument in printf at t/date.t line 180.
Redundant argument in printf at t/date.t line 180.
Redundant argument in printf at t/date.t line 180.
Redundant argument in printf at t/date.t line 180.
Redundant argument in printf at t/date.t line 180.
Redundant argument in printf at t/date.t line 180.
Redundant argument in printf at t/date.t line 180.
Redundant argument in printf at t/date.t line 180.
Redundant argument in printf at t/date.t line 180.
Redundant argument in printf at t/date.t line 180.
Redundant argument in printf at t/date.t line 180.
Redundant argument in printf at t/date.t line 180.
Redundant argument in printf at t/date.t line 180.
Redundant argument in printf at t/date.t line 180.
Redundant argument in printf at t/date.t line 180.
Redundant argument in printf at t/date.t line 180.
Redundant argument in printf at t/date.t line 180.
Redundant argument in printf at t/date.t line 180.
Redundant argument in printf at t/date.t line 180.
Redundant argument in printf at t/date.t line 180.
Redundant argument in printf at t/date.t line 180.
Redundant argument in printf at t/date.t line 180.
Redundant argument in printf at t/date.t line 180.
Redundant argument in printf at t/date.t line 180.
Redundant argument in printf at t/date.t line 180.
Redundant argument in printf at t/date.t line 180.
Redundant argument in printf at t/date.t line 180.
Redundant argument in printf at t/date.t line 180.
Redundant argument in printf at t/date.t line 180.
Redundant argument in printf at t/date.t line 180.
Redundant argument in printf at t/date.t line 180.
Redundant argument in printf at t/date.t line 180.
Redundant argument in printf at t/date.t line 180.
Redundant argument in printf at t/date.t line 180.
Redundant argument in printf at t/date.t line 180.
Redundant argument in printf at t/date.t line 180.
Redundant argument in printf at t/date.t line 180.
Redundant argument in printf at t/date.t line 180.
Redundant argument in printf at t/date.t line 180.
Redundant argument in printf at t/date.t line 180.
Redundant argument in printf at t/date.t line 180.
Redundant argument in printf at t/date.t line 180.
Redundant argument in printf at t/date.t line 180.
Redundant argument in printf at t/date.t line 180.
Redundant argument in printf at t/date.t line 180.
Redundant argument in printf at t/date.t line 180.
Redundant argument in printf at t/date.t line 180.
Redundant argument in printf at t/date.t line 180.
Redundant argument in printf at t/date.t line 180.
Redundant argument in printf at t/date.t line 180.
Redundant argument in printf at t/date.t line 180.
Redundant argument in printf at t/date.t line 180.
Redundant argument in printf at t/date.t line 180.
Redundant argument in printf at t/date.t line 180.
Redundant argument in printf at t/date.t line 180.
Redundant argument in printf at t/date.t line 180.
Redundant argument in printf at t/date.t line 180.
Redundant argument in printf at t/date.t line 180.
Redundant argument in printf at t/date.t line 180.
Redundant argument in printf at t/date.t line 180.
Redundant argument in printf at t/date.t line 180.
Redundant argument in printf at t/date.t line 180.
Redundant argument in printf at t/date.t line 180.
Redundant argument in printf at t/date.t line 180.
Redundant argument in printf at t/date.t line 180.
Redundant argument in printf at t/date.t line 180.
Redundant argument in printf at t/date.t line 180.
Redundant argument in printf at t/date.t line 180.
Redundant argument in printf at t/date.t line 180.
Redundant argument in printf at t/date.t line 180.
Redundant argument in printf at t/date.t line 180.
Redundant argument in printf at t/date.t line 180.
Redundant argument in printf at t/date.t line 180.
Redundant argument in printf at t/date.t line 180.
Redundant argument in printf at t/date.t line 180.
Redundant argument in printf at t/date.t line 180.
Redundant argument in printf at t/date.t line 180.
Redundant argument in printf at t/date.t line 180.
Redundant argument in printf at t/date.t line 180.
Redundant argument in printf at t/date.t line 180.
Redundant argument in printf at t/date.t line 180.
Redundant argument in printf at t/date.t line 180.
Redundant argument in printf at t/date.t line 180.
Redundant argument in printf at t/date.t line 180.
Redundant argument in printf at t/date.t line 180.
Redundant argument in printf at t/date.t line 180.
Redundant argument in printf at t/date.t line 180.
Redundant argument in printf at t/date.t line 180.
Redundant argument in printf at t/date.t line 180.
Redundant argument in printf at t/date.t line 180.
Redundant argument in printf at t/date.t line 180.
Redundant argument in printf at t/date.t line 180.
t/date.t ..... 1/148 Redundant argument in printf at t/date.t line 180.
Redundant argument in printf at t/date.t line 180.
Redundant argument in printf at t/date.t line 180.
Redundant argument in printf at t/date.t line 180.
Redundant argument in printf at t/date.t line 180.
Redundant argument in printf at t/date.t line 180.
Redundant argument in printf at t/date.t line 180.
Redundant argument in printf at t/date.t line 180.
Redundant argument in printf at t/date.t line 180.
Redundant argument in printf at t/date.t line 180.
Redundant argument in printf at t/date.t line 180.
Redundant argument in printf at t/date.t line 180.
Redundant argument in printf at t/date.t line 180.
Redundant argument in printf at t/date.t line 180.
Redundant argument in printf at t/date.t line 180.
Redundant argument in printf at t/date.t line 180.
Redundant argument in printf at t/date.t line 180.
Redundant argument in printf at t/date.t line 180.
Redundant argument in printf at t/date.t line 180.
Redundant argument in printf at t/date.t line 180.
Redundant argument in printf at t/date.t line 180.
Redundant argument in printf at t/date.t line 180.
Redundant argument in printf at t/date.t line 180.
Redundant argument in printf at t/date.t line 180.
Redundant argument in printf at t/date.t line 180.
Redundant argument in printf at t/date.t line 180.
Redundant argument in printf at t/date.t line 180.
Redundant argument in printf at t/date.t line 180.
Redundant argument in printf at t/date.t line 180.
Redundant argument in printf at t/date.t line 180.
Redundant argument in printf at t/date.t line 180.
Redundant argument in printf at t/date.t line 180.
Redundant argument in printf at t/date.t line 180.
Redundant argument in printf at t/date.t line 180.
Redundant argument in printf at t/date.t line 180.
Redundant argument in printf at t/date.t line 180.
Redundant argument in printf at t/date.t line 180.
Redundant argument in printf at t/date.t line 180.
Redundant argument in printf at t/date.t line 180.
t/date.t ..... ok
t/format.t ... Can't locate Test2/Util.pm in @INC (you may need to install the T
est2::Util module) (@INC contains: /opt/root/.cpan/build/TimeDate-2.30-0/blib/li
b /opt/root/.cpan/build/TimeDate-2.30-0/blib/arch /opt/lib/perl5/5.28 .) at /opt
/lib/perl5/5.28/Test/Builder.pm line 17.
BEGIN failed--compilation aborted at /opt/lib/perl5/5.28/Test/Builder.pm line 17
.
Compilation failed in require at /opt/lib/perl5/5.28/Test/Builder/Module.pm line
 5.
BEGIN failed--compilation aborted at /opt/lib/perl5/5.28/Test/Builder/Module.pm
line 5.
Compilation failed in require at /opt/lib/perl5/5.28/Test/More.pm line 22.
BEGIN failed--compilation aborted at /opt/lib/perl5/5.28/Test/More.pm line 22.
Compilation failed in require at t/format.t line 1.
BEGIN failed--compilation aborted at t/format.t line 1.
t/format.t ... Dubious, test returned 2 (wstat 512, 0x200)
No subtests run
t/getdate.t .. ok
t/lang.t ..... ok

Test Summary Report
-------------------
t/format.t (Wstat: 512 Tests: 0 Failed: 0)
  Non-zero exit status: 2
  Parse errors: No plan found in TAP output
Files=5, Tests=306,  4 wallclock secs ( 0.79 usr  0.09 sys +  2.06 cusr  0.24 cs
ys =  3.18 CPU)
Result: FAIL
Failed 1/5 test programs. 0/306 subtests failed.
make: *** [Makefile:843: test_dynamic] Error 255
  GBARR/TimeDate-2.30.tar.gz
  /opt/bin/make test -- NOT OK
//hint// to see the cpan-testers results for installing this module, try:
  reports GBARR/TimeDate-2.30.tar.gz
Failed during this command:
 (optional) GBARR/TimeDate-2.30.tar.gz        : make_test NO


 

Замечено при первом вызове install:

Скрытый текст

Reading '/opt/root/.cpan/sources/authors/01mailrc.txt.gz'
Reading '/opt/root/.cpan/sources/modules/02packages.details.txt.gz'
Reading '/opt/root/.cpan/sources/modules/03modlist.data.gz'

Writing /opt/root/.cpan/Metadata

при повторном:

Скрытый текст

Reading  /opt/root/.cpan/Metadata

Нужно ли удалять Metadata при повторном запуске после неудачи?

Сам Metadata имеет объем 35 Мбайт, но запись или чтение занимает 2+ часа!

Может просто есть возможность добавить в репозиторий File::Flock::Tiny?

Edited by Дмитрий
Link to comment
Share on other sites

Через CPAN помню были проблемы (несколько лет назад). Раньше была инструкция ручной установки. 

Попробуйте повторить инструкцию из wiki https://github.com/Entware/Entware/wiki/Self-installation-of-perl-modules с другой директорией HOME для кэша. Ну и естественно следует использовать hdd, а не флешку.

Все раньше проверялось на НАСе с sata hdd.

Link to comment
Share on other sites

Ещё можно попробовать установку с https://metacpan.org/pod/distribution/App-cpanminus/bin/cpanm

upd: https://github.com/miyagawa/cpanminus/tree/devel/App-cpanminus

~ # cd /opt/bin
/opt/bin # 
/opt/bin # curl -L https://cpanmin.us/ -o cpanm
/opt/bin # sed -i -e 's,^#!.*perl,#!/opt/bin/perl,;s,"/etc/,"/opt/etc/,g' cpanm 
/opt/bin # chmod +x cpanm 
/opt/bin # cpanm -h
Скрытый текст

Usage: cpanm [options] Module [...]

Options:
  -v,--verbose              Turns on chatty output
  -q,--quiet                Turns off the most output
  --interactive             Turns on interactive configure (required for Task:: modules)
  -f,--force                force install
  -n,--notest               Do not run unit tests
  --test-only               Run tests only, do not install
  -S,--sudo                 sudo to run install commands
  --installdeps             Only install dependencies
  --showdeps                Only display direct dependencies
  --reinstall               Reinstall the distribution even if you already have the latest version installed
  --mirror                  Specify the base URL for the mirror (e.g. http://cpan.cpantesters.org/)
  --mirror-only             Use the mirror's index file instead of the CPAN Meta DB
  -M,--from                 Use only this mirror base URL and its index file
  --prompt                  Prompt when configure/build/test fails
  -l,--local-lib            Specify the install base to install modules
  -L,--local-lib-contained  Specify the install base to install all non-core modules
  --self-contained          Install all non-core modules, even if they're already installed.
  --auto-cleanup            Number of days that cpanm's work directories expire in. Defaults to 7

Commands:
  --self-upgrade            upgrades itself
  --info                    Displays distribution info on CPAN
  --look                    Opens the distribution with your SHELL
  -U,--uninstall            Uninstalls the modules (EXPERIMENTAL)
  -V,--version              Displays software version

Examples:

  cpanm Test::More                                          # install Test::More
  cpanm MIYAGAWA/Plack-0.99_05.tar.gz                       # full distribution path
  cpanm http://example.org/LDS/CGI.pm-3.20.tar.gz           # install from URL
  cpanm ~/dists/MyCompany-Enterprise-1.00.tar.gz            # install from a local file
  cpanm --interactive Task::Kensho                          # Configure interactively
  cpanm .                                                   # install from local directory
  cpanm --installdeps .                                     # install all the deps for the current directory
  cpanm -L extlib Plack                                     # install Plack and all non-core deps into extlib
  cpanm --mirror http://cpan.cpantesters.org/ DBI           # use the fast-syncing mirror
  cpanm -M https://cpan.metacpan.org App::perlbrew          # use only this secure mirror and its index

You can also specify the default options in PERL_CPANM_OPT environment variable in the shell rc:

  export PERL_CPANM_OPT="--prompt --reinstall -l ~/perl --mirror http://cpan.cpantesters.org"

Type `man cpanm` or `perldoc cpanm` for the more detailed explanation of the options.

 

/opt/bin # cd -
/opt/root
~ # 

 

Edited by TheBB
upd
Link to comment
Share on other sites

В 04.11.2019 в 22:31, Дмитрий сказал:

Может просто есть возможность добавить в репозиторий File::Flock::Tiny?

см. предыдуший пост

~ # cpanm File::Flock::Tiny
Скрытый текст

~ # cpanm File::Flock::Tiny
--> Working on File::Flock::Tiny
Fetching http://www.cpan.org/authors/id/Z/ZW/ZWON/File-Flock-Tiny-0.14.tar.gz ... OK
Configuring File-Flock-Tiny-0.14 ... OK
==> Found dependencies: File::Slurp, Path::Class
--> Working on File::Slurp
Fetching http://www.cpan.org/authors/id/C/CA/CAPOEIRAB/File-Slurp-9999.28.tar.gz ... OK
Configuring File-Slurp-9999.28 ... OK
Building and testing File-Slurp-9999.28 ... FAIL
! Installing File::Slurp failed. See /opt/root/.cpanm/work/1573125470.30350/build.log for details. Retry with --force to force install it.
--> Working on Path::Class
Fetching http://www.cpan.org/authors/id/K/KW/KWILLIAMS/Path-Class-0.37.tar.gz ... OK
Configuring Path-Class-0.37 ... OK
Building and testing Path-Class-0.37 ... OK
Successfully installed Path-Class-0.37
! Installing the dependencies failed: Module 'File::Slurp' is not installed
! Bailing out the installation for File-Flock-Tiny-0.14.
1 distribution installed
~ # 

 

можно глянуть лог

Скрытый текст

~ # cat .cpanm/build.log 
cpanm (App::cpanminus) 1.7044 on perl 5.028001 built for mipsel-linux-glibc
Work directory is /opt/root/.cpanm/work/1573125470.30350
You have make /opt/bin/make
You have /opt/bin/curl
You have /opt/bin/tar: tar (GNU tar) 1.32
Copyright (C) 2019 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <https://gnu.org/licenses/gpl.html>.
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.

Written by John Gilmore and Jay Fenlason.
You have /opt/bin/unzip
Searching File::Flock::Tiny () on cpanmetadb ...
--> Working on File::Flock::Tiny
Fetching http://www.cpan.org/authors/id/Z/ZW/ZWON/File-Flock-Tiny-0.14.tar.gz
-> OK
Unpacking File-Flock-Tiny-0.14.tar.gz
Entering File-Flock-Tiny-0.14
Checking configure dependencies from META.json
Checking if you have ExtUtils::MakeMaker 6.58 ... Yes (7.38)
Configuring File-Flock-Tiny-0.14
Running Makefile.PL
Warning: prerequisite File::Slurp 9999.14 not found.
Warning: prerequisite Path::Class 0 not found.
Checking if your kit is complete...
Looks good
Generating a Unix-style Makefile
Writing Makefile for File::Flock::Tiny
Writing MYMETA.yml and MYMETA.json
-> OK
Checking dependencies from MYMETA.json ...
Checking if you have File::Slurp 9999.14 ... No
Checking if you have Test::More 0.94 ... Yes (1.302168)
Checking if you have Path::Class 0 ... No
Checking if you have parent 0 ... Yes (0.237)
==> Found dependencies: File::Slurp, Path::Class
Searching File::Slurp (9999.14) on cpanmetadb ...
--> Working on File::Slurp
Fetching http://www.cpan.org/authors/id/C/CA/CAPOEIRAB/File-Slurp-9999.28.tar.gz
-> OK
Unpacking File-Slurp-9999.28.tar.gz
Entering File-Slurp-9999.28
Checking configure dependencies from META.json
Checking if you have ExtUtils::MakeMaker 6.58 ... Yes (7.38)
Configuring File-Slurp-9999.28
Running Makefile.PL
Checking if your kit is complete...
Looks good
Generating a Unix-style Makefile
Writing Makefile for File::Slurp
Writing MYMETA.yml and MYMETA.json
-> OK
Checking dependencies from MYMETA.json ...
Checking if you have Errno 0 ... Yes (1.29)
Checking if you have Fcntl 0 ... Yes (1.13)
Checking if you have Symbol 0 ... Yes (1.08)
Checking if you have strict 0 ... Yes (1.11)
Checking if you have warnings 0 ... Yes (1.42)
Checking if you have B 0 ... Yes (1.74)
Checking if you have POSIX 0 ... Yes (1.84)
Checking if you have File::Temp 0 ... Yes (0.2309)
Checking if you have Test::More 0 ... Yes (1.302168)
Checking if you have ExtUtils::MakeMaker 0 ... Yes (7.38)
Checking if you have Scalar::Util 1.00 ... Yes (1.53)
Checking if you have File::Basename 0 ... Yes (2.85)
Checking if you have Socket 0 ... Yes (2.029)
Checking if you have Carp 0 ... Yes (1.50)
Checking if you have File::Spec 3.01 ... Yes (3.75)
Checking if you have overload 0 ... Yes (1.30)
Checking if you have IO::Handle 0 ... Yes (1.39)
Checking if you have Exporter 5.57 ... Yes (5.73)
Building and testing File-Slurp-9999.28
cp lib/File/Slurp.pm blib/lib/File/Slurp.pm
Manifying 1 pod document
PERL_DL_NONLAZY=1 "/opt/bin/perl5.28.1" "-MExtUtils::Command::MM" "-MTest::Harness" "-e" "undef *Test::Harness::Switches; test_harness(0, 'blib/lib', 'blib/arch')" t/*.t
# 
# Versions for all modules listed in MYMETA.json (including optional ones):
# 
# === Configure Requires ===
# 
#     Module              Want Have
#     ------------------- ---- ----
#     ExtUtils::MakeMaker  any 7.38
# 
# === Build Requires ===
# 
#     Module              Want Have
#     ------------------- ---- ----
#     ExtUtils::MakeMaker  any 7.38
# 
# === Test Requires ===
# 
#     Module         Want     Have
#     -------------- ---- --------
#     Carp            any     1.50
#     Exporter       5.57     5.73
#     Fcntl           any     1.13
#     File::Basename  any     2.85
#     File::Spec     3.01     3.75
#     File::Temp      any   0.2309
#     IO::Handle      any     1.39
#     POSIX           any     1.84
#     Scalar::Util   1.00     1.53
#     Socket          any    2.029
#     Symbol          any     1.08
#     Test::More      any 1.302168
#     overload        any     1.30
#     strict          any     1.11
#     warnings        any     1.42
# 
# === Runtime Requires ===
# 
#     Module         Want   Have
#     -------------- ---- ------
#     B               any   1.74
#     Carp            any   1.50
#     Errno           any   1.29
#     Exporter       5.57   5.73
#     Fcntl           any   1.13
#     File::Basename  any   2.85
#     File::Spec     3.01   3.75
#     File::Temp      any 0.2309
#     IO::Handle      any   1.39
#     POSIX           any   1.84
#     strict          any   1.11
#     warnings        any   1.42
# 
t/00-report-prereqs.t ......... ok
t/01-error_edit_file.t ........ ok
t/01-error_edit_file_lines.t .. ok
t/01-error_prepend_file.t ..... ok
t/01-error_read_dir.t ......... ok
t/01-error_read_file.t ........ ok
t/01-error_write_file.t ....... ok
t/append_null.t ............... ok
t/binmode.t ................... ok
t/data_glob.t ................. ok
t/data_section.t .............. ok
t/edit_file.t ................. ok
t/error.t ..................... ok
t/file_object.t ............... ok
Can't load '/opt/lib/perl5/5.28/auto/Socket/Socket.so' for module Socket: /opt/lib/perl5/5.28/auto/Socket/Socket.so: undefined symbol: COP_FILE at /opt/lib/perl5/5.28/XSLoader.pm line 87.
 at /opt/lib/perl5/5.28/Socket.pm line 876.
Compilation failed in require at t/handle.t line 7.
BEGIN failed--compilation aborted at t/handle.t line 7.
t/handle.t .................... 
Dubious, test returned 2 (wstat 512, 0x200)
No subtests run 
t/inode.t ..................... ok
t/large.t ..................... ok
t/newline.t ................... ok
t/no_clobber.t ................ ok
t/original.t .................. ok
t/paragraph.t ................. ok
t/perms.t ..................... ok
t/prepend_file.t .............. ok
t/pseudo.t .................... ok
t/read_dir.t .................. ok
t/slurp.t ..................... ok
t/stdin.t ..................... ok
t/stringify.t ................. ok
t/tainted.t ................... skipped: Taint was always terrible. Just stop it already.
t/write_file_win32.t .......... ok

Test Summary Report
-------------------
t/handle.t                  (Wstat: 512 Tests: 0 Failed: 0)
  Non-zero exit status: 2
  Parse errors: No plan found in TAP output
Files=30, Tests=625, 54 wallclock secs ( 1.80 usr  0.22 sys + 50.62 cusr  2.32 csys = 54.96 CPU)
Result: FAIL
Failed 1/30 test programs. 0/625 subtests failed.
make: *** [Makefile:926: test_dynamic] Error 255
-> FAIL Installing File::Slurp failed. See /opt/root/.cpanm/work/1573125470.30350/build.log for details. Retry with --force to force install it.
Searching Path::Class (0) on cpanmetadb ...
--> Working on Path::Class
Fetching http://www.cpan.org/authors/id/K/KW/KWILLIAMS/Path-Class-0.37.tar.gz
-> OK
Unpacking Path-Class-0.37.tar.gz
Entering Path-Class-0.37
Checking configure dependencies from META.yml
Checking if you have ExtUtils::MakeMaker 6.58 ... Yes (7.38)
Checking if you have Module::Build 0.3601 ... Yes (0.4229)
Configuring Path-Class-0.37
Running Build.PL
Unknown regexp modifier "/b" at /opt/lib/perl5/5.28/Module/Build/Base.pm line 2457, at end of line
syntax error at /opt/lib/perl5/5.28/Module/Build/Base.pm line 2460, near "perldoc

    # Skip to ACTIONS section
    local"
BEGIN not safe after errors--compilation aborted at /opt/lib/perl5/5.28/Module/Build/Base.pm line 3982.
Compilation failed in require at /opt/lib/perl5/5.28/Module/Build.pm line 17.
BEGIN failed--compilation aborted at /opt/lib/perl5/5.28/Module/Build.pm line 17.
Compilation failed in require at Build.PL line 5.
BEGIN failed--compilation aborted at Build.PL line 5.
Running Makefile.PL
WARNING: Older versions of ExtUtils::MakeMaker may errantly install README.pod as part of this distribution. It is recommended to avoid using this path in CPAN modules.
Checking if your kit is complete...
Looks good
Generating a Unix-style Makefile
Writing Makefile for Path::Class
Writing MYMETA.yml and MYMETA.json
-> OK
Checking dependencies from MYMETA.json ...
Checking if you have Carp 0 ... Yes (1.50)
Checking if you have File::stat 0 ... Yes (1.08)
Checking if you have File::Spec 3.26 ... Yes (3.75)
Checking if you have IO::File 0 ... Yes (1.39)
Checking if you have overload 0 ... Yes (1.30)
Checking if you have Exporter 0 ... Yes (5.73)
Checking if you have Cwd 0 ... Yes (3.75)
Checking if you have Scalar::Util 0 ... Yes (1.53)
Checking if you have Test 0 ... Yes (1.31)
Checking if you have File::Path 0 ... Yes (2.16)
Checking if you have File::Copy 0 ... Yes (2.33)
Checking if you have parent 0 ... Yes (0.237)
Checking if you have File::Temp 0 ... Yes (0.2309)
Checking if you have Test::More 0 ... Yes (1.302168)
Checking if you have Module::Build 0.3601 ... Yes (0.4229)
Checking if you have IO::Dir 0 ... Yes (1.39)
Checking if you have strict 0 ... Yes (1.11)
Checking if you have warnings 0 ... Yes (1.42)
Checking if you have Perl::OSType 0 ... Yes (1.010)
Building and testing Path-Class-0.37
cp lib/Path/Class.pm blib/lib/Path/Class.pm
cp lib/Path/Class/Entity.pm blib/lib/Path/Class/Entity.pm
cp lib/Path/Class/Dir.pm blib/lib/Path/Class/Dir.pm
cp lib/Path/Class/File.pm blib/lib/Path/Class/File.pm
Manifying 4 pod documents
PERL_DL_NONLAZY=1 "/opt/bin/perl5.28.1" "-MExtUtils::Command::MM" "-MTest::Harness" "-e" "undef *Test::Harness::Switches; test_harness(0, 'blib/lib', 'blib/arch')" t/*.t
t/01-basic.t .......... ok
t/02-foreign.t ........ ok
t/03-filesystem.t ..... ok
t/04-subclass.t ....... ok
t/05-traverse.t ....... ok
t/06-traverse_filt.t .. ok
t/07-recurseprune.t ... ok
t/author-critic.t ..... skipped: these tests are for testing by the author
All tests successful.
Files=8, Tests=248, 11 wallclock secs ( 0.73 usr  0.08 sys + 10.04 cusr  0.40 csys = 11.25 CPU)
Result: PASS
Manifying 4 pod documents
Installing /opt/lib/perl5/5.28/Path/Class.pm
Installing /opt/lib/perl5/5.28/Path/Class/Dir.pm
Installing /opt/lib/perl5/5.28/Path/Class/File.pm
Installing /opt/lib/perl5/5.28/Path/Class/Entity.pm
Installing /opt/share/man/man3/Path::Class::Dir.0
Installing /opt/share/man/man3/Path::Class.0
Installing /opt/share/man/man3/Path::Class::File.0
Installing /opt/share/man/man3/Path::Class::Entity.0
Appending installation info to /opt/lib/perl5/5.28/perllocal.pod
-> OK
Successfully installed Path-Class-0.37
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
ERROR: Can't create '/mipsel-linux-glibc/.meta/Path-Class-0.37'
mkdir /mipsel-linux-glibc: Read-only file system at /opt/lib/perl5/5.28/ExtUtils/Install.pm line 303.

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
 at -e line 1.
-> FAIL Installing the dependencies failed: Module 'File::Slurp' is not installed
-> FAIL Bailing out the installation for File-Flock-Tiny-0.14.
1 distribution installed
~ # 

 

или, сразу с ключом "-f" (--force)

Скрытый текст

~ # cpanm -f File::Flock::Tiny
--> Working on File::Flock::Tiny
Fetching http://www.cpan.org/authors/id/Z/ZW/ZWON/File-Flock-Tiny-0.14.tar.gz ... OK
Configuring File-Flock-Tiny-0.14 ... OK
==> Found dependencies: File::Slurp
--> Working on File::Slurp
Fetching http://www.cpan.org/authors/id/C/CA/CAPOEIRAB/File-Slurp-9999.28.tar.gz ... OK
Configuring File-Slurp-9999.28 ... OK
Building and testing File-Slurp-9999.28 ... FAIL
! Testing File-Slurp-9999.28 failed but installing it anyway.
Successfully installed File-Slurp-9999.28
Building and testing File-Flock-Tiny-0.14 ... OK
Successfully installed File-Flock-Tiny-0.14
2 distributions installed
~ #

 

 

Link to comment
Share on other sites

В ‎05‎.‎11‎.‎2019 в 08:47, zyxmon сказал:

Все раньше проверялось на НАСе с sata hdd.

Обычный внешний USB2.0 HDD.

Удалось собраться не с первого раза, но при повторных попытках нужно было удалять metadata. Его первый раз с трудом создает. В последующем загрузить готовый не может. Не думаю, что упирался в производительность фс, часто запрашивал uptime, меньше 4 не опускалась очередь. И роутер становился деревянным, даже DNS-o-TLS в прошивке переставал работать, кнопка ресет на корпусе тоже демонстрирует свою soft реализацию, ей не под силу сбросить роутер. При чтении metadata uptime было около 20 и, может быть, что-то в прошивке сбрасывало роутер.

Можно попробовать снизить приоритет сpan для теста, но не работает nice.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...