【问题标题】:Installing Perl's WWW::Mechanize::Firefox on OpenSuSE 11.4 - resulting in some annoying errors在 OpenSuSE 11.4 上安装 Perl 的 WWW::Mechanize::Firefox - 导致一些恼人的错误
【发布时间】:2011-12-09 23:59:12
【问题描述】:

运行 OpenSuSE 11.4 - 并尝试安装 WWW::Mechanize::Firefox。

好吧,我想我错过了 MAKE(这显然是 GNU make - 不是吗?)

请看下面...

cpan[1]> install WWW::Mechanize::Firefox
Going to read '/root/.cpan/Metadata'
  Database was generated on Fri, 09 Dec 2011 00:28:36 GMT
Running install for module 'WWW::Mechanize::Firefox'
Running make for C/CO/CORION/WWW-Mechanize-Firefox-0.58.tar.gz
Fetching with LWP:
ftp://ftp.hosteurope.de/pub/CPAN/authors/id/C/CO/CORION/WWW-Mechanize-Firefox-0.58.tar.gz
Fetching with LWP:
ftp://ftp.hosteurope.de/pub/CPAN/authors/id/C/CO/CORION/CHECKSUMS
Checksum for /root/.cpan/sources/authors/id/C/CO/CORION/WWW-Mechanize-Firefox-0.58.tar.gz ok
Scanning cache /root/.cpan/build for sizes
............................................................................DONE

  CPAN.pm: Going to build C/CO/CORION/WWW-Mechanize-Firefox-0.58.tar.gz

(Re)Creating lib/WWW/Mechanize/Firefox/Examples.pm
Can't locate HTML/Selector/XPath.pm in @INC (@INC contains: /usr/lib/perl5/site_perl/5.12.3/i586-linux-thread-multi /usr/lib/perl5/site_perl/5.12.3 /usr/lib/perl5/vendor_perl/5.12.3/i586-linux-thread-multi /usr/lib/perl5/vendor_perl/5.12.3 /usr/lib/perl5/5.12.3/i586-linux-thread-multi /usr/lib/perl5/5.12.3 . lib) at ./examples/../lib/WWW/Mechanize/Firefox.pm line 10.
BEGIN failed--compilation aborted at ./examples/../lib/WWW/Mechanize/Firefox.pm line 10.
Compilation failed in require at examples/gen_examples_pod.pl line 32.
Checking if your kit is complete...
Looks good
Warning: prerequisite HTML::Selector::XPath 0 not found.
Warning: prerequisite MozRepl::RemoteObject 0.27 not found.
Warning: prerequisite Object::Import 0 not found.
Warning: prerequisite Shell::Command 0 not found.
Warning: prerequisite Task::Weaken 0 not found.
Writing Makefile for WWW::Mechanize::Firefox
---- Unsatisfied dependencies detected during ----
---- CORION/WWW-Mechanize-Firefox-0.58.tar.gz ----
    Task::Weaken [requires]
    Object::Import [requires]
    Shell::Command [requires]
    MozRepl::RemoteObject [requires]
    HTML::Selector::XPath [requires]
Running make test
  Delayed until after prerequisites
Running make install
  Delayed until after prerequisites
Running install for module 'Task::Weaken'
Running make for A/AD/ADAMK/Task-Weaken-1.04.tar.gz
Fetching with LWP:
ftp://ftp.hosteurope.de/pub/CPAN/authors/id/A/AD/ADAMK/Task-Weaken-1.04.tar.gz
Fetching with LWP:
ftp://ftp.hosteurope.de/pub/CPAN/authors/id/A/AD/ADAMK/CHECKSUMS
Checksum for /root/.cpan/sources/authors/id/A/AD/ADAMK/Task-Weaken-1.04.tar.gz ok

  CPAN.pm: Going to build A/AD/ADAMK/Task-Weaken-1.04.tar.gz

