in reply to Win32::GUI Installation Errors

I've just found out what was the problem -- and I spent 2 days searching for the solution within dlltool executable, it was driving me crazy. I compared temporary files created by dlltool, tried to build binutils-2.17 myself, compared Makefiles, configure script outputs and they were all the same...

The problem has a very simple solution afterwards. The problem is that dlltool invokes executables like "as" and "ld", but my PATH environment variable contains this executables from ATI in
C:\Program Files (x86)\ATI Stream\bin\x86_64
C:\Program Files (x86)\ATI Stream\bin\x86

if these two directories are removed from PATH, everything works OK.

It may be something else on your computer, so the solution may be just to put strawberry perl's PATH directories before other PATH dirs (at least during the installation of the modules that report dlltool problems)...

Replies are listed 'Best First'.
Re^2: Win32::GUI Installation Errors
by Anonymous Monk on Feb 21, 2011 at 01:15 UTC
    I searched on the web and it seems to be a problem of conversion from win32 to win64 api. It seems some data types are not of same size on both platforms. I could fix the errors about GWL_USERDATA by replacing it with GWLP_USERDATA, but than other errors come out. The one thing I got is "invalid conversion from *void to DWORD" or similar. It seems that on win64 handles are 32bit and DWORDs 64bit. So trying to cast handles to DWORD (which seems to be normal practice in win32 programming - they were the same size) would issue that error. Simply said, Win32::GUI is not 64-bit safe and needs to be corrected to work both on win32 and win64 using portable data types that hold the same size on both platforms. Someone with better knowledge of this (win32 vs win64 api differnces and compatiblity) could issue a patch dealing with problem.