Re: Win32::GUI Installation Errors
by Anonyrnous Monk (Hermit) on Dec 19, 2010 at 22:13 UTC
|
dmake: Error code 129, while making '..\blib\arch\auto\Win32\GUI\Constants\Constants.dll'
Any message(s) before that which look like they might be hinting at the problem?
"Error code 129" alone doesn't say much, as it's just the return code from some previous failed command which dmake attempted to run...
| [reply] |
|
|
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.
| [reply] |
|
|
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
| [reply] |
|
|
|
|
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.
| [reply] [d/l] [select] |
|
|
|
|
Alright... I just installed MinGW to no avail :(
Still getting the same errors...
Dmake test produces the following:
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:\stra
+wberry\c\li
b" Constants.o Constants.res -Wl,--image-base,0x370e0000 C:\strawberr
+y\perl\lib\CORE\libperl510.a -lmoldname -lkernel32 -luser32 -lgdi32 -
+lwinspool -
lcomdlg32 -ladvapi32 -lshell32 -lole32 -loleaut32 -lnetapi32 -luuid -l
+ws2_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\Cons
+tants\Constants.dll'
dmake: Error code 255, while making 'subdirs'
Any more ideas? I'm honestly running out of stuff to try at the moment. Could always try to reinstall again, but...
Thanks to everyone who's looking at this :)
| [reply] [d/l] |
|
|
Alright... I just installed MinGW to no avail
But you already had MinGW - it's in the Strawberry/c/ folder. Can you post the output of gcc -v ? With StrawberryPerl-5.10, mine looks like this:
C:\>gcc -v
Reading specs from C:/strawberry/c/bin/../lib/gcc/mingw32/3.4.5/specs
Configured with: ../gcc-3.4.5-20060117-3/configure --with-gcc --with-g
+nu-ld --with-gnu-as --host=mingw32 --target=mingw32 --prefix=/mingw -
+-enable-threads --disable-nls --enable-languages=c,c++,f77,ada,objc,j
+ava --disable-win32-registry --disable-shared --enable-sjlj-exception
+s --enable-libgcj --disable-java-awt --without-x --enable-java-gc=boe
+hm --disable-libgcj-debug --enable-interpreter --enable-hash-synchron
+ization --enable-libstdcxx-debug
Thread model: win32
gcc version 3.4.5 (mingw-vista special r3)
You should see something similar. Something is seriously broken ... probably, but not necessarily, MinGW.
Cheers, Rob | [reply] [d/l] [select] |
|
|
|
|
|
|
Ok, so I gave up on Win32::GUI, and installed ActivePerl from activestate. I also downloaded their Tcl and Tkx, which does very much the same as Win32::Gui.
I'd just like to thank everyone who helped me out here. I see myself becoming a member of this forum as soon as I get an account.
Thanks :)
- Cbeppe
| [reply] |
|
|
I'm running Windows 7 64bit (Could that be a problem?) and Strawberry Perl 5.10.1.3.
The result for the new MinGW compiler is this:
Using built-in specs.
COLLECT_GCC=gcc
Target: mingw32
Configured with: ../gcc-4.5.0/configure --enable-languages=c,c++,ada,f
+ortran,objc,obj-c++ --disable-sjlj-exceptions --with-dwarf2 --enable-
+shared --en
able-libgomp --disable-win32-registry --enable-libstdcxx-debug --enabl
+e-version-specific-runtime-libs --disable-werror --build=mingw32 --pr
+efix=/mingw
Thread model: win32
gcc version 4.5.0 (GCC)
As you can see, the new MinGW is a later version than the one shipped with Perl. I ran the commands you mentioned, but it still returns the same errors on dmake. Dmake realclean does not return an error, but doesn't seem to affect the install in any other way though.
- Cbeppe | [reply] [d/l] [select] |
|
|
|
|
|
|
Here's one more idea if someone is willing to help:
Could someone please upload an archive containing the directories that Win32::GUI installs itself into, so that I can do a very manual install? This is definitely a last resort, but it should work unless I need to modify the registry substantially.
I'd really appreciate it if someone would be willing to help out on this.
Thanks.
- Cbeppe
| [reply] |
|
|
|
|
|
|
|
I just downloaded the 64bit version of Perl, which is still in Beta. I ran the installation process again, and got this error:
In file included from Scintilla.xs:8:
../GUI.h:100: note: #pragma message:
*** Using Preserved Perl context.
In file included from Scintilla.xs:8:
../GUI.h:768: warning: 'ImageList_Duplicate' redeclared without dllimp
+ort attribute: previous dllimport ignored
Scintilla.xs: In function 'CallWndProc':
Scintilla.xs:199: error: 'GWL_USERDATA' undeclared (first use in this
+function)
Scintilla.xs:199: error: (Each undeclared identifier is reported only
+once
Scintilla.xs:199: error: for each function it appears in.)
dmake: Error code 129, while making 'Scintilla.o'
dmake: Error code 255, while making 'subdirs'
The error codes are the same, but the file that is causing the trouble is different. Any ideas?
- Cbeppe | [reply] [d/l] |
|
|
|
|
|
Re: Win32::GUI Installation Errors
by Anonymous Monk on Jan 29, 2011 at 10:23 UTC
|
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)... | [reply] |
|
|
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.
| [reply] |
Re: Win32::GUI Installation Errors
by denishowe (Acolyte) on May 31, 2013 at 14:33 UTC
|
See
http://www.nntp.perl.org/group/perl.win32.vanilla/2012/06/msg414.html
which points to
http://strawberryperl.com/package/kmx/perl-modules-patched/Win32-GUI-1.06_patched3.tar.gz | [reply] |