wxPython for windows 64-bit

Hello all,

I tried this on the users list but no response yet so I
thought I would try here.

I have been trying to get wxPython to work with 64-bit
windows. First of all does anyone know of a build out there that is 64-bit? I
cannot seem to find any. I would gladly use the 32-bit version but there are
some other libraries that I need for python that if I use 32-bit python on a
64-bit machine it will not work, so I am stuck using 64-bit python and
therefore need 64-bit wxPython….

I have tried compiling using the build instructions using
both VS 2005 and VS.NET 2003. With
VS 2005 I am able to compile the wxWidgets ok, although for some reason I could
not get it to compile with the Unicode flags, said something about not being
able to open unicows.lib…after I compiled the widgets I went to use the
setup.py and got errors about the compiler I was using…can’t
remember what it was exactly but found on the web that I should use VS 2003 or
7.1 which is I believe 2003.

So I tried compiling with VS 2003 and I can’t even
compile wxWidgets…I used the following command:

nmake -f makefile.vc
OFFICIAL_BUILD=1 SHARED=1 MONOLITHIC=0 USE_OPENGL=1 USE_GDIPLUS=1 DEBUG_FLAG=1
CXXFLAGS=/D__NO_VC_CRTDBG__ WXDEBUGFLAG=h BUILD=release UNICODE=0 MSLU=0

I would love to be able to use the Unicode flags…I am
not too worried about supporting win9x so I may not need the mslu but I would
like to support Unicode for other windows platforms but I always get the error
about opening unicows.lib or whatever its called…

This is the last part of the output I get…

Creating library …\lib\vc_dll\wxbase28h.lib
and object …\lib\vc_dll\w

xbase28h.exp

wxzlibh.lib(wxzlib_trees.obj) : error LNK2001: unresolved
external symbol __secu

rity_cookie

wxzlibh.lib(wxzlib_inftrees.obj) : error LNK2001: unresolved
external symbol __s

ecurity_cookie

wxregexh.lib(wxregex_regerror.obj) : error LNK2001:
unresolved external symbol _

_security_cookie

wxregexh.lib(wxregex_regcomp.obj) : error LNK2001:
unresolved external symbol __

security_cookie

basedll_registry.obj : error LNK2001: unresolved external
symbol __security_cook

ie

basedll_utils.obj : error LNK2001: unresolved external symbol
__security_cookie

basedll_utilscmn.obj : error LNK2001: unresolved external
symbol __security_cook

ie

basedll_volume.obj : error LNK2001: unresolved external
symbol __security_cookie

basedll_wxchar.obj : error LNK2001: unresolved external
symbol __security_cookie

basedll_zipstrm.obj : error LNK2001: unresolved external
symbol __security_cooki

e

basedll_debughlp.obj : error LNK2001: unresolved external
symbol __security_cook

ie

basedll_dir.obj : error LNK2001: unresolved external symbol
__security_cookie

basedll_stream.obj : error LNK2001: unresolved external
symbol __security_cookie

basedll_tarstrm.obj : error LNK2001: unresolved external
symbol __security_cooki

e

basedll_textfile.obj : error LNK2001: unresolved external
symbol __security_cook

ie

basedll_variant.obj : error LNK2001: unresolved external
symbol __security_cooki

e

basedll_filename.obj : error LNK2001: unresolved external
symbol __security_cook

ie

basedll_intl.obj : error LNK2001: unresolved external symbol
__security_cookie

basedll_log.obj : error LNK2001: unresolved external symbol
__security_cookie

basedll_strconv.obj : error LNK2001: unresolved external
symbol __security_cooki

e

basedll_datetime.obj : error LNK2019: unresolved external
symbol __security_cook

ie referenced in function "public: static void __cdecl
wxDateTime::GetAmPmString

s(class wxString *,class wxString *)"
(?GetAmPmStrings@wxDateTime@@SAXPEAVwxStri

ng@@0@Z)

basedll_datstrm.obj : error LNK2001: unresolved external
symbol __security_cooki

e

basedll_fileconf.obj : error LNK2001: unresolved external
symbol __security_cook

ie

basedll_filefn.obj : error LNK2001: unresolved external
symbol __security_cookie

wxzlibh.lib(wxzlib_trees.obj) : error LNK2001: unresolved
external symbol __secu

rity_check_cookie

wxzlibh.lib(wxzlib_inftrees.obj) : error LNK2001: unresolved
external symbol __s

ecurity_check_cookie

wxregexh.lib(wxregex_regerror.obj) : error LNK2001:
unresolved external symbol _

_security_check_cookie

wxregexh.lib(wxregex_regcomp.obj) : error LNK2019: unresolved
external symbol __

