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

The only lines before that that seem like errors are these:

dll.exp: file not recognized: File format not recognized
collect2: ld returned 1 exit status They are the two lines before the two error codes. All other commands seem to be positive, but I'll attach those below.

Skip blib\lib\Win32/GUI/GridLayout.pm (unchanged)
Skip blib\lib\Win32/GUI.pm (unchanged)
Skip ..\blib\lib\Win32\GUI\BitmapInline.pm (unchanged)
Skip ..\blib\lib\Win32\GUI/Constants/Tags.pm (unchanged)
Skip ..\blib\lib\Win32\GUI/Constants.pm (unchanged)
C:\strawberry\perl\bin\perl.exe "-I..\blib\arch"
"-I..\blib\lib" Constants.PL constants.h
C:\strawberry\perl\bin\perl.exe "-I..\blib\arch"
"-I..\blib\lib" Constants.PL constants.src
hash\perfect.exe < constants.src
Read in 2031 keys
found distinct (A,B) on attempt 143
built perfect hash table of size 512
Wrote phash.def
Cleaned up
C:\strawberry\perl\bin\perl.exe "-I..\blib\arch"
"-I..\blib\lib" Constants.PL phash.inc
C:\strawberry\perl\bin\perl.exe C:\strawberry\perl\lib\ExtUtils\xsubpp -typemap
C:\strawberry\perl\lib\ExtUtils\typemap Constants.xs >
Constants.xsc && C:\strawberry\perl\bin\perl.exe
-MExtUtils::Command -e "mv" -- Constants.xsc Constants.c gcc -c -s -O2 -DWIN32 -DHAVE_DES_FCRYPT -DUSE_SITECUSTOMIZE -DPERL_IMPL ICIT_CONTEXT -DPERL_IMPLICIT_SYS -fno-strict-aliasing -DPERL_MSVCRT_READFIX -s -O2 -DVERSION=\"0.04\" -DXS_VERSION=\"0.04\" "-IC:\strawberry\perl\lib \CORE" Constants.c
C:\strawberry\perl\bin\perl.exe "-I..\blib\arch" "-I..\blib\lib" ConstantsRC.PL Constants.rc
windres -O coff -o Constants.res Constants.rc Running Mkbootstrap for Win32::GUI::Constants () C:\strawberry\perl\bin\perl.exe -MExtUtils::Command -e "chmod" -- 644 Constants.bs
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'


I'm sorry for the mess, but copying messages from the command prompt is never pretty. I highlighted what I believe are the errors. It seems to be something to do with the .dll file.

Thanks for taking the time.

Replies are listed 'Best First'.
Re^3: Win32::GUI Installation Errors
by syphilis (Archbishop) on Dec 19, 2010 at 23:14 UTC
    dll.exp: file not recognized: File format not recognized

    That's not right - first thing I'd try is re-installing Strawberry Perl.
    Win32-GUI-1.06 builds fine for me on both 5.10 and 5.12 editions of Strawberry Perl.

    Note that, if building Win32-GUI with Strawberry Perl, you miss out on Win32::GUI::AxWindow, Win32::GUI::Bitmap and Win32::GUI::Grid. (You'll see warnings about this during the 'perl Makefile.PL' stage.)
    If you want those features, then you should instead install Win32::GUI from the ActiveState ppm repository.

    Cheers,
    Rob
      Hi Rob,

      Thanks for looking at this for me.

      I tried re-installing Perl, I even tried the ActivePerl version and using "ppm" to install. Neither worked :(

      Like I said in a reply above just now, it might have to do with me not having a C compiler. I'm currently installing MinGW as an attempt to fix this.

      - Cbeppe
Re^3: Win32::GUI Installation Errors
by Anonyrnous Monk (Hermit) on Dec 19, 2010 at 22:59 UTC

    dll.exp should be the list of symbols to export (binary format) that's being created right above with the command dlltool --def Constants.def --output-exp dll.exp.

    Other than that, I'm afraid I can't offer much wisdom :)  What does dll.exp contain? Maybe the file is empty because the dlltool command failed for some reason? Interestingly, my version of dlltool doesn't have an option --def, only --input-def or -d ...

    Update: a little googling suggests that --def is still understood for compatibility, so this shouldn't be an issue.

      No, the file is not empty, however I don't have a program that shows me the real contents. It's at about 730bytes though.

      Now, when you mention MinGW, I think my problem might lie there since I never installed anything like that. I'll download it and set it up and try again. Maybe that's why the file type is "unknown"?

      We'll see. Thanks for your help.

      - Cbeppe