0

I'm trying to install WWW::HtmlUnit for perl in Ubuntu 12.04 64bit. I'm following the directions from the CPAN page.

However am getting an error stating that

Class com.gargoylesoftware.htmlunit.WebClient not found at /usr/local/lib/perl/5.14.2/Inline/Java.pm line 619.

I've pasted my entire log out put for this below. I've seen a few other responses to this question, but were geared towards Windows and not Linux.

cpanm (App::cpanminus) 1.5018 on perl 5.014002 built for x86_64-linux-gnu-thread-multi
Work directory is /home/user/.cpanm/work/1355076552.11533
You have make /usr/bin/make
You have LWP 6.03
You have /bin/tar: tar (GNU tar) 1.26
Copyright (C) 2011 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://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 /usr/bin/unzip
Searching WWW::HtmlUnit on cpanmetadb ...
--> Working on WWW::HtmlUnit
Fetching http://www.cpan.org/authors/id/A/AW/AWWAIID/WWW-HtmlUnit-0.18.tar.gz
-> OK
Unpacking WWW-HtmlUnit-0.18.tar.gz
Entering WWW-HtmlUnit-0.18
Checking configure dependencies from META.yml
Checking if you have ExtUtils::MakeMaker 0 ... Yes (6.57_05)
Configuring WWW-HtmlUnit-0.18
Running Makefile.PL
Checking if your kit is complete...
Warning: the following files are missing in your kit:
    lib/WWW/HtmlUnit/jar/commons-codec-1.4.jar
    lib/WWW/HtmlUnit/jar/commons-io-2.0.1.jar
    lib/WWW/HtmlUnit/jar/commons-lang-2.6.jar
    lib/WWW/HtmlUnit/jar/cssparser-0.9.5.jar
    lib/WWW/HtmlUnit/jar/htmlunit-2.9.jar
    lib/WWW/HtmlUnit/jar/htmlunit-core-js-2.9.jar
    lib/WWW/HtmlUnit/jar/httpclient-4.1.2.jar
    lib/WWW/HtmlUnit/jar/httpcore-4.1.2.jar
    lib/WWW/HtmlUnit/jar/httpmime-4.1.2.jar
    lib/WWW/HtmlUnit/jar/nekohtml-1.9.15.jar