security_check_cookie referenced in function pullback

basedll_registry.obj : error LNK2001: unresolved external
symbol __security_chec

k_cookie

basedll_utils.obj : error LNK2001: unresolved external
symbol __security_check_c

ookie

basedll_utilscmn.obj : error LNK2001: unresolved external
symbol __security_chec

k_cookie

basedll_volume.obj : error LNK2001: unresolved external
symbol _security_check

cookie

basedll_wxchar.obj : error LNK2001: unresolved external symbol
_security_check

cookie

basedll_zipstrm.obj : error LNK2001: unresolved external
symbol __security_check

_cookie

basedll_debughlp.obj : error LNK2001: unresolved external
symbol __security_chec

k_cookie

basedll_dir.obj : error LNK2001: unresolved external symbol
__security_check_coo

kie

basedll_stream.obj : error LNK2001: unresolved external
symbol _security_check

cookie

basedll_tarstrm.obj : error LNK2001: unresolved external
symbol __security_check

_cookie

basedll_textfile.obj : error LNK2001: unresolved external
symbol __security_chec

k_cookie

basedll_variant.obj : error LNK2001: unresolved external
symbol __security_check

_cookie

basedll_filename.obj : error LNK2001: unresolved external
symbol __security_chec

k_cookie

basedll_intl.obj : error LNK2001: unresolved external symbol
__security_check_co

okie

basedll_log.obj : error LNK2001: unresolved external symbol
__security_check_coo

kie

basedll_strconv.obj : error LNK2001: unresolved external
symbol __security_check

_cookie

basedll_datetime.obj : error LNK2001: unresolved external
symbol __security_chec

k_cookie

basedll_datstrm.obj : error LNK2001: unresolved external
symbol __security_check

_cookie

basedll_fileconf.obj : error LNK2001: unresolved external
symbol __security_chec

k_cookie

basedll_filefn.obj : error LNK2001: unresolved external
symbol _security_check

cookie

…\lib\vc_dll\wxbase28h_vc.dll : fatal error LNK1120: 2
unresolved externals

NMAKE : fatal error U1077: ‘link’ : return code ‘0x460’

Stop.

Any suggestions? Thanks in advance

Brandon

Brandon Pedersen wrote:

Hello all,

I tried this on the users list but no response yet so I thought I would try here.

I have been trying to get wxPython to work with 64-bit windows. First of all does anyone know of a build out there that is 64-bit? I cannot seem to find any. I would gladly use the 32-bit version but there are some other libraries that I need for python that if I use 32-bit python on a 64-bit machine it will not work, so I am stuck using 64-bit python and therefore need 64-bit wxPython….

I have no experience with 64-bit Windows. If somebody could provide a copy of 64-bit XP I'll give it a whirl and see if I can start providing binaries.

I have tried compiling using the build instructions using both VS 2005 and VS.NET <http://VS.NET> 2003. With VS 2005 I am able to compile the wxWidgets ok, although for some reason I could not get it to compile with the Unicode flags, said something about not being able to open unicows.lib…after I compiled the widgets I went to use the setup.py and got errors about the compiler I was using…can’t remember what it was exactly but found on the web that I should use VS 2003 or 7.1 which is I believe 2003.

Unicows would only be applicable to 32-bit anyway, so you can try leaving the MSLU settings in the build instructions at zero instead of one. Afterall, you can's run a 64-bit binary on win98! :wink:

So I tried compiling with VS 2003 and I can’t even compile wxWidgets…I used the following command:

nmake -f makefile.vc <http://makefile.vc> OFFICIAL_BUILD=1 SHARED=1 MONOLITHIC=0 USE_OPENGL=1 USE_GDIPLUS=1 DEBUG_FLAG=1 CXXFLAGS=/D__NO_VC_CRTDBG__ WXDEBUGFLAG=h BUILD=release UNICODE=0 MSLU=0

I would love to be able to use the Unicode flags…I am not too worried about supporting win9x so I may not need the mslu but I would like to support Unicode for other windows platforms but I always get the error about opening unicows.lib or whatever its called…

This is the last part of the output I get…

   Creating library ..\..\lib\vc_dll\wxbase28h.lib and object ..\..\lib\vc_dll\w

xbase28h.exp

wxzlibh.lib(wxzlib_trees.obj) : error LNK2001: unresolved external symbol __secu

rity_cookie

Did you read any of these? __security_cookie - Google Search

···

--
Robin Dunn
Software Craftsman
http://wxPython.org Java give you jitters? Relax with wxPython!

