Skip Menu |

This queue is for tickets about the Prima CPAN distribution.


Subject: compile failed on Win 7 x64
Hi, it's me again :) If I try to install Prima 1.28 here on Windows 7 Professional x64, I cannot compile. Again, this a something I don't know anything about, so I attached the log. I tried to do as said by the Makefile.PL, running C: \PROGRA~2\MICROS~1.0\VC\BIN\nmake.exe and by using dmake, because, as far as I know, nmake does not work with 64bit OS. hth, Alex
Subject: prima.dmake.log.txt
C:\zwischen\Prima\Prima-1.28>dmake Creating directories... C:\Perl\bin\perl.exe -I. utils/gencls.pl --inc --h --tml Types.cls include/gener ic C:\Perl\bin\perl.exe -I. utils/gencls.pl --inc --h --tml Object.cls include/gene ric C:\Perl\bin\perl.exe -I. utils/gencls.pl --inc --h --tml Component.cls include/g eneric C:\Perl\bin\perl.exe -I. utils/gencls.pl --inc --h --tml AbstractMenu.cls includ e/generic C:\Perl\bin\perl.exe -I. utils/gencls.pl --inc --h --tml Drawable.cls include/ge neric C:\Perl\bin\perl.exe -I. utils/gencls.pl --inc --h --tml Image.cls include/gener ic C:\Perl\bin\perl.exe -I. utils/gencls.pl --inc --h --tml Menu.cls include/generi c C:\Perl\bin\perl.exe -I. utils/gencls.pl --inc --h --tml Widget.cls include/gene ric cl -nologo -GF -W3 -MD -Zi -Ox -GL -Wp64 -fp:precise -W3 -WX -nologo -MD -Zi -Ox -GL -Wp64 -fp:precise -D_CRT_SECURE_NO_DEPRECATE -c -Iinclude -Iinclude\generic -IC:\Perl\lib\CORE -IC:\Perl\site\lib\Prima\codecs\win32\include -DHAVE_CONFIG_ H=1 -FoAbstractMenu.obj AbstractMenu.c cl : Befehlszeile warning D9035 : Die Option "Wp64" ist veraltet und wird in ein er der nächsten Versionen entfernt. cl : Befehlszeile warning D9035 : Die Option "Wp64" ist veraltet und wird in ein er der nächsten Versionen entfernt. AbstractMenu.c C:\Perl\lib\CORE\sys/socket.h(34) : error C2220: Warnung wird als Fehler interpr etiert, es wurde keine object-Datei generiert. C:\Perl\lib\CORE\sys/socket.h(34) : warning C4005: 'ENOTSOCK': Makro-Neudefiniti on C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\INCLUDE\errno.h(1 20): Siehe vorherige Definition von 'ENOTSOCK' C:\zwischen\Prima\Prima-1.28\include\apricot.h(341) : fatal error C1189: #error : "Cannot find adequate integer type" dmake: Error code 130, while making 'AbstractMenu.obj' C:\zwischen\Prima\Prima-1.28>
Subject: prima.nmake.log.txt
C:\zwischen\Prima\Prima-1.28>perl Makefile.PL Setting up working environment. Determining compiler type... Microsoft Visual C++ Version: 1.28 Checking if can compile... yes Checking if can link... yes Checking for library oldnames.lib... yes Checking for library kernel32.lib... yes Checking for library user32.lib... yes Checking for library gdi32.lib... yes Checking for library winspool.lib... yes Checking for library comdlg32.lib... yes Checking for library advapi32.lib... yes Checking for library shell32.lib... yes Checking for library ole32.lib... yes Checking for library oleaut32.lib... yes Checking for library netapi32.lib... yes Checking for library uuid.lib... yes Checking for library ws2_32.lib... yes Checking for library mpr.lib... yes Checking for library winmm.lib... yes Checking for library version.lib... yes Checking for library odbc32.lib... yes Checking for library odbccp32.lib... yes Checking for library comctl32.lib... yes Checking for library bufferoverflowU.lib... no Checking for library msvcrt.lib... yes Checking for X11 headers...no Checking for perl library... yes, in C:\Perl\lib\CORE Checking for presence of io.h... yes Checking for presence of unistd.h... no Checking for presence of strings.h... no Checking for presence of sys/types.h... yes Checking for presence of type int8_t... no Checking for presence of sys/bitypes.h... no Checking for presence of sys/inttypes.h... no Checking for presence of stdint.h... yes Checking for presence of type int8_t... yes Checking for presence of type int16_t... yes Checking for presence of type int32_t... yes Checking for presence of type uint8_t... no Checking for presence of type uint8_t... yes Checking for presence of type uint16_t... yes Checking for presence of type uint32_t... yes Checking for presence of type uint64_t... yes Checking for presence of type u_int8_t... no Checking for presence of type u_int8_t... no Checking for presence of string.h... yes Checking for function strcasecmp... no Checking for function strncasecmp... no Checking for function strcasestr... no Checking for presence of stdio.h... yes Checking for function snprintf... no Checking for function _snprintf... yes Checking for presence of stdlib.h... yes Checking for function reallocf... no Checking for function bzero... no Checking for presence of type BOOLEAN... yes Checking for inline... __inline Creating include/generic/config.h Checking for Prima::codecs::win32... yes Checking for prigraph library... no Checking for jpeg library... yes Checking for png library... yes Checking for tiff library... yes Checking for ungif library... yes Checking for X11 library... yes Checking for Xpm library... yes Enumerating POD files Creating Prima::Config.pm Creating img/codecs.c Finding dependencies for AbstractMenu.cls... Finding dependencies for AccelTable.cls... Finding dependencies for Application.cls... Finding dependencies for Clipboard.cls... Finding dependencies for Component.cls... Finding dependencies for DeviceBitmap.cls... Finding dependencies for Drawable.cls... Finding dependencies for File.cls... Finding dependencies for Icon.cls... Finding dependencies for Image.cls... Finding dependencies for Menu.cls... Finding dependencies for Object.cls... Finding dependencies for Popup.cls... Finding dependencies for Printer.cls... Finding dependencies for Timer.cls... Finding dependencies for Types.cls... Finding dependencies for Utils.cls... Finding dependencies for Widget.cls... Finding dependencies for Window.cls... Finding dependencies for AbstractMenu.c... Finding dependencies for AccelTable.c... Finding dependencies for Application.c... Finding dependencies for Clipboard.c... Finding dependencies for Component.c... Finding dependencies for DeviceBitmap.c... Finding dependencies for Drawable.c... Finding dependencies for File.c... Finding dependencies for Icon.c... Finding dependencies for Image.c... Finding dependencies for Menu.c... Finding dependencies for Object.c... Finding dependencies for Popup.c... Finding dependencies for primguts.c... Finding dependencies for Printer.c... Finding dependencies for Timer.c... Finding dependencies for Utils.c... Finding dependencies for Widget.c... Finding dependencies for Widget_geometry.c... Finding dependencies for Window.c... Finding dependencies for img/bc_color.c... Finding dependencies for img/bc_const.c... Finding dependencies for img/bc_extra.c... Finding dependencies for img/codec_bmp.c... Finding dependencies for img/codec_jpeg.c... Finding dependencies for img/codec_png.c... Finding dependencies for img/codec_tiff.c... Finding dependencies for img/codec_ungif.c... Finding dependencies for img/codec_X11.c... Finding dependencies for img/codec_Xpm.c... Finding dependencies for img/codecs.c... Finding dependencies for img/conv.c... Finding dependencies for img/ic_conv.c... Finding dependencies for img/img.c... Finding dependencies for img/imgscale.c... Finding dependencies for img/imgtype.c... Finding dependencies for img/put.c... Finding dependencies for win32/apc.c... Finding dependencies for win32/clip.c... Finding dependencies for win32/cursor.c... Finding dependencies for win32/dev.c... Finding dependencies for win32/files.c... Finding dependencies for win32/global.c... Finding dependencies for win32/gp.c... Finding dependencies for win32/misc.c... Finding dependencies for win32/stock.c... Finding dependencies for win32/timers.c... Writing Makefile... All done. Now you can run C:\PROGRA~2\MICROS~1.0\VC\BIN\nmake.exe. *** Warning (probably harmless): `bufferoverflowU.lib' library not found C:\zwischen\Prima\Prima-1.28>C:\PROGRA~2\MICROS~1.0\VC\BIN\nmake.exe Microsoft (R) Program Maintenance Utility, Version 10.00.30319.01 Copyright (C) Microsoft Corporation. Alle Rechte vorbehalten. Creating directories... C:\Perl\bin\perl.exe -I. utils/gencls.pl --inc --h --tml Types.cls inclu de/generic C:\Perl\bin\perl.exe -I. utils/gencls.pl --inc --h --tml Object.cls incl ude/generic C:\Perl\bin\perl.exe -I. utils/gencls.pl --inc --h --tml Component.cls i nclude/generic C:\Perl\bin\perl.exe -I. utils/gencls.pl --inc --h --tml AbstractMenu.cl s include/generic C:\Perl\bin\perl.exe -I. utils/gencls.pl --inc --h --tml Drawable.cls in clude/generic C:\Perl\bin\perl.exe -I. utils/gencls.pl --inc --h --tml Image.cls inclu de/generic C:\Perl\bin\perl.exe -I. utils/gencls.pl --inc --h --tml Menu.cls includ e/generic C:\Perl\bin\perl.exe -I. utils/gencls.pl --inc --h --tml Widget.cls incl ude/generic cl -nologo -GF -W3 -MD -Zi -Ox -GL -Wp64 -fp:precise -W3 -WX -nologo -MD -Zi -Ox -GL -Wp64 -fp:precise -D_CRT_SECURE_NO_DEPRECATE -c -Iinclude -Iinclude \generic -IC:\Perl\lib\CORE -IC:\Perl\site\lib\Prima\codecs\win32\include -DHAVE _CONFIG_H=1 -FoAbstractMenu.obj AbstractMenu.c cl : Befehlszeile warning D9035 : Die Option "Wp64" ist veraltet und wird in ein er der nächsten Versionen entfernt. cl : Befehlszeile warning D9035 : Die Option "Wp64" ist veraltet und wird in ein er der nächsten Versionen entfernt. AbstractMenu.c C:\Perl\lib\CORE\sys/socket.h(34) : error C2220: Warnung wird als Fehler interpr etiert, es wurde keine object-Datei generiert. C:\Perl\lib\CORE\sys/socket.h(34) : warning C4005: 'ENOTSOCK': Makro-Neudefiniti on C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\INCLUDE\errno.h(1 20): Siehe vorherige Definition von 'ENOTSOCK' C:\zwischen\Prima\Prima-1.28\include\apricot.h(341) : fatal error C1189: #error : "Cannot find adequate integer type" NMAKE : fatal error U1077: ""C:\Program Files (x86)\Microsoft Visual Studio 10.0 \VC\BIN\cl.EXE"": Rückgabe-Code "0x2" Stop. C:\zwischen\Prima\Prima-1.28
Hi, can you test the attached patch? Thanks!
Subject: diff
Download diff
application/octet-stream 360b

Message body not shown because it is not plain text.

Птн Янв 07 08:34:06 2011, KARASIK писал: Show quoted text
> Hi, can you test the attached patch? Thanks!
An updated patch, if the first doesn't work
Subject: diff
Download diff
application/octet-stream 425b

Message body not shown because it is not plain text.

Hi! both patches failes. Attached you will find the output with the second patch applied. However, there is now more output. hth, Alex
Can't find anything attached sorry. You're welcome to send me logs privately to dmitry@karasik.eu.org, -- and/or, if you can, make the patch.
Hm, dubious :-s Here they are.
Subject: prima.dmake2.log.txt
C:\zwischen\Prima\Prima-1.28>dmake Creating directories... cl -nologo -GF -W3 -MD -Zi -Ox -GL -Wp64 -fp:precise -W3 -WX -nologo -MD -Zi -Ox -GL -Wp64 -fp:precise -D_CRT_SECURE_NO_DEPRECATE -c -Iinclude -Iinclude\generic -IC:\Perl\lib\CORE -IC:\Perl\site\lib\Prima\codecs\win32\include -DHAVE_CONFIG_ H=1 -FoAbstractMenu.obj AbstractMenu.c cl : Befehlszeile warning D9035 : Die Option "Wp64" ist veraltet und wird in ein er der nächsten Versionen entfernt. cl : Befehlszeile warning D9035 : Die Option "Wp64" ist veraltet und wird in ein er der nächsten Versionen entfernt. AbstractMenu.c C:\Perl\lib\CORE\sys/socket.h(34) : error C2220: Warnung wird als Fehler interpr etiert, es wurde keine object-Datei generiert. C:\Perl\lib\CORE\sys/socket.h(34) : warning C4005: 'ENOTSOCK': Makro-Neudefiniti on C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\INCLUDE\errno.h(1 20): Siehe vorherige Definition von 'ENOTSOCK' AbstractMenu.c(393) : warning C4267: 'Funktion': Konvertierung von 'size_t' nach 'I32', Datenverlust möglich AbstractMenu.c(395) : warning C4267: 'Funktion': Konvertierung von 'size_t' nach 'I32', Datenverlust möglich AbstractMenu.c(395) : warning C4267: 'Funktion': Konvertierung von 'size_t' nach 'I32', Datenverlust möglich AbstractMenu.c(395) : warning C4267: 'Funktion': Konvertierung von 'size_t' nach 'I32', Datenverlust möglich AbstractMenu.c(395) : warning C4267: 'Funktion': Konvertierung von 'size_t' nach 'I32', Datenverlust möglich AbstractMenu.c(395) : warning C4267: 'Funktion': Konvertierung von 'size_t' nach 'I32', Datenverlust möglich AbstractMenu.c(395) : warning C4267: 'Funktion': Konvertierung von 'size_t' nach 'I32', Datenverlust möglich AbstractMenu.c(395) : warning C4267: 'Funktion': Konvertierung von 'size_t' nach 'I32', Datenverlust möglich AbstractMenu.c(395) : warning C4267: 'Funktion': Konvertierung von 'size_t' nach 'I32', Datenverlust möglich AbstractMenu.c(412) : warning C4267: 'Funktion': Konvertierung von 'size_t' nach 'I32', Datenverlust möglich AbstractMenu.c(429) : warning C4267: 'Funktion': Konvertierung von 'size_t' nach 'I32', Datenverlust möglich AbstractMenu.c(430) : warning C4267: 'Funktion': Konvertierung von 'size_t' nach 'I32', Datenverlust möglich AbstractMenu.c(430) : warning C4267: 'Funktion': Konvertierung von 'size_t' nach 'I32', Datenverlust möglich AbstractMenu.c(430) : warning C4267: 'Funktion': Konvertierung von 'size_t' nach 'I32', Datenverlust möglich AbstractMenu.c(430) : warning C4267: 'Funktion': Konvertierung von 'size_t' nach 'I32', Datenverlust möglich AbstractMenu.c(430) : warning C4267: 'Funktion': Konvertierung von 'size_t' nach 'I32', Datenverlust möglich AbstractMenu.c(430) : warning C4267: 'Funktion': Konvertierung von 'size_t' nach 'I32', Datenverlust möglich AbstractMenu.c(430) : warning C4267: 'Funktion': Konvertierung von 'size_t' nach 'I32', Datenverlust möglich AbstractMenu.c(430) : warning C4267: 'Funktion': Konvertierung von 'size_t' nach 'I32', Datenverlust möglich AbstractMenu.c(430) : warning C4267: 'Funktion': Konvertierung von 'size_t' nach 'I32', Datenverlust möglich AbstractMenu.c(431) : warning C4267: 'Funktion': Konvertierung von 'size_t' nach 'I32', Datenverlust möglich AbstractMenu.c(451) : warning C4267: 'Initialisierung': Konvertierung von 'size_ t' nach 'int', Datenverlust möglich dmake: Error code 130, while making 'AbstractMenu.obj' C:\zwischen\Prima\Prima-1.28>
Subject: prima.nmake2.log.txt
C:\zwischen\Prima\Prima-1.28>C:\PROGRA~2\MICROS~1.0\VC\BIN\nmake.exe Microsoft (R) Program Maintenance Utility, Version 10.00.30319.01 Copyright (C) Microsoft Corporation. Alle Rechte vorbehalten. Creating directories... C:\Perl\bin\perl.exe -I. utils/gencls.pl --inc --h --tml Types.cls inclu de/generic C:\Perl\bin\perl.exe -I. utils/gencls.pl --inc --h --tml Object.cls incl ude/generic C:\Perl\bin\perl.exe -I. utils/gencls.pl --inc --h --tml Component.cls i nclude/generic C:\Perl\bin\perl.exe -I. utils/gencls.pl --inc --h --tml AbstractMenu.cl s include/generic C:\Perl\bin\perl.exe -I. utils/gencls.pl --inc --h --tml Drawable.cls in clude/generic C:\Perl\bin\perl.exe -I. utils/gencls.pl --inc --h --tml Image.cls inclu de/generic C:\Perl\bin\perl.exe -I. utils/gencls.pl --inc --h --tml Menu.cls includ e/generic C:\Perl\bin\perl.exe -I. utils/gencls.pl --inc --h --tml Widget.cls incl ude/generic cl -nologo -GF -W3 -MD -Zi -Ox -GL -Wp64 -fp:precise -W3 -WX -nologo -MD -Zi -Ox -GL -Wp64 -fp:precise -D_CRT_SECURE_NO_DEPRECATE -c -Iinclude -Iinclude \generic -IC:\Perl\lib\CORE -IC:\Perl\site\lib\Prima\codecs\win32\include -DHAVE _CONFIG_H=1 -FoAbstractMenu.obj AbstractMenu.c cl : Befehlszeile warning D9035 : Die Option "Wp64" ist veraltet und wird in ein er der nächsten Versionen entfernt. cl : Befehlszeile warning D9035 : Die Option "Wp64" ist veraltet und wird in ein er der nächsten Versionen entfernt. AbstractMenu.c C:\Perl\lib\CORE\sys/socket.h(34) : error C2220: Warnung wird als Fehler interpr etiert, es wurde keine object-Datei generiert. C:\Perl\lib\CORE\sys/socket.h(34) : warning C4005: 'ENOTSOCK': Makro-Neudefiniti on C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\INCLUDE\errno.h(1 20): Siehe vorherige Definition von 'ENOTSOCK' AbstractMenu.c(393) : warning C4267: 'Funktion': Konvertierung von 'size_t' nach 'I32', Datenverlust möglich AbstractMenu.c(395) : warning C4267: 'Funktion': Konvertierung von 'size_t' nach 'I32', Datenverlust möglich AbstractMenu.c(395) : warning C4267: 'Funktion': Konvertierung von 'size_t' nach 'I32', Datenverlust möglich AbstractMenu.c(395) : warning C4267: 'Funktion': Konvertierung von 'size_t' nach 'I32', Datenverlust möglich AbstractMenu.c(395) : warning C4267: 'Funktion': Konvertierung von 'size_t' nach 'I32', Datenverlust möglich AbstractMenu.c(395) : warning C4267: 'Funktion': Konvertierung von 'size_t' nach 'I32', Datenverlust möglich AbstractMenu.c(395) : warning C4267: 'Funktion': Konvertierung von 'size_t' nach 'I32', Datenverlust möglich AbstractMenu.c(395) : warning C4267: 'Funktion': Konvertierung von 'size_t' nach 'I32', Datenverlust möglich AbstractMenu.c(395) : warning C4267: 'Funktion': Konvertierung von 'size_t' nach 'I32', Datenverlust möglich AbstractMenu.c(412) : warning C4267: 'Funktion': Konvertierung von 'size_t' nach 'I32', Datenverlust möglich AbstractMenu.c(429) : warning C4267: 'Funktion': Konvertierung von 'size_t' nach 'I32', Datenverlust möglich AbstractMenu.c(430) : warning C4267: 'Funktion': Konvertierung von 'size_t' nach 'I32', Datenverlust möglich AbstractMenu.c(430) : warning C4267: 'Funktion': Konvertierung von 'size_t' nach 'I32', Datenverlust möglich AbstractMenu.c(430) : warning C4267: 'Funktion': Konvertierung von 'size_t' nach 'I32', Datenverlust möglich AbstractMenu.c(430) : warning C4267: 'Funktion': Konvertierung von 'size_t' nach 'I32', Datenverlust möglich AbstractMenu.c(430) : warning C4267: 'Funktion': Konvertierung von 'size_t' nach 'I32', Datenverlust möglich AbstractMenu.c(430) : warning C4267: 'Funktion': Konvertierung von 'size_t' nach 'I32', Datenverlust möglich AbstractMenu.c(430) : warning C4267: 'Funktion': Konvertierung von 'size_t' nach 'I32', Datenverlust möglich AbstractMenu.c(430) : warning C4267: 'Funktion': Konvertierung von 'size_t' nach 'I32', Datenverlust möglich AbstractMenu.c(430) : warning C4267: 'Funktion': Konvertierung von 'size_t' nach 'I32', Datenverlust möglich AbstractMenu.c(431) : warning C4267: 'Funktion': Konvertierung von 'size_t' nach 'I32', Datenverlust möglich AbstractMenu.c(451) : warning C4267: 'Initialisierung': Konvertierung von 'size_ t' nach 'int', Datenverlust möglich NMAKE : fatal error U1077: ""C:\Program Files (x86)\Microsoft Visual Studio 10.0 \VC\BIN\cl.EXE"": Rückgabe-Code "0x2" Stop. C:\zwischen\Prima\Prima-1.28>
Aha thanks. One of bug is fixed then. This one is left: C:\Perl\lib\CORE\sys/socket.h(34) : error C2220: Warnung wird als Fehler interpr etiert, es wurde keine object-Datei generiert. Apparently Prima picked up some wrong compiler options or paths. Can I ask you to do two things: 1) Get the latest Prima sources from cvs, http://prima.eu.org/anon_cvs.html , apply the patch, and try to compile again. 2) If this doesn't work, then compile some simple module that uses XS, for example JSON::XS, and send me copy of compiler output. I'm interested in compiler invocation like this: cl -nologo -GF -W3 -MD -Zi -Ox -GL -Wp64 -fp:precise -W3 -WX -nologo -MD -Zi -Ox -GL -Wp64 -fp:precise -D_CRT_SECURE_NO_DEPRECATE -c -Iinclude -Iinclude\generic -IC:\Perl\lib\CORE -IC:\Perl\site\lib\Prima\codecs\win32\include -DHAVE_CONFIG_ H=1 -FoAbstractMenu.obj AbstractMenu.c Thanks!
Well, looks like a problem. I installed CVS, downloaded the repo, applied the patch and got the known error (log attached). Then I tried to install JSON::XS the same way, which didn't work while producing the (most likely) same error (log attached). Then I installed it as I always do, via ppm. Here is what I get when doing so: C:\zwischen\Prima>ppm install JSON::XS Downloading JSON-XS-2.3...done Unpacking JSON-XS-2.3...done Generating HTML for JSON-XS-2.3...done Updating files in site area...done 11 files installed C:\zwischen\Prima> That's the reason, why I don't know anything about compiling. I don't have to :-s If there is anything else I can test for you, please let me know.
Subject: jsonxs.nmake.log.txt
C:\zwischen\Prima\JSON-XS-2.3>perl Makefile.PL Writing Makefile for JSON::XS C:\zwischen\Prima\JSON-XS-2.3>nmake Microsoft (R) Program Maintenance Utility, Version 10.00.30319.01 Copyright (C) Microsoft Corporation. Alle Rechte vorbehalten. cp XS/Boolean.pm blib\lib\JSON\XS\Boolean.pm cp XS.pm blib\lib\JSON\XS.pm C:\Perl\bin\perl.exe C:\Perl\site\lib\ExtUtils\xsubpp -typemap C:\Perl\ lib\ExtUtils\typemap -typemap typemap XS.xs > XS.xsc && C:\Perl\bin\perl.exe -M ExtUtils::Command -e "mv" -- XS.xsc XS.c cl -c -nologo -GF -W3 -MD -Zi -DNDEBUG -Ox -GL -Wp64 -fp:precise -DWI N32 -D_CONSOLE -DNO_STRICT -DHAVE_DES_FCRYPT -DWIN64 -DCONSERVATIVE -DUSE_SITECU STOMIZE -DPRIVLIB_LAST_IN_INC -DPERL_IMPLICIT_CONTEXT -DPERL_IMPLICIT_SYS -DUSE_ PERLIO -DPERL_MSVCRT_READFIX -MD -Zi -DNDEBUG -Ox -GL -Wp64 -fp:precise -DVER SION=\"2.3\" -DXS_VERSION=\"2.3\" "-IC:\Perl\lib\CORE" XS.c cl : Befehlszeile warning D9035 : Die Option "Wp64" ist veraltet und wird in ein er der nächsten Versionen entfernt. cl : Befehlszeile warning D9035 : Die Option "Wp64" ist veraltet und wird in ein er der nächsten Versionen entfernt. XS.c C:\Perl\lib\CORE\sys/socket.h(34) : warning C4005: 'ENOTSOCK': Makro-Neudefiniti on C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\INCLUDE\errno.h(1 20): Siehe vorherige Definition von 'ENOTSOCK' XS.xs(168) : warning C4244: '=': Konvertierung von 'UV' in 'unsigned char', mögl icher Datenverlust XS.xs(170) : warning C4244: '=': Konvertierung von 'UV' in 'unsigned char', mögl icher Datenverlust XS.xs(173) : warning C4244: '=': Konvertierung von 'UV' in 'unsigned char', mögl icher Datenverlust XS.xs(177) : warning C4244: '=': Konvertierung von 'UV' in 'unsigned char', mögl icher Datenverlust XS.xs(388) : warning C4996: 'sprintf': This function or variable may be unsafe. Consider using sprintf_s instead. To disable deprecation, use _CRT_SECURE_NO_WAR NINGS. See online help for details. C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\INCLUDE\stdio.h(3 71): Siehe Deklaration von 'sprintf' XS.xs(406) : warning C4244: '=': Konvertierung von 'UV' in 'char', möglicher Dat enverlust XS.xs(549) : warning C4267: '=': Konvertierung von 'size_t' nach 'int', Datenver lust möglich XS.xs(788) : warning C4996: 'sprintf': This function or variable may be unsafe. Consider using sprintf_s instead. To disable deprecation, use _CRT_SECURE_NO_WAR NINGS. See online help for details. C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\INCLUDE\stdio.h(3 71): Siehe Deklaration von 'sprintf' XS.xs(802) : warning C4244: 'Initialisierung': Konvertierung von 'IV' in 'I32', möglicher Datenverlust XS.xs(832) : warning C4996: '_snprintf': This function or variable may be unsafe . Consider using _snprintf_s instead. To disable deprecation, use _CRT_SECURE_NO _WARNINGS. See online help for details. C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\INCLUDE\stdio.h(3 63): Siehe Deklaration von '_snprintf' XS.xs(1039) : warning C4244: '=': Konvertierung von 'UV' in 'char', möglicher Da tenverlust XS.xs(1182) : warning C4244: 'Initialisierung': Konvertierung von '__w64 int' in 'int', möglicher Datenverlust XS.xs(1342) : warning C4244: 'Initialisierung': Konvertierung von '__w64 int' in 'int', möglicher Datenverlust XS.xs(1745) : warning C4018: '>': Konflikt zwischen 'signed' und 'unsigned' XS.xs(1878) : warning C4267: '=': Konvertierung von 'size_t' nach 'int', Datenve rlust möglich XS.xs(1951) : warning C4267: 'Funktion': Konvertierung von 'size_t' nach 'I32', Datenverlust möglich Running Mkbootstrap for JSON::XS () C:\Perl\bin\perl.exe -MExtUtils::Command -e "chmod" -- 644 XS.bs C:\Perl\bin\perl.exe -MExtUtils::Mksymlists -e "Mksymlists('NAME'=>\"JS ON::XS\", 'DLBASE' => 'XS', 'DL_FUNCS' => { }, 'FUNCLIST' => [], 'IMPORTS' => { }, 'DL_VARS' => []);" link -out:blib\arch\auto\JSON\XS\XS.dll -dll -nologo -nodefaultlib -debu g -opt:ref,icf -ltcg -libpath:"C:\Perl\lib\CORE" -machine:AMD64 XS.obj C:\Pe rl\lib\CORE\perl510.lib oldnames.lib kernel32.lib user32.lib gdi32.lib winspool. lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib netapi32.lib uuid.lib ws2_32.lib mpr.lib winmm.lib version.lib odbc32.lib odbccp32.lib comct l32.lib bufferoverflowU.lib msvcrt.lib -def:XS.def XS.obj : fatal error LNK1112: Modul-Computertyp "X86" steht in Konflikt mit dem Zielcomputertyp "x64". NMAKE : fatal error U1077: ""C:\Program Files (x86)\Microsoft Visual Studio 10.0 \VC\BIN\link.EXE"": Rückgabe-Code "0x458" Stop. C:\zwischen\Prima\JSON-XS-2.3>
Subject: prima.nmake3.log.txt
C:\zwischen\Prima\cvs\Prima>nmake Microsoft (R) Program Maintenance Utility, Version 10.00.30319.01 Copyright (C) Microsoft Corporation. Alle Rechte vorbehalten. Creating directories... C:\Perl\bin\perl.exe -I. utils/gencls.pl --inc --h --tml Types.cls incl de/generic C:\Perl\bin\perl.exe -I. utils/gencls.pl --inc --h --tml Object.cls inc ude/generic C:\Perl\bin\perl.exe -I. utils/gencls.pl --inc --h --tml Component.cls nclude/generic C:\Perl\bin\perl.exe -I. utils/gencls.pl --inc --h --tml AbstractMenu.c s include/generic C:\Perl\bin\perl.exe -I. utils/gencls.pl --inc --h --tml Drawable.cls i clude/generic C:\Perl\bin\perl.exe -I. utils/gencls.pl --inc --h --tml Image.cls incl de/generic C:\Perl\bin\perl.exe -I. utils/gencls.pl --inc --h --tml Menu.cls inclu e/generic C:\Perl\bin\perl.exe -I. utils/gencls.pl --inc --h --tml Widget.cls inc ude/generic cl -nologo -GF -W3 -MD -Zi -Ox -GL -Wp64 -fp:precise -W3 -WX -nologo -M -Zi -Ox -GL -Wp64 -fp:precise -D_CRT_SECURE_NO_DEPRECATE -c -Iinclude -Iinclud \generic -IC:\Perl\lib\CORE -IC:\Perl\site\lib\Prima\codecs\win32\include -DHAV _CONFIG_H=1 -FoAbstractMenu.obj AbstractMenu.c cl : Befehlszeile warning D9035 : Die Option "Wp64" ist veraltet und wird in ei er der nächsten Versionen entfernt. cl : Befehlszeile warning D9035 : Die Option "Wp64" ist veraltet und wird in ei er der nächsten Versionen entfernt. AbstractMenu.c C:\Perl\lib\CORE\sys/socket.h(34) : error C2220: Warnung wird als Fehler interp etiert, es wurde keine object-Datei generiert. C:\Perl\lib\CORE\sys/socket.h(34) : warning C4005: 'ENOTSOCK': Makro-Neudefinit on C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\INCLUDE\errno.h( 20): Siehe vorherige Definition von 'ENOTSOCK' AbstractMenu.c(393) : warning C4267: 'Funktion': Konvertierung von 'size_t' nac 'I32', Datenverlust möglich AbstractMenu.c(395) : warning C4267: 'Funktion': Konvertierung von 'size_t' nac 'I32', Datenverlust möglich AbstractMenu.c(395) : warning C4267: 'Funktion': Konvertierung von 'size_t' nac 'I32', Datenverlust möglich AbstractMenu.c(395) : warning C4267: 'Funktion': Konvertierung von 'size_t' nac 'I32', Datenverlust möglich AbstractMenu.c(395) : warning C4267: 'Funktion': Konvertierung von 'size_t' nac 'I32', Datenverlust möglich AbstractMenu.c(395) : warning C4267: 'Funktion': Konvertierung von 'size_t' nac 'I32', Datenverlust möglich AbstractMenu.c(395) : warning C4267: 'Funktion': Konvertierung von 'size_t' nac 'I32', Datenverlust möglich AbstractMenu.c(395) : warning C4267: 'Funktion': Konvertierung von 'size_t' nac 'I32', Datenverlust möglich AbstractMenu.c(395) : warning C4267: 'Funktion': Konvertierung von 'size_t' nac 'I32', Datenverlust möglich AbstractMenu.c(412) : warning C4267: 'Funktion': Konvertierung von 'size_t' nac 'I32', Datenverlust möglich AbstractMenu.c(429) : warning C4267: 'Funktion': Konvertierung von 'size_t' nac 'I32', Datenverlust möglich AbstractMenu.c(430) : warning C4267: 'Funktion': Konvertierung von 'size_t' nac 'I32', Datenverlust möglich AbstractMenu.c(430) : warning C4267: 'Funktion': Konvertierung von 'size_t' nac 'I32', Datenverlust möglich AbstractMenu.c(430) : warning C4267: 'Funktion': Konvertierung von 'size_t' nac 'I32', Datenverlust möglich AbstractMenu.c(430) : warning C4267: 'Funktion': Konvertierung von 'size_t' nac 'I32', Datenverlust möglich AbstractMenu.c(430) : warning C4267: 'Funktion': Konvertierung von 'size_t' nac 'I32', Datenverlust möglich AbstractMenu.c(430) : warning C4267: 'Funktion': Konvertierung von 'size_t' nac 'I32', Datenverlust möglich AbstractMenu.c(430) : warning C4267: 'Funktion': Konvertierung von 'size_t' nac 'I32', Datenverlust möglich AbstractMenu.c(430) : warning C4267: 'Funktion': Konvertierung von 'size_t' nac 'I32', Datenverlust möglich AbstractMenu.c(430) : warning C4267: 'Funktion': Konvertierung von 'size_t' nac 'I32', Datenverlust möglich AbstractMenu.c(431) : warning C4267: 'Funktion': Konvertierung von 'size_t' nac 'I32', Datenverlust möglich AbstractMenu.c(451) : warning C4267: 'Initialisierung': Konvertierung von 'size t' nach 'int', Datenverlust möglich NMAKE : fatal error U1077: ""C:\Program Files (x86)\Microsoft Visual Studio 10. \VC\BIN\cl.EXE"": Rückgabe-Code "0x2" Stop. C:\zwischen\Prima\cvs\Prima>
So, it seems that the error is related to the perl / msvc setup... Can I suggest you as a [ractical solution to install strawberry perl? You're also welcome to forward the bug to perl people because JSON::XS uses standard perl XS complilcation mechanism.
Last time, Strawberry-Perl lasted about 20min on this PC, before I switched back to ActiveState Perl. I will ask around, maybe there is someone able to help out.
I think I can help your local installation: try to locate either in Config.pm or in Config_heavy.pl ( in perl installation ) where the compiler options contain "-WX" option, and remove it. I think that should help.
Суб Янв 08 14:38:15 2011, KARASIK писал: Show quoted text
> I think I can help your local installation: try to locate either in > Config.pm or in Config_heavy.pl ( in perl installation ) where the > compiler options contain "-WX" option, and remove it. I think that > should help.
And, if that helps, you should definitely approach active state with this problem. -WX is not suitable for general purpose.
I will try to use the options. Meanwhile, I got a response from the author of JSON::XS. Taken aside, that he didn't compile JSON::XS himself, he wrote this: [quote] Show quoted text
> I recently reported a bug for Prima ( > https://rt.cpan.org/Ticket/Display.html?id=64572 ), which has troubles > compiling. As your module does fine, maybe you can have a look at the
ticket Show quoted text
> and in case of a spontaneous, problem sovling idea, post a comment :)
looking at apricot.h:341, the problem is that it assuems that PTRSIZE (size of pointer?) is either the same as for short, int, long or long long, when, on windows 64 bit, there is no standard integer type that is long enough to hold a pointer (all these are 32 bit, unbelievable but true). prima would need to use an integer type large enough to hold a pointer, which is compiler specific - __int64 (or __w64 int?) might work on visual c, google helps. alternatively, prima could just use IV or UV, as those are guaranteed by perl to have at least the required size (they might be larger though, but they can always be used as fallback). [/quote] hth, Alex
Thanks, but that's not relevant - that problem was fixed by the patch I've sent before. The problem with your installation is within socket.h, that comes with Perl, not with Prima.
So, I tried to locate the -WX option in both, Config_heavy.pl and Config.pm. I even searched all files in my perl installation but I didn't find anythng. I manually removed the option from Prima's Makefile. Nevertheless, it didn't work (log attached). There seemed to be to many warnings. I will continue to ask around.
Subject: prima.nmake4.log.txt

Message body is not shown because it is too large.

Ow, that's bad. All right, I'll try to get my hands on some 64-bit version of windows, and install ActiveState on it to test stuff. Did you just install ActiveState without separately installing MSVC suite, or the latter is needed too? If yes, which MSVC version did you install and from where?
Usually, there is only the ActiveState Perl installation. I installed separately Visual Studio 2010 Express for a non-perl-related c++ course (for beginners).
I've tried to install a compiler on a win64 system, couldn't install MinGW (it used to be supported on ActiveState with "ppm install MinGW", nor Visual C. Also, I've looked at the tiff error, could you try to remove img/codec_tiff.c and re-run "perl Makefile.PL"? Let's see if that error is the only one.
Yes, MinGW doesn't work with 64bit windows, at least, not the one bundeled with ActiveState. They only have this nice compiler-including kit for 32bit windows. This is where I got my Visual Studio 2010 Express from: http:// www.microsoft.com/express/Downloads/ Attached, you will find the log of nmake with remoced /img/codec_tiff.c hth, Alex
Subject: prima.nmake5.log.txt
C:\zwischen\Prima\cvs\Prima>nmake Microsoft (R) Program Maintenance Utility, Version 10.00.30319.01 Copyright (C) Microsoft Corporation. Alle Rechte vorbehalten. Creating directories... cl -nologo -GF -W3 -MD -Zi -Ox -GL -Wp64 -fp:precise -W3 -WX -nologo -MD -Zi -Ox -GL -Wp64 -fp:precise -D_CRT_SECURE_NO_DEPRECATE -c -Iinclude -Iinclude \generic -IC:\Perl\lib\CORE -IC:\Perl\site\lib\Prima\codecs\win32\include -DHAVE _CONFIG_H=1 -FoAbstractMenu.obj AbstractMenu.c cl : Befehlszeile warning D9035 : Die Option "Wp64" ist veraltet und wird in ein er der nächsten Versionen entfernt. cl : Befehlszeile warning D9035 : Die Option "Wp64" ist veraltet und wird in ein er der nächsten Versionen entfernt. AbstractMenu.c C:\Perl\lib\CORE\sys/socket.h(34) : error C2220: Warnung wird als Fehler interpr etiert, es wurde keine object-Datei generiert. C:\Perl\lib\CORE\sys/socket.h(34) : warning C4005: 'ENOTSOCK': Makro-Neudefiniti on C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\INCLUDE\errno.h(1 20): Siehe vorherige Definition von 'ENOTSOCK' AbstractMenu.c(393) : warning C4267: 'Funktion': Konvertierung von 'size_t' nach 'I32', Datenverlust möglich AbstractMenu.c(395) : warning C4267: 'Funktion': Konvertierung von 'size_t' nach 'I32', Datenverlust möglich AbstractMenu.c(395) : warning C4267: 'Funktion': Konvertierung von 'size_t' nach 'I32', Datenverlust möglich AbstractMenu.c(395) : warning C4267: 'Funktion': Konvertierung von 'size_t' nach 'I32', Datenverlust möglich AbstractMenu.c(395) : warning C4267: 'Funktion': Konvertierung von 'size_t' nach 'I32', Datenverlust möglich AbstractMenu.c(395) : warning C4267: 'Funktion': Konvertierung von 'size_t' nach 'I32', Datenverlust möglich AbstractMenu.c(395) : warning C4267: 'Funktion': Konvertierung von 'size_t' nach 'I32', Datenverlust möglich AbstractMenu.c(395) : warning C4267: 'Funktion': Konvertierung von 'size_t' nach 'I32', Datenverlust möglich AbstractMenu.c(395) : warning C4267: 'Funktion': Konvertierung von 'size_t' nach 'I32', Datenverlust möglich AbstractMenu.c(412) : warning C4267: 'Funktion': Konvertierung von 'size_t' nach 'I32', Datenverlust möglich AbstractMenu.c(429) : warning C4267: 'Funktion': Konvertierung von 'size_t' nach 'I32', Datenverlust möglich AbstractMenu.c(430) : warning C4267: 'Funktion': Konvertierung von 'size_t' nach 'I32', Datenverlust möglich AbstractMenu.c(430) : warning C4267: 'Funktion': Konvertierung von 'size_t' nach 'I32', Datenverlust möglich AbstractMenu.c(430) : warning C4267: 'Funktion': Konvertierung von 'size_t' nach 'I32', Datenverlust möglich AbstractMenu.c(430) : warning C4267: 'Funktion': Konvertierung von 'size_t' nach 'I32', Datenverlust möglich AbstractMenu.c(430) : warning C4267: 'Funktion': Konvertierung von 'size_t' nach 'I32', Datenverlust möglich AbstractMenu.c(430) : warning C4267: 'Funktion': Konvertierung von 'size_t' nach 'I32', Datenverlust möglich AbstractMenu.c(430) : warning C4267: 'Funktion': Konvertierung von 'size_t' nach 'I32', Datenverlust möglich AbstractMenu.c(430) : warning C4267: 'Funktion': Konvertierung von 'size_t' nach 'I32', Datenverlust möglich AbstractMenu.c(430) : warning C4267: 'Funktion': Konvertierung von 'size_t' nach 'I32', Datenverlust möglich AbstractMenu.c(431) : warning C4267: 'Funktion': Konvertierung von 'size_t' nach 'I32', Datenverlust möglich AbstractMenu.c(451) : warning C4267: 'Initialisierung': Konvertierung von 'size_ t' nach 'int', Datenverlust möglich NMAKE : fatal error U1077: ""C:\Program Files (x86)\Microsoft Visual Studio 10.0 \VC\BIN\cl.EXE"": Rückgabe-Code "0x2" Stop. C:\zwischen\Prima\cvs\Prima>
Thanks, I'll try it again. Meanwhile, could I ask you to remove also manually "-WX" from Makefile.PL and do the last step again? This way we could find if tiff is the only problematic code...
Ok, here is the current workflow: 1. cvs update 2. remove img/codec_tiff.c 3. perl Makefile.PL 4. remove -WX flags from Makefile 5. nmake The rest of the log, that was in the history of the shell is attached. The output of dmake is extremely smaller. hth, Alex
Subject: prima.dmake6.log.txt
C:\zwischen\Prima\cvs\Prima>dmake Creating directories... link -dll -nologo -nodefaultlib -debug -opt:ref,icf -ltcg -libpath:"C:\Perl\lib\ CORE" -machine:AMD64 /LIBPATH:\lib /LIBPATH:C:\Perl\lib\CORE /LIBPATH:C:\Perl\si te\lib\Prima\codecs\win32\lib /OUT:auto\Prima\Prima.dll AbstractMenu.obj AccelTa ble.obj Application.obj Clipboard.obj Component.obj DeviceBitmap.obj Drawable.ob j File.obj Icon.obj Image.obj Menu.obj Object.obj Popup.obj primguts.obj Printer .obj Timer.obj Utils.obj Widget.obj Widget_geometry.obj Window.obj img\bc_color. obj img\bc_const.obj img\bc_extra.obj img\codec_bmp.obj img\codec_jpeg.obj img\c odec_png.obj img\codec_ungif.obj img\codec_X11.obj img\codec_Xpm.obj img\codecs. obj img\conv.obj img\ic_conv.obj img\img.obj img\imgscale.obj img\imgtype.obj im g\put.obj win32\apc.obj win32\clip.obj win32\cursor.obj win32\dev.obj win32\file s.obj win32\global.obj win32\gp.obj win32\misc.obj win32\stock.obj win32\timers. obj Xpm.lib X11.lib ungif.lib png.lib jpeg.lib oldnames.lib kernel32.lib user32. lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleau t32.lib netapi32.lib uuid.lib ws2_32.lib mpr.lib winmm.lib version.lib odbc32.li b odbccp32.lib comctl32.lib msvcrt.lib perl510.lib /def:win32\Prima.def AbstractMenu.obj : fatal error LNK1112: Modul-Computertyp "X86" steht in Konflik t mit dem Zielcomputertyp "x64". dmake: Error code 216, while making 'auto\Prima\Prima.dll' C:\zwischen\Prima\cvs\Prima>
Subject: prima.nmake6.log.txt

Message body is not shown because it is too large.

Thanks! I actually managed to install MSVC and ActiveState on a x64 emulator, and couldn't even get as far as you did. I won't promise for a fast solution, there are bad issues, because ActiveState was compiled with MSVC version 6, which is not compatible with v10. Possibly I'll compile a hacked up binary version... we'll see how it goes. Thanks for all the efforts!
No Problem! I would be glad to use Prima as the first GUI library for perl, that installs and runs both, under Windows 7 x64 and OS X 10.5.6 Snow leopard :) Btw, I always use the command promt that ships with Visual Studio 2010 Express, as it has all compiler environment variables set. The default command promt doesn't have the required %ENV. There is a shortcut in the startmenu in the folder of MSVC. hth, Alex
I've been looking at x64 even more, and I'm afraid that the conclusion is that one can't build perl XS modules for it, at least in the configuration you have and I've tried to reproduce. I couldn't find any affirmative or negative information if MSVC in its default setup is able to generate 64-bit applications, but I myself couldn't even compile a simpliest "Hello world" 64-bit program. It all stops at "fatal error LNK1112: module machine type 'X86' conflicts with target machine type 'x64'" problem. I can't say now if this is ActiveState problem or our understanding of how MSVC v10 should be installed, but as of now, I can't make it work. I'll close the ticket with "rejected" status because even standard modules like JSON::XS can't be compiled in a most standard way under ActiveState 64. Personally, you may have more luck trying to install and use ActiveState 32 bit. I tried it too, and it also has problems which I can't solve yet, but it seems possible at least.