Please inform the author.
Writing Makefile for WWW::HtmlUnit
Writing MYMETA.yml
-> OK
Checking dependencies from MYMETA.yml ...
Checking if you have ExtUtils::MakeMaker 0 ... Yes (6.57_05)
Checking if you have Inline::Java 0.53 ... Yes (0.53)
Building and testing WWW-HtmlUnit-0.18
cp lib/WWW/HtmlUnit.pm blib/lib/WWW/HtmlUnit.pm
cp lib/WWW/HtmlUnit/jar/xml-apis-1.3.04.jar blib/lib/WWW/HtmlUnit/jar/xml-apis-1.3.04.jar
cp lib/WWW/HtmlUnit/jar/commons-collections-3.2.1.jar blib/lib/WWW/HtmlUnit/jar/commons-collections-3.2.1.jar
cp lib/WWW/HtmlUnit/jar/xalan-2.7.1.jar blib/lib/WWW/HtmlUnit/jar/xalan-2.7.1.jar
cp lib/WWW/HtmlUnit/jar/serializer-2.7.1.jar blib/lib/WWW/HtmlUnit/jar/serializer-2.7.1.jar
cp lib/WWW/HtmlUnit/jar/commons-logging-1.1.1.jar blib/lib/WWW/HtmlUnit/jar/commons-logging-1.1.1.jar
cp lib/WWW/HtmlUnit/jar/htmlunit-confirmhandler-2.8.jar blib/lib/WWW/HtmlUnit/jar/htmlunit-confirmhandler-2.8.jar
cp lib/WWW/HtmlUnit/jar/xercesImpl-2.9.1.jar blib/lib/WWW/HtmlUnit/jar/xercesImpl-2.9.1.jar
cp lib/WWW/HtmlUnit/Sweet.pm blib/lib/WWW/HtmlUnit/Sweet.pm
cp lib/WWW/HtmlUnit/jar/sac-1.3.jar blib/lib/WWW/HtmlUnit/jar/sac-1.3.jar
Manifying blib/man3/WWW::HtmlUnit.3pm
Manifying blib/man3/WWW::HtmlUnit::Sweet.3pm
PERL_DL_NONLAZY=1 /usr/bin/perl "-MExtUtils::Command::MM" "-e" "test_harness(0, 'blib/lib', 'blib/arch')" t/*.t

#   Failed test 'use WWW::HtmlUnit;'
#   at t/00_basic.t line 9.
#     Tried to use 'WWW::HtmlUnit'.
#     Error:  Class com.gargoylesoftware.htmlunit.WebClient not found at /usr/local/lib/perl/5.14.2/Inline/Java.pm line 619.
# BEGIN failed--compilation aborted at (eval 4) line 2, <GEN7> line 4.
# Looks like you failed 1 test of 1.
t/00_basic.t ......... 
Dubious, test returned 1 (wstat 256, 0x100)
Failed 1/1 subtests 
Class com.gargoylesoftware.htmlunit.WebClient not found at /usr/local/lib/perl/5.14.2/Inline/Java.pm line 619.
BEGIN failed--compilation aborted at t/01_hello.t line 4, <GEN7> line 4.
t/01_hello.t ......... 
Dubious, test returned 2 (wstat 512, 0x200)
No subtests run 
t/02_hello_sweet.t ... 
Dubious, test returned 2 (wstat 512, 0x200)
No subtests run 
Class com.gargoylesoftware.htmlunit.WebClient not found at /usr/local/lib/perl/5.14.2/Inline/Java.pm line 619.
BEGIN failed--compilation aborted at t/03_clickhandler.t line 6, <GEN7> line 4.
# Looks like your test exited with 2 before it could output anything.
t/03_clickhandler.t .. 
Dubious, test returned 2 (wstat 512, 0x200)
Failed 8/8 subtests 

Test Summary Report
-------------------
t/00_basic.t       (Wstat: 256 Tests: 1 Failed: 1)
  Failed test:  1
  Non-zero exit status: 1
t/01_hello.t       (Wstat: 512 Tests: 0 Failed: 0)
  Non-zero exit status: 2
  Parse errors: No plan found in TAP output
t/02_hello_sweet.t (Wstat: 512 Tests: 0 Failed: 0)
  Non-zero exit status: 2
  Parse errors: No plan found in TAP output
t/03_clickhandler.t (Wstat: 512 Tests: 0 Failed: 0)
  Non-zero exit status: 2
  Parse errors: Bad plan.  You planned 8 tests but ran 0.
Files=4, Tests=1,  1 wallclock secs ( 0.04 usr  0.01 sys +  0.58 cusr  0.10 csys =  0.73 CPU)
Result: FAIL
Failed 4/4 test programs. 1/1 subtests failed.
make: *** [test_dynamic] Error 2
-> FAIL Installing WWW::HtmlUnit failed. See /home/user/.cpanm/build.log for details.
Joel Berger
  • 20,180
  • 5
  • 49
  • 104
bdizzle
  • 419
  • 2
  • 5
  • 19

2 Answers2

1

Leaving the other answer for posterity, however, the problem is that the author borked the most recent release. As seen in your message, he forgot to include several key files.

Warning: the following files are missing in your kit:
    lib/WWW/HtmlUnit/jar/commons-codec-1.4.jar
    lib/WWW/HtmlUnit/jar/commons-io-2.0.1.jar
    lib/WWW/HtmlUnit/jar/commons-lang-2.6.jar
    lib/WWW/HtmlUnit/jar/cssparser-0.9.5.jar
    lib/WWW/HtmlUnit/jar/htmlunit-2.9.jar
    lib/WWW/HtmlUnit/jar/htmlunit-core-js-2.9.jar
    lib/WWW/HtmlUnit/jar/httpclient-4.1.2.jar
    lib/WWW/HtmlUnit/jar/httpcore-4.1.2.jar
    lib/WWW/HtmlUnit/jar/httpmime-4.1.2.jar
    lib/WWW/HtmlUnit/jar/nekohtml-1.9.15.jar

This merits a bug ticket (two actually, I found a bug in the classpath code).

For the meantime, you can try installing the old version:

cpanm http://cpan.metacpan.org/authors/id/A/AW/AWWAIID/WWW-HtmlUnit-0.16.tar.gz

(using sudo and JAVA_HOME as needed).

Joel Berger
  • 20,180
  • 5
  • 49
  • 104
0

Did you follow the installation instructions? It looks like Inline::Java can't find your java libraries.

You might want to check that you are setting your JAVA_HOME to the right path. I believe you can get this by running something like:

update-alternatives --query java | perl -ne 'print if s/Value: //'

For me this gives:

/usr/lib/jvm/java-6-sun/jre/bin/java

but you don't want the bin part so I would use

JAVA_HOME=/usr/lib/jvm/java-6-sun

Edit: didn't want /jre either

Joel Berger
  • 20,180
  • 5
  • 49
  • 104
  • 1
    Followed install instructions, and did your recommendation, but still same issue. Set the /etc/environment for JAVA_HOME to /usr/lib/jvm/java-6-openjdk-amd64/jre and re-ran the install, still same error message. – bdizzle Dec 09 '12 at 21:00
  • 1
    The [CPANTesters](http://www.cpantesters.org/distro/W/WWW-HtmlUnit.html#WWW-HtmlUnit-0.18) are having troubles too. Perhaps this module does not install well. – Joel Berger Dec 09 '12 at 22:50
  • I am trying to install myself, I noticed that my JAVA_HOME wasn't right either, edited to reflect – Joel Berger Dec 09 '12 at 22:58