Ok, so I am very new to compiling with msvc...actually C in general...never
really programmed using C...anywho, so I read some of those posts and it
talked about when linking the files you need to use an extra command line
parameter of bufferoverflowU.lib to overcome the missing __security_cookie
thing....so instead of like "link file.cpp", it should be "link file.cpp
bufferoverflowU.lib"....now I am wondering how I can do that since I am just
using nmake to do all the work...is there some file I need to change so that
that parameter is added to all the linking steps? Sorry for my
ignorance...thanks for your help

Brandon

···

-----Original Message-----
From: Robin Dunn [mailto:robin@alldunn.com]
Sent: Monday, November 12, 2007 4:04 PM
To: wxPython-dev@lists.wxwidgets.org
Subject: Re: [wxPython-dev] wxPython for windows 64-bit

Brandon Pedersen wrote:

Hello all,

I tried this on the users list but no response yet so I thought I would
try here.

I have been trying to get wxPython to work with 64-bit windows. First of
all does anyone know of a build out there that is 64-bit? I cannot seem
to find any. I would gladly use the 32-bit version but there are some
other libraries that I need for python that if I use 32-bit python on a
64-bit machine it will not work, so I am stuck using 64-bit python and
therefore need 64-bit wxPython..

I have no experience with 64-bit Windows. If somebody could provide a
copy of 64-bit XP I'll give it a whirl and see if I can start providing
binaries.

I have tried compiling using the build instructions using both VS 2005
and VS.NET <http://VS.NET> 2003. With VS 2005 I am able to compile the
wxWidgets ok, although for some reason I could not get it to compile
with the Unicode flags, said something about not being able to open
unicows.lib.after I compiled the widgets I went to use the setup.py and
got errors about the compiler I was using.can't remember what it was
exactly but found on the web that I should use VS 2003 or 7.1 which is I
believe 2003.

Unicows would only be applicable to 32-bit anyway, so you can try
leaving the MSLU settings in the build instructions at zero instead of
one. Afterall, you can's run a 64-bit binary on win98! :wink:

So I tried compiling with VS 2003 and I can't even compile wxWidgets.I
used the following command:

nmake -f makefile.vc <http://makefile.vc> OFFICIAL_BUILD=1 SHARED=1
MONOLITHIC=0 USE_OPENGL=1 USE_GDIPLUS=1 DEBUG_FLAG=1
CXXFLAGS=/D__NO_VC_CRTDBG__ WXDEBUGFLAG=h BUILD=release UNICODE=0 MSLU=0

I would love to be able to use the Unicode flags.I am not too worried
about supporting win9x so I may not need the mslu but I would like to
support Unicode for other windows platforms but I always get the error
about opening unicows.lib or whatever its called.

This is the last part of the output I get.

   Creating library ..\..\lib\vc_dll\wxbase28h.lib and object
..\..\lib\vc_dll\w

xbase28h.exp

wxzlibh.lib(wxzlib_trees.obj) : error LNK2001: unresolved external
symbol __secu

rity_cookie

Did you read any of these?
http://www.google.com/search?hl=en&q=__security_cookie

--
Robin Dunn
Software Craftsman
http://wxPython.org Java give you jitters? Relax with wxPython!

---------------------------------------------------------------------
To unsubscribe, e-mail: wxPython-dev-unsubscribe@lists.wxwidgets.org
For additional commands, e-mail: wxPython-dev-help@lists.wxwidgets.org

Brandon Pedersen wrote:

Ok, so I am very new to compiling with msvc...actually C in general...never
really programmed using C...anywho, so I read some of those posts and it
talked about when linking the files you need to use an extra command line
parameter of bufferoverflowU.lib to overcome the missing __security_cookie
thing....so instead of like "link file.cpp", it should be "link file.cpp
bufferoverflowU.lib"....now I am wondering how I can do that since I am just
using nmake to do all the work...is there some file I need to change so that
that parameter is added to all the linking steps? Sorry for my
ignorance...thanks for your help

Looking at config.vc it looks like it expects you to set TARGET_CPU (set it to either AMD64 or IA64 on the nmake command-line) if it's not x86, so maybe that turns on some linker functionality that will take care of this for you. Otherwise you can try setting LDFLAGS to have things added to the linker command-line.

···

--
Robin Dunn
Software Craftsman
http://wxPython.org Java give you jitters? Relax with wxPython!

Well, I have gotten a bit further…I first realized I was using the wrong platform sdk which had the wrong version of libraries…not the 7.1 ones which is what I assume is what I need since python was built with that version…

Anyway, so I went into the config.vc file and added bufferoverflowu.lib as an LDFLAG and also on the command line specify TARGET_CPU=AMD64. Now I don’t get the security cookie error but I get a very unhelpful error:

    cl /c /nologo /TP /Fovc_mswuhdll\coredll_listctrl.obj /MD /DWIN32    /Fd