Checking if your kit is complete...
Looks good
Writing Makefile for Task::Weaken
Can't exec "make": Datei oder Verzeichnis nicht gefunden at /usr/lib/perl5/5.12.3/CPAN/Distribution.pm line 2026.
  ADAMK/Task-Weaken-1.04.tar.gz
  make -- NOT OK
'YAML' not installed, will not store persistent state
Running make test
  Can't test without successful make
Running make install
  Make had returned bad status, install seems impossible
Running install for module 'Object::Import'
Running make for A/AM/AMBRUS/Object-Import-1.002.tar.gz
Fetching with LWP:
ftp://ftp.hosteurope.de/pub/CPAN/authors/id/A/AM/AMBRUS/Object-Import-1.002.tar.gz
Fetching with LWP:
ftp://ftp.hosteurope.de/pub/CPAN/authors/id/A/AM/AMBRUS/CHECKSUMS
Checksum for /root/.cpan/sources/authors/id/A/AM/AMBRUS/Object-Import-1.002.tar.gz ok

  CPAN.pm: Going to build A/AM/AMBRUS/Object-Import-1.002.tar.gz

Checking if your kit is complete...
Looks good
Warning: prerequisite MRO::Compat 0 not found.
Writing Makefile for Object::Import
---- Unsatisfied dependencies detected during ----
----     AMBRUS/Object-Import-1.002.tar.gz    ----
    MRO::Compat [requires]
Running make test
  Delayed until after prerequisites
Running make install
  Delayed until after prerequisites
Running install for module 'MRO::Compat'
Running make for F/FL/FLORA/MRO-Compat-0.11.tar.gz
Fetching with LWP:
ftp://ftp.hosteurope.de/pub/CPAN/authors/id/F/FL/FLORA/MRO-Compat-0.11.tar.gz
Fetching with LWP:
ftp://ftp.hosteurope.de/pub/CPAN/authors/id/F/FL/FLORA/CHECKSUMS
Checksum for /root/.cpan/sources/authors/id/F/FL/FLORA/MRO-Compat-0.11.tar.gz ok

  CPAN.pm: Going to build F/FL/FLORA/MRO-Compat-0.11.tar.gz

Checking if your kit is complete...
Looks good
Writing Makefile for MRO::Compat
Can't exec "make": Datei oder Verzeichnis nicht gefunden at /usr/lib/perl5/5.12.3/CPAN/Distribution.pm line 2026.
  FLORA/MRO-Compat-0.11.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
Running make for A/AM/AMBRUS/Object-Import-1.002.tar.gz
  Has already been unwrapped into directory /root/.cpan/build/Object-Import-1.002-0gvgp8

  CPAN.pm: Going to build A/AM/AMBRUS/Object-Import-1.002.tar.gz

Warning: Prerequisite 'MRO::Compat => 0' for 'AMBRUS/Object-Import-1.002.tar.gz' failed when processing 'FLORA/MRO-Compat-0.11.tar.gz' with 'make => NO'. Continuing, but chances to succeed are limited.
Can't exec "make": Datei oder Verzeichnis nicht gefunden at /usr/lib/perl5/5.12.3/CPAN/Distribution.pm line 2026.
  AMBRUS/Object-Import-1.002.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
Running install for module 'Shell::Command'
Running make for F/FL/FLORA/Shell-Command-0.06.tar.gz
Fetching with LWP:
ftp://ftp.hosteurope.de/pub/CPAN/authors/id/F/FL/FLORA/Shell-Command-0.06.tar.gz
Checksum for /root/.cpan/sources/authors/id/F/FL/FLORA/Shell-Command-0.06.tar.gz ok

  CPAN.pm: Going to build F/FL/FLORA/Shell-Command-0.06.tar.gz

Checking if your kit is complete...
Looks good
Writing Makefile for Shell::Command
Can't exec "make": Datei oder Verzeichnis nicht gefunden at /usr/lib/perl5/5.12.3/CPAN/Distribution.pm line 2026.
  FLORA/Shell-Command-0.06.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
