0

かなりの数日間、いくつかの問題に直面していますが、Google はあまり役に立ちませんでした。スレッドを必要とする perl プログラムを使用したいのですが、苦労します。私は現在 Perl 5.10.1 を使用しています。これはマルチスレッドをサポートしていませんが、通常、以下に貼り付けたコマンドは問題なくインストールされます。私は良い助っ人に報いるつもりです。

だから私はこれを試しました:

sudo su -
cpan
install shared::thread

(非常に壊れた) 出力:

root@noc:~# sudo su - root@noc:~# cpan Terminal does not support
AddHistory.

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

cpan[1]> install shared::thread CPAN: Storable loaded ok (v2.20) Going
to read '/root/.cpan/Metadata' Database was generated on Wed, 12 Dec
2012 01:07:04 GMT CPAN: Time::HiRes loaded ok (v1.9719) Warning: no
success downloading
'/root/.cpan/sources/authors/01mailrc.txt.gz.tmp22514'. Giving up on
it. at /usr/lib/perl5/5.10.1/CPAN/Index.pm line 225 LWP not available

Trying with "/usr/bin/curl -L -f -s -S --netrc-optional" to get
"http://www.perl.org/CPAN/authors/01mailrc.txt.gz" CPAN:
Compress::Zlib loaded ok (v2.02) CPAN: YAML loaded ok (v0.84) Going to
read '/root/.cpan/sources/authors/01mailrc.txt.gz'
..................................................
..........................DONE Warning: no success downloading
'/root/.cpan/sources/modules/02packages.details.txt.gz.tmp22514'.
Giving up on it. at /usr/lib/perl5/5.10.1/CPAN/Index.pm line 225

Trying with "/usr/bin/curl -L -f -s -S --netrc-optional" to get
"http://www.perl.org/CPAN/modules/02packages.details.txt.gz" Going to
read '/root/.cpan/sources/modules/02packages.details.txt.gz' Database
was generated on Fri, 14 Dec 2012 01:07:03 GMT HTTP:ate not available
.............. New CPAN.pm version (v1.9800) available. [Currently
running version is v1.9402] 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
Warning: no success downloading
'/root/.cpan/sources/modules/03modlist.data.gz.tmp22514'. Giving up on
it. at /usr/lib/perl5/5.10.1/CPAN/Index.pm line 225

Trying with "/usr/bin/curl -L -f -s -S --netrc-optional" to get
"http://www.perl.org/CPAN/modules/03modlist.data.gz" Going to read
'/root/.cpan/sources/modules/03modlist.data.gz'
..................................................
..........................DONE Going to write /root/.cpan/Metadata
Warning: Cannot install shared::thread, don't know what it is. Try the
command

i /shared::thread/

to find objects with matching identifiers.

cpan[2]>
4

2 に答える 2

3

Thread::Sharedが必要な場合は、cpan が大文字と小文字を区別することを覚えておく必要がありますsudo cpan install Thread::Shared。あなたはする必要はありませsusudo

于 2012-12-14T03:46:00.423 に答える
1

現在 Perl 5.10.1 を使用していますが、マルチスレッドをサポートしていません

まず、確認しましょう。スレッド化をサポートする Perl を使用している場合、次の出力が得られます。

$ perl -V:usethreads
usethreads='define';

それが得られたものである場合、単に「threads::shared」のスペルを間違えているだけで、インストールする必要さえありません。Perl には既に付属しています。

そうでない場合は、Perl がスレッドをサポートしていないため、スレッドをサポートする Perl のビルドを作成する必要があります (つまり、 を使用して構成された Perl をビルドします-Dusethreads)。モジュールをインストールしてスレッド サポートを追加することはできません。スレッド サポートには Perl の内部全体に追加のコードが必要だからです。


Perl の独自のビルドを作成するにperlbrewは、次のようにインストールされるをお勧めします。

curl -kL http://install.perlbrew.pl | bash

(ログイン スクリプトに何かを追加するように指示されます。すべてが正しく設定されていることを確認するために、再度ログインする必要があります。)

これにより、新しい Perl を簡単にインストールできます。

perlbrew install -v 5.16.2 --as=5.16.2t -Dusethreads
于 2012-12-14T04:14:12.667 に答える