…..\lib\vc_dll\wxmsw28uh_core_vc.pdb /O2 /D__NO_VC_CRTDBG__ /D__WXMSW__ /D

WXDEBUG /D_UNICODE /DwxUSE_GRAPHICS_CONTEXT=1 /I…..\lib\vc_dll\mswuh

/I…..\include /W4 /I…..\src\tiff /I…..\src\jpeg /I…..\src\png /I…..\

src\zlib /I…..\src\regex /I…..\src\expat\lib /DWXUSINGDLL /DWXMAKINGDLL_COR

E /DwxUSE_BASE=0 /GR /EHsc /Yu"wx/wxprec.h" /Fp"vc_mswuhdll\wxprec_coredll.pch

" /D__NO_VC_CRTDBG__ …..\src\msw\listctrl.cpp

listctrl.cpp

…..\src\msw\listctrl.cpp(2569) : warning C4310: cast truncates constant value

…..\src\msw\listctrl.cpp(3078) : warning C4267: ‘=’ : conversion from ‘size_t’

to ‘int’, possible loss of data

e:\dist\src\src\msw\listctrl.cpp(2414) : fatal error C1001: INTERNAL COMPILER ER

ROR

(compiler file ‘g:\lab22vclkg\vctools\compiler\utc\src\P2\main.c’, line 224)

Please choose the Technical Support command on the Visual C++

Help menu, or open the Technical Support help file for more information

NMAKE : fatal error U1077: ‘cl’ : return code ‘0x2’

Stop.

(By the way, I am not building from inside visual studio but on the command line following the instructions here: http://wxpython.org/builddoc.php)

Now my question is on the microsoft website here: http://support.microsoft.com/kb/894573 it shows an example of a 2 step build process which is what this is doing. In the example it shows that the bufferoverflowu.lib file was added to the END of the cl command. And the cl documentation says that lib files should be appended after the c file. Well, if I add the lib file in the config.vc file under the compiler flags it adds the lib file before the C file and throws an error saying it can’t find the source file.

First of all, would adding the bufferoverflowu.lib
file to the command fix this compiler error? Is the lib file really necessary for cl since in the documentation for cl it says it just passes it on to the linker which is done in a separate step anyway? Finally if I do need to add the lib file at the end what would you suggest is the best way to go about that? If I looked at it right I could just do like a global search and replace for $** and replace it with $** bufferoverflowu.lib but that seems a bit tedious, but I will do it if you think it will work.

Thanks again!!!

Brandon

ps - setting MSLU=0 and keeping unicode=1 helped with the unicows.dll thing…thanks

···

On Nov 13, 2007 5:04 PM, Robin Dunn robin@alldunn.com wrote:

Brandon Pedersen wrote:

Ok, so I am very new to compiling with msvc…actually C in general…never
really programmed using C…anywho, so I read some of those posts and it
talked about when linking the files you need to use an extra command line

parameter of bufferoverflowU.lib to overcome the missing __security_cookie
thing…so instead of like “link file.cpp”, it should be “link file.cpp
bufferoverflowU.lib”…now I am wondering how I can do that since I am just

using nmake to do all the work…is there some file I need to change so that
that parameter is added to all the linking steps? Sorry for my
ignorance…thanks for your help

Looking at config.vc it looks like it expects you to set TARGET_CPU (set
it to either AMD64 or IA64 on the nmake command-line) if it’s not x86,
so maybe that turns on some linker functionality that will take care of

this for you. Otherwise you can try setting LDFLAGS to have things
added to the linker command-line.


Robin Dunn
Software Craftsman

http://wxPython.org
Java give you jitters? Relax with wxPython!


To unsubscribe, e-mail:
wxPython-dev-unsubscribe@lists.wxwidgets.org
For additional commands, e-mail: wxPython-dev-help@lists.wxwidgets.org

Brandon Pedersen wrote:

First of all, would adding the bufferoverflowu.lib file to the command fix this compiler error?

It's doubtful. ICEs usually indicate an unrecoverable bug in the compiler itself, and as you mentioned the libs are not even used in the compile step.

Is the lib file really necessary for cl since in the documentation for cl it says it just passes it on to the linker which is done in a separate step anyway? Finally if I do need to add the lib file at the end what would you suggest is the best way to go about that? If I looked at it right I could just do like a global search and replace for $** and replace it with $** bufferoverflowu.lib but that seems a bit tedious, but I will do it if you think it will work.

At this point I don't know what to suggest. I'd really need to have it in front of me to be able to do a bunch of guess-tweak-try cycles to be able to figure out more.

···

--
Robin Dunn
Software Craftsman
http://wxPython.org Java give you jitters? Relax with wxPython!