I wanted to build an awesome place for people to discuss module specific issues, but I don't have any more time for this, and there are much better places to discuss Perl-related issues. I'd recommend asking your question on Stack Overflow or on Perl Monks.
If you are looking for a Perl tutorial or Perl-related news, I hope these links will serve you well.
Posted on 2009-02-18 17:51:49-08 by skeptic
Can't get Tk::JPEG to load

I need to modify Tk::JPEG to handle JPEG2000 files to add that functionality to existing software. As a starting point I'm trying to compile the source for Tk::JPEG. I get it to make the DLL, but it can't find it when I do "nmake test".

Any help, including telling me a better place to find help, is greatly appreciated.

This is on Windows XP. I'm using Active State Perl 5.8 and Visual Studio 2005.

The first error I get is:

C:\Perl-5.8\bin\perl.exe "-I../t" "-MTkTest" "-MExtUtils::Command::MM" " -e" "check_display_harness; test_harness(0, 'blib\lib', 'blib\arch')" t/*.t t/more....# Test 1 got: "Can't load 'C:\\Perl-5.8\\lib\\Tk\\build\\Tk-804.028\\J PEG\\blib\\arch/auto/Tk/JPEG/JPEG.dll' for module Tk::JPEG: load_file:The specif ied module could not be found at C:/Perl-5.8/lib/DynaLoader.pm line 229.\n at t/ more.t line 12\nCompilation failed in require at t/more.t line 12.\n" (t/more.t at line 13)

JPEG.dll is located at C:\Perl-5.8\lib\Tk\build\Tk-804.028\JPEG\blib\arch\auto\Tk\JPEG. I can't seem to find where the C:\\Perl-5.8\\lib\\Tk\\build\\Tk-804.028\\JPEG\\blib\\arch/auto/Tk/JPEG/JPEG.dll is coming from.

Full output from nmake test:

C:\Perl-5.8\lib\Tk\build\Tk-804.028\JPEG>nmake test Microsoft (R) Program Maintenance Utility Version 8.00.50727.762 Copyright (C) Microsoft Corporation. All rights reserved. cd jpeg && nmake libjpeg.lib Microsoft (R) Program Maintenance Utility Version 8.00.50727.762 Copyright (C) Microsoft Corporation. All rights reserved. 'libjpeg.lib' is up-to-date nmake -f Makefile all -nologo cd .. link -out:blib\arch\auto\Tk\JPEG\JPEG.dll -dll -nologo -nodefaultlib -de bug -opt:ref,icf -libpath:"C:\Perl-5.8\lib\CORE" -machine:x86 JPEG.obj imgJPE G.obj C:\lib\libjpeg.lib C:\Perl-5.8\lib\CORE\perl58.lib oldnames.lib kernel32. lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole 32.lib oleaut32.lib netapi32.lib uuid.lib ws2_32.lib mpr.lib winmm.lib version .lib odbc32.lib odbccp32.lib msvcrt.lib -def:JPEG.def Creating library blib\arch\auto\Tk\JPEG\JPEG.lib and object blib\arch\auto\Tk \JPEG\JPEG.exp C:\Perl-5.8\bin\perl.exe -MExtUtils::Command -e chmod 755 blib\arch\auto \Tk\JPEG\JPEG.dll C:\Perl-5.8\bin\perl.exe -MExtUtils::Command -e cp tkjpeg blib\script\tk jpeg pl2bat.bat blib\script\tkjpeg C:\Perl-5.8\bin\perl.exe "-I../t" "-MTkTest" "-MExtUtils::Command::MM" " -e" "check_display_harness; test_harness(0, 'blib\lib', 'blib\arch')" t/*.t t/more....# Test 1 got: "Can't load 'C:\\Perl-5.8\\lib\\Tk\\build\\Tk-804.028\\J PEG\\blib\\arch/auto/Tk/JPEG/JPEG.dll' for module Tk::JPEG: load_file:The specif ied module could not be found at C:/Perl-5.8/lib/DynaLoader.pm line 229.\n at t/ more.t line 12\nCompilation failed in require at t/more.t line 12.\n" (t/more.t at line 13) t/more....NOK 1/41# Expected: "" (Cannot load Tk::JPEG) # t/more.t line 13 is: ok($@,'',"Cannot load Tk::JPEG"); # Test 2 got: "image file format \"jpeg\" is not supported at C:/Perl-5.8/lib/Tk /Image.pm line 21.\n" (t/more.t at line 21) t/more....NOK 2/41# Expected: "" (Error image file format "jpeg" is not suppor ted at C:/Perl-5.8/lib/Tk/Image.pm line 21. #) # t/more.t line 21 is: ok($@,'',"Error $@"); Can't call method "width" on an undefined value at t/more.t line 22. t/more....dubious Test returned status 2 (wstat 512, 0x200) DIED. FAILED tests 1-41 Failed 41/41 tests, 0.00% okay t/Read.... # Failed test 'use Tk::JPEG;' t/Read....NOK 1/5# at t/Read.t line 19. # Tried to use 'Tk::JPEG'. # Error: Can't load 'C:\Perl-5.8\lib\Tk\build\Tk-804.028\JPEG\blib\arch/aut o/Tk/JPEG/JPEG.dll' for module Tk::JPEG: load_file:The specified module could no t be found at C:/Perl-5.8/lib/DynaLoader.pm line 229. # at (eval 14) line 2 # Compilation failed in require at (eval 14) line 2. # BEGIN failed--compilation aborted at t/Read.t line 19. image file format "jpeg" is not supported at C:/Perl-5.8/lib/Tk/Image.pm line 21 . # Looks like you planned 5 tests but only ran 1. # Looks like you failed 1 test of 1 run. # Looks like your test died just after 1. t/Read....dubious Test returned status 255 (wstat 65280, 0xff00) DIED. FAILED tests 1-5 Failed 5/5 tests, 0.00% okay Failed Test Stat Wstat Total Fail List of Failed ------------------------------------------------------------------------------- t/Read.t 255 65280 5 9 1-5 t/more.t 2 512 41 80 1-41 Failed 2/2 test scripts. 46/46 subtests failed. Files=2, Tests=46, 1 wallclock secs ( 0.00 cusr + 0.00 csys = 0.00 CPU) Failed 2/2 test programs. 46/46 subtests failed. NMAKE : fatal error U1077: 'C:\Perl-5.8\bin\perl.exe' : return code '0xff' Stop. C:\Perl-5.8\lib\Tk\build\Tk-804.028\JPEG>
Direct Responses: 10034 | Write a response
Posted on 2009-02-20 19:50:39-08 by eserte in response to 10007
Re: Can't get Tk::JPEG to load
How do your modifications look like? Can you provide a diff or so?
Direct Responses: Write a response