Running install for module 'MozRepl::RemoteObject'
Running make for C/CO/CORION/MozRepl-RemoteObject-0.28.tar.gz
Fetching with LWP:
ftp://ftp.hosteurope.de/pub/CPAN/authors/id/C/CO/CORION/MozRepl-RemoteObject-0.28.tar.gz
Checksum for /root/.cpan/sources/authors/id/C/CO/CORION/MozRepl-RemoteObject-0.28.tar.gz ok

  CPAN.pm: Going to build C/CO/CORION/MozRepl-RemoteObject-0.28.tar.gz

Checking if your kit is complete...
Looks good
Warning: prerequisite IPC::Run 0 not found.
Warning: prerequisite JSON 2 not found.
Warning: prerequisite MozRepl 0.06 not found.
Warning: prerequisite Task::Weaken 0 not found.
Writing Makefile for MozRepl::RemoteObject
---- Unsatisfied dependencies detected during ----
----  CORION/MozRepl-RemoteObject-0.28.tar.gz ----
    MozRepl [requires]
    IPC::Run [requires]
    Task::Weaken [requires]
    JSON [requires]
Running make test
  Delayed until after prerequisites
Running make install
  Delayed until after prerequisites
Running install for module 'MozRepl'
Running make for Z/ZI/ZIGOROU/MozRepl-0.06.tar.gz
Fetching with LWP:
ftp://ftp.hosteurope.de/pub/CPAN/authors/id/Z/ZI/ZIGOROU/MozRepl-0.06.tar.gz
Fetching with LWP:
ftp://ftp.hosteurope.de/pub/CPAN/authors/id/Z/ZI/ZIGOROU/CHECKSUMS
Checksum for /root/.cpan/sources/authors/id/Z/ZI/ZIGOROU/MozRepl-0.06.tar.gz ok

  CPAN.pm: Going to build Z/ZI/ZIGOROU/MozRepl-0.06.tar.gz

*** Module::AutoInstall version 1.03
*** Checking for Perl dependencies...
[Core Features]
- Carp::Clan                   ...missing.
- Class::Accessor::Fast        ...missing.
- Class::Data::Inheritable     ...missing.
- Data::Dump                   ...missing.
- Data::JavaScript::Anon       ...missing.
- File::Spec                   ...loaded. (3.3101)
- Module::Pluggable::Fast      ...missing.
- Net::Telnet                  ...missing.
- Template                     ...missing.
- Template::Provider::FromDATA ...missing.
- Text::SimpleTable            ...missing.
- UNIVERSAL::require           ...missing.
- URI                          ...loaded. (1.58)
==> Auto-install the 11 mandatory module(s) from CPAN? [Y/n] y

*** Since we're running under CPANPLUS, I'll just let it take care
    of the dependency's installation later.
*** Module::AutoInstall configuration finished.
Checking if your kit is complete...
Looks good
Warning: prerequisite Carp::Clan 0 not found.
Warning: prerequisite Class::Accessor::Fast 0 not found.
Warning: prerequisite Class::Data::Inheritable 0 not found.
Warning: prerequisite Data::Dump 0 not found.
Warning: prerequisite Data::JavaScript::Anon 0 not found.
Warning: prerequisite Module::Pluggable::Fast 0 not found.
Warning: prerequisite Net::Telnet 0 not found.
Warning: prerequisite Template 0 not found.
Warning: prerequisite Template::Provider::FromDATA 0 not found.
Warning: prerequisite Text::SimpleTable 0 not found.
Warning: prerequisite UNIVERSAL::require 0 not found.
Writing Makefile for MozRepl
---- Unsatisfied dependencies detected during ----
----        ZIGOROU/MozRepl-0.06.tar.gz       ----
    Module::Pluggable::Fast [requires]
    Template::Provider::FromDATA [requires]
    Class::Accessor::Fast [requires]
    Data::Dump [requires]
    Class::Data::Inheritable [requires]
    Text::SimpleTable [requires]
    Template [requires]
    Carp::Clan [requires]
    Data::JavaScript::Anon [requires]
    Net::Telnet [requires]
    UNIVERSAL::require [requires]
