Thursday, March 01, 2012

Perl cpan module GD make fails with t/GD.t ........ Not a CODE reference ... DynaLoader.pm line 213.

If you are getting these errors when trying to install the CPAN Perl module GD (http://search.cpan.org/~lds/GD-2.46/) ...


make test
PERL_DL_NONLAZY=1 ... "-MExtUtils::Command::MM" "-e" "test_harness(0, 'blib/lib', 'blib/arch')" t/*.t
Not a CODE reference at ... DynaLoader.pm line 213.
END failed--call queue aborted at blib/lib/GD.pm line 213.
Compilation failed in require at t/GD.t line 14.
BEGIN failed--compilation aborted at t/GD.t line 14.
t/GD.t ........
Dubious, test returned 2 (wstat 512, 0x200)
Failed 12/12 subtests
Not a CODE reference at ... DynaLoader.pm line 213.
END failed--call queue aborted at ... perl-GD-2.46/blib/lib/GD.pm line 213.
Compilation failed in require at ... perl-GD-2.46/blib/lib/GD/Polyline.pm line 45.
BEGIN failed--compilation aborted at ... perl-GD-2.46/blib/lib/GD/Polyline.pm line 45.
Compilation failed in require at t/Polyline.t line 10.
BEGIN failed--compilation aborted at t/Polyline.t line 10.
t/Polyline.t ..
Dubious, test returned 2 (wstat 512, 0x200)
Failed 1/1 subtests

Test Summary Report
-------------------
t/GD.t      (Wstat: 512 Tests: 1 Failed: 1)
  Failed test:  1
  Non-zero exit status: 2
  Parse errors: Bad plan.  You planned 12 tests but ran 1.
t/Polyline.t (Wstat: 512 Tests: 0 Failed: 0)
  Non-zero exit status: 2
  Parse errors: Bad plan.  You planned 1 tests but ran 0.
Files=2, Tests=1,  0 wallclock secs ( 0.02 usr  0.00 sys +  0.04 cusr  0.01 csys =  0.07 CPU)
Result: FAIL
Failed 2/2 test programs. 1/1 subtests failed.
make[1]: *** [test_dynamic] Error 2

... you need run make like so ...

make CCFLAGS="-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64"


2 comments:

  1. Thank you!
    this was driving me nuts!

    ReplyDelete
  2. Thank you! I've been working for four days to get GD.pm to pass it's tests on OS-X.

    I had been getting the following error:
    use GD;
    Can't find 'boot_GD' symbol in /usr/local/lib/libGD.dylib

    Changing the 'make' invocation for the GD module corrected the problem.

    This was a great help.

    ReplyDelete