in reply to Re^5: Win32::GUI Installation Errors
in thread Win32::GUI Installation Errors

Providing you have Strawberry Perl 5.10.1.x installed in c:\strawberry (and assuming the installation is not corrupted "somehow"), try this:

1. open a new command prompt window (standard cmd.exe)

2. run command: set PATH=c:\strawberry\perl\site\bin;c:\strawberry\perl\bin;c:\strawberry\c\bin;%SystemRoot%\system32

3. now command "gcc --version" should return "gcc (GCC) 3.4.5 (mingw-vista special r3)"

4. command "perl -V:myuname" should return "myuname='Win32 strawberryperl 5.10.1.3 ...... i386';"

5. command "dmake -V" should say "dmake - Version 4.8-20070327-SHAY (Windows / MS Visual C++)"

6. command "cpan -i Win32::GUI" should install Win32::GUI module from CPAN without troubles

--
kmx

Replies are listed 'Best First'.
Re^7: Win32::GUI Installation Errors
by Anonymous Monk on Dec 20, 2010 at 15:53 UTC
    I followed your steps to the point and they all returned the expected values except the last one which gave me this:
    dll.exp: file not recognized: File format not recognized collect2: ld returned 1 exit status dmake: Error code 129, while making '..\blib\arch\auto\Win32\GUI\Cons +tants\Constants.dll' dmake.EXE: Error code 255, while making 'subdirs' ROBERTMAY/Win32-GUI/Win32-GUI-1.06.tar.gz C:\strawberry\c\bin\dmake.EXE -- NOT OK Running make test Can't test without successful make Running make install Make had returned bad status, install seems impossible
    - Cbeppe
      In the absence of a better idea, I guess we could look at trying to establish whether there's something wrong with dll.exp, or whether the recognition process is faulty.

      For me, Win32-GUI-1.06\Win32-GUI-Constants\dll.exp is 1,216 bytes in size and its various hex digests are:
      MD5: 9488f6ef92ef88f3867d39f344aa8a8d SHA1: dce9b72820949b476b2ad3c664a4253f6fe52581 SHA256: 5b8a8a51ee006032c8591aadb805c5b6d8ba4230dc540bd8eb4e126c62d56a +f3
      How does that compare with what you have ? (No need to reproduce all 3 digests - any 1 would be sufficient. And if the size of your dll.exp is not 1,216 bytes then there's no point in providing any hex digest.)

      Not sure if any of that will be at all useful, though I am curious to know if the dll.exp file that you have is faulty.
      Alternatively, if there's somewhere on the web to which you can upload that file, we could see for ourselves what it looks like.

      Cheers,
      Rob
        My dll.exp file is only 726 bytes. However, it is only created AFTER I run dmake. From the messages that I'm getting, it seems that dll.exp is an output file that is created from running a file called Constants.def.

        This is where things go wrong in dmake. Notice the first line:

        dlltool --def Constants.def --output-exp dll.exp
        g++ -o ..\blib\arch\auto\Win32\GUI\Constants\Constants.dll -Wl,--base-file -Wl,dll.base -mdll -s -L"C:\strawberry\perl\lib\CORE" -L"C:\strawberry\c\lib" Constants.o
        Constants.res -Wl,--image-base,0x370e0000 C:\strawberry\perl\lib\CORE\libperl510.a -lmoldname -lkernel32 -luser32 -lgdi32 -lwinspool -lcomdlg32 -ladvapi32 -lshell32 -lole32 -loleaut32 -lnetapi32 -luuid -lws2_32 -lmpr -lwinmm -lversion -lodbc32 -lodbccp32 dll.exp
        dll.exp: file not recognized: File format not recognized
        collect2: ld returned 1 exit status
        dmake: Error code 129, while making '..\blib\arch\auto\Win32\GUI\Constants\Constants.dll'
        dmake: Error code 255, while making 'subdirs'

        To me it seems like dlltool.exe is trying to create dll.exp from Constants.def, but fails and therefore produces a wrongly formatted dll.exp. These are also in the same directory by default.

        If anyone wants to see the two files, you can download them from this link:
        http://rapidshare.com/files/438513360/DllexpConstantsdef.rar

        Again, thanks for helping me out on this!
        - Cbeppe