Running make test
  Delayed until after prerequisites
Running make install
  Delayed until after prerequisites
Running install for module 'Module::Pluggable::Fast'
Running make for M/MR/MRAMBERG/Module-Pluggable-Fast-0.19.tar.gz
Fetching with LWP:
ftp://ftp.hosteurope.de/pub/CPAN/authors/id/M/MR/MRAMBERG/Module-Pluggable-Fast-0.19.tar.gz
Fetching with LWP:
ftp://ftp.hosteurope.de/pub/CPAN/authors/id/M/MR/MRAMBERG/CHECKSUMS
Checksum for /root/.cpan/sources/authors/id/M/MR/MRAMBERG/Module-Pluggable-Fast-0.19.tar.gz ok

  CPAN.pm: Going to build M/MR/MRAMBERG/Module-Pluggable-Fast-0.19.tar.gz

Checking if your kit is complete...
Looks good
Warning: prerequisite UNIVERSAL::require 0 not found.
Writing Makefile for Module::Pluggable::Fast
----  Unsatisfied dependencies detected during  ----
---- MRAMBERG/Module-Pluggable-Fast-0.19.tar.gz ----
    UNIVERSAL::require [requires]
Running make test
  Delayed until after prerequisites
Running make install
  Delayed until after prerequisites
Running install for module 'UNIVERSAL::require'
Running make for M/MS/MSCHWERN/UNIVERSAL-require-0.13.tar.gz
Fetching with LWP:
ftp://ftp.hosteurope.de/pub/CPAN/authors/id/M/MS/MSCHWERN/UNIVERSAL-require-0.13.tar.gz
Checksum for /root/.cpan/sources/authors/id/M/MS/MSCHWERN/UNIVERSAL-require-0.13.tar.gz ok

  CPAN.pm: Going to build M/MS/MSCHWERN/UNIVERSAL-require-0.13.tar.gz

Checking if your kit is complete...
Looks good
Writing Makefile for UNIVERSAL::require
Can't exec "make": Datei oder Verzeichnis nicht gefunden at /usr/lib/perl5/5.12.3/CPAN/Distribution.pm line 2026.
  MSCHWERN/UNIVERSAL-require-0.13.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
Running make for M/MR/MRAMBERG/Module-Pluggable-Fast-0.19.tar.gz
  Has already been unwrapped into directory /root/.cpan/build/Module-Pluggable-Fast-0.19-iMlazZ

  CPAN.pm: Going to build M/MR/MRAMBERG/Module-Pluggable-Fast-0.19.tar.gz

Warning: Prerequisite 'UNIVERSAL::require => 0' for 'MRAMBERG/Module-Pluggable-Fast-0.19.tar.gz' failed when processing 'MSCHWERN/UNIVERSAL-require-0.13.tar.gz' with 'make => NO'. Continuing, but chances to succeed are limited.
Can't exec "make": Datei oder Verzeichnis nicht gefunden at /usr/lib/perl5/5.12.3/CPAN/Distribution.pm line 2026.
  MRAMBERG/Module-Pluggable-Fast-0.19.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
Running install for module 'Template::Provider::FromDATA'
Running make for B/BR/BRICAS/Template-Provider-FromDATA-0.12.tar.gz
Fetching with LWP:
ftp://ftp.hosteurope.de/pub/CPAN/authors/id/B/BR/BRICAS/Template-Provider-FromDATA-0.12.tar.gz
Fetching with LWP:
ftp://ftp.hosteurope.de/pub/CPAN/authors/id/B/BR/BRICAS/CHECKSUMS
Checksum for /root/.cpan/sources/authors/id/B/BR/BRICAS/Template-Provider-FromDATA-0.12.tar.gz ok
----    Unsatisfied dependencies detected during   ----
---- BRICAS/Template-Provider-FromDATA-0.12.tar.gz ----
    ExtUtils::MakeMaker [build_requires]
Running make test
  Make had some problems, won't test
  Delayed until after prerequisites
Running make install
  Make had some problems, won't install
  Delayed until after prerequisites
Running install for module 'ExtUtils::MakeMaker'
Running make for M/MS/MSCHWERN/ExtUtils-MakeMaker-6.62.tar.gz
Fetching with LWP:
ftp://ftp.hosteurope.de/pub/CPAN/authors/id/M/MS/MSCHWERN/ExtUtils-MakeMaker-6.62.tar.gz
Checksum for /root/.cpan/sources/authors/id/M/MS/MSCHWERN/ExtUtils-MakeMaker-6.62.tar.gz ok

  CPAN.pm: Going to build M/MS/MSCHWERN/ExtUtils-MakeMaker-6.62.tar.gz

Using included version of JSON::PP::Compat5006 (1.09) because it is not already installed.
Using included version of version (0.88) as it is newer than the installed version (0.82).
Using included version of ExtUtils::Manifest (1.58) as it is newer than the installed version (1.57).
Using included version of Parse::CPAN::Meta (1.4401) as it is newer than the installed version (1.40).
Using included version of CPAN::Meta::YAML (0.003) because it is not already installed.
Using included version of JSON::PP (2.27104) because it is not already installed.
Using included version of CPAN::Meta (2.112150) because it is not already installed.
Using included version of File::Copy::Recursive (0.38) because it is not already installed.
Using included version of Version::Requirements (0.101020) because it is not already installed.
Checking if your kit is complete...
Looks good
Writing Makefile for ExtUtils::MakeMaker
Writing MYMETA.yml and MYMETA.json
Can't exec "make": Datei oder Verzeichnis nicht gefunden at /usr/lib/perl5/5.12.3/CPAN/Distribution.pm line 2026.
  MSCHWERN/ExtUtils-MakeMaker-6.62.tar.gz
  make -- NOT OK
Running make test
  Can't test without successful make


Running make test

知道我需要做什么来解决这些问题吗?

更新:非常感谢您提供的有用答案;这里有一些额外的信息:

cpan[1]> o conf
$CPAN::Config options from '/usr/lib/perl5/5.12.3/CPAN/Config.pm':
    commit             [Commit changes to disk]
    defaults           [Reload defaults from disk]
    help               [Short help about 'o conf' usage]
    init               [Interactive setting of all options]

    applypatch         []
    auto_commit        [0]
    build_cache        [100]
    build_dir          [/root/.cpan/build]
    build_dir_reuse    [0]
    build_requires_install_policy [yes]
    bzip2              [/usr/bin/bzip2]
    cache_metadata     [1]
    check_sigs         [0]
    colorize_debug     undef
    colorize_output    [0]
    colorize_print     undef
    colorize_warn      undef
    commandnumber_in_prompt [1]
    commands_quote     undef
    connect_to_internet_ok [1]
    cpan_home          [/root/.cpan]
    curl               [/usr/bin/curl]
    dontload_hash      undef
    dontload_list      undef
    ftp                [/usr/bin/ftp]
    ftp_passive        [1]
    ftp_proxy          []
    ftpstats_period    undef
    ftpstats_size      undef
    getcwd             [cwd]
    gpg                [/usr/bin/gpg]
    gzip               [/usr/bin/gzip]
    halt_on_failure    [0]
    histfile           [/root/.cpan/histfile]
    histsize           [100]
    http_proxy         []
    inactivity_timeout [0]
    index_expire       [1]
    inhibit_startup_message [0]
    keep_source_where  [/root/.cpan/sources]
    load_module_verbosity [none]
    lynx               []
    make               []
    make_arg           []
    make_install_arg   []
    make_install_make_command []
    makepl_arg         []
    mbuild_arg         []
    mbuild_install_arg []
    mbuild_install_build_command [./Build]
    mbuildpl_arg       []
    ncftp              []
    ncftpget           []
    no_proxy           []
    pager              [less]
    password           undef
    patch              []
    patches_dir        undef
    perl5lib_verbosity [none]
    prefer_installer   [MB]
    prefs_dir          [/root/.cpan/prefs]
    prerequisites_policy [follow]
    proxy_pass         undef
    proxy_user         undef
    randomize_urllist  undef
    scan_cache         [atstart]
    shell              [/bin/bash]
    show_unparsable_versions [0]
    show_upload_date   [0]
    show_zero_versions [0]
    tar                [/bin/tar]
    tar_verbosity      [none]
    term_is_latin      [1]
    term_ornaments     [1]
    test_report        [0]
    trust_test_report_history [0]
    unzip              [/usr/bin/unzip]
    urllist           
        0 [ftp://ftp.hosteurope.de/pub/CPAN/]
        1 [ftp://mirror.checkdomain.de/CPAN/]
        2 [ftp://mirror.fraunhofer.de/CPAN/]
        3 [ftp://ftp.u-tx.net/CPAN/]
        4 [ftp://cpan.noris.de/pub/CPAN/]
    use_sqlite         [0]
    username           undef
    version_timeout    [15]
    wait_list          undef
    wget               [/usr/bin/wget]
    yaml_load_code     [0]
    yaml_module        [YAML]

期待再次收到您的来信!!而且,我已经迫不及待想在这台机器上使用机甲了。

【问题讨论】:

  • 您能否也显示您的 CPAN 配置? (o conf 在 CPAN shell 中的输出)
  • 你好 choroba - 非常感谢您的回答 - 我添加了一些信息。希望这能有所了解。期待您的来信。问候。
  • 好吧 - 如果我安装 gcc,你怎么看?

标签: linux perl makefile mechanize gnu-make


【解决方案1】:

从表面上看,您确实需要在您的机器上安装 GNU make。如果这些模块中的任何一个需要 C 编译器,则您需要安装 C 开发系统 - 这可能是相当多的包。

如果你想安装一个替代的make 程序,它也可以工作。不过,最容易找到的是 GNU make


您的 CPAN 配置中的关键项目之一是“prerequisite_policy [follow]”;这是最明智的选择。如果缺少必备模块,它将自动安装。您的跟踪显示了这种情况;缺少一些所需的模块,因此它会在安装 WWW::Mechanize::Firefox 之前尝试安装它们。

问题是它一直找不到'make'。如果你没有安装'make',你需要安装它。如果你安装了它,你需要它在你的 PATH 中。我确实注意到您的配置包含:

make               []
make_arg           []
make_install_arg   []
make_install_make_command []

我的 CPAN 配置(实际上是在 MacOS X 10.7.2 上,但我认为这并不重要)包括:

make               [/usr/bin/make]
make_arg           []
make_install_arg   [UNINST=1]
make_install_make_command [/usr/bin/make]

如果您安装了make,请至少将两个命令名称设置为正确的路径(可能是/usr/local/bin/make,或者/usr/bin/make)。 UNINST=1 位意味着代码将删除不再需要的内容(因为它已过时),这些内容与将要安装新内容的目录不同。这有点神秘,但我已经有十年或更长时间了,AFAICR。 (这些天,我大多使用 CPANPLUS 而不是 CPAN。)

【讨论】:

  • 你好乔纳森-非常感谢您的回答-我添加了一些信息。希望这能有所了解。期待您的来信。问候。
猜你喜欢
  • 1970-01-01
  • 2011-12-23
  • 2011-09-04
  • 1970-01-01
  • 2014-04-14
  • 1970-01-01
  • 1970-01-01
  • 2014-05-04
  • 1970-01-01
相关资源
最近更新 更多