Return-Path: X-Original-To: python-list@python.org Delivered-To: python-list@mail.python.org X-Spam-Status: OK 0.000 X-Spam-Evidence: '*H*': 1.00; '*S*': 0.00; 'method,': 0.05; 'initialize': 0.07; 'skip:` 10': 0.07; 'working:': 0.07; '#define': 0.09; '#undef': 0.09; 'fatal': 0.09; 'linker': 0.09; 'referenced': 0.09; 'setup.py': 0.09; 'valueerror:': 0.09; 'error:': 0.10; 'output': 0.10; 'library': 0.13; 'binary': 0.13; '"python': 0.15; 'honor': 0.15; 'skip:" 40': 0.15; 'skip:v 30': 0.15; '/nologo': 0.16; '498,': 0.16; 'config.h': 0.16; 'declaration': 0.16; 'externals': 0.16; 'from:addr:alec.taylor6': 0.16; 'from:name:alec taylor': 0.16; 'install"': 0.16; 'modified.': 0.16; 'skip:/ 50': 0.16; 'unresolved': 0.16; 'cc:addr :python-list': 0.16; 'looked': 0.16; 'extension': 0.17; 'wrote:': 0.18; '(which': 0.19; '(most': 0.21; 'received:209.85.210.174': 0.21; 'received:mail-iy0-f174.google.com': 0.21; 'header:In-Reply- To:1': 0.22; 'command': 0.24; 'specify': 0.24; 'traceback': 0.24; 'creating': 0.25; 'windows': 0.26; 'skip:_ 20': 0.26; 'figure': 0.26; 'url:mailman': 0.27; 'function': 0.27; 'tried': 0.27; 'looks': 0.27; 'raise': 0.28; 'skip:" 30': 0.28; 'message- id:@mail.gmail.com': 0.29; 'compile': 0.29; 'exit': 0.29; 'made.': 0.29; "skip:' 30": 0.29; 'worked': 0.29; 'installed': 0.29; 'cc:addr:python.org': 0.29; 'pm,': 0.29; 'skip:p 30': 0.29; 'cc:addr:googlegroups.com': 0.30; 'installer': 0.30; 'error': 0.30; 'skip:b 30': 0.31; 'file.': 0.31; 'url:listinfo': 0.32; 'does': 0.32; 'tue,': 0.32; "isn't": 0.33; 'there': 0.33; 'object': 0.33; 'file': 0.34; 'running': 0.34; 'copied': 0.34; 'directory.': 0.34; 'last):': 0.34; 'option.': 0.34; 'symbol': 0.34; 'copying': 0.35; 'external': 0.35; 'url:python': 0.35; 'install': 0.35; 'cc:2**1': 0.36; 'created': 0.37; 'run': 0.37; 'but': 0.37; 'received:google.com': 0.37; 'subject:with': 0.37; 'skip:_ 10': 0.38; 'received:209.85': 0.38; 'monday,': 0.38; 'files': 0.39; 'url:org': 0.39; 'header': 0.39; 'received:209': 0.39; 'setup': 0.40; 'skip:_ 30': 0.40; 'march': 0.61; 'below': 0.62; 'studio': 0.63; 'skip:b 50': 0.67; 'taylor': 0.67; 'brand': 0.76; 'skip:9 20': 0.84; 'successful.': 0.93 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type:content-transfer-encoding; bh=QTKCcsJCZEs8V1S8kVPX+mJOJw9zJH7yslLR0b0UOhM=; b=Kg9YYRzpFf6T5jevIgbC+RS33hUTc/r20P27PZfeDtfb4DkXHY3qn8CqTNIrhlagXD uxli9NuMauKJAB4CHZZCbbCmwA+xAjMTMHpxxTGFgHGh4aT/ysr32k1vaC+IdQ2fCJ7z qP61L8spxBx/80xVJlt5WWbuUdNYabD0m96gfmN+8VrelsxKYhkzJu79pd6dF9PL/U62 eFhcTYMb7j9lIe+OFrvXj1mGn4Pvt4YExHGyvzxgtz4vYJoQ8uEuF/QBBqluk0OPsJpr PbkMNpFMLShOr5SHtf3xEI2iKNqDZu6NkD8E1j8egGxllMTFcmWpe/ceUZ2SYJUarn51 Ha3A== MIME-Version: 1.0 In-Reply-To: <13993807.3661.1331611178050.JavaMail.geo-discussion-forums@pbcgf10> References: <35da69c3-edcc-4466-8a0d-70237c88af3b@qv4g2000pbc.googlegroups.com> <13993807.3661.1331611178050.JavaMail.geo-discussion-forums@pbcgf10> Date: Tue, 13 Mar 2012 15:57:51 +1100 Subject: Re: PyCrypto builds neither with MSVC nor MinGW From: Alec Taylor To: casevh@gmail.com Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable Cc: python-list@python.org, comp.lang.python@googlegroups.com X-BeenThere: python-list@python.org X-Mailman-Version: 2.1.12 Precedence: list List-Id: General discussion list for the Python programming language List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Newsgroups: comp.lang.python Message-ID: Lines: 177 NNTP-Posting-Host: 2001:888:2000:d::a6 X-Trace: 1331614675 news.xs4all.nl 6882 [2001:888:2000:d::a6]:34486 X-Complaints-To: abuse@xs4all.nl Path: csiph.com!usenet.pasdenom.info!news.stben.net!border3.nntp.ams.giganews.com!border1.nntp.ams.giganews.com!nntp.giganews.com!newsfeed.xs4all.nl!newsfeed5.news.xs4all.nl!xs4all!post.news.xs4all.nl!not-for-mail Xref: csiph.com comp.lang.python:21554 Hmm, I just tried that method, but the output I got was still: C:\workingdir\pycrypto>python setup.py install running install running build running build_py running build_ext building 'Crypto.Random.OSRNG.winrandom' extension Traceback (most recent call last): File "setup.py", line 452, in core.setup(**kw) File "C:\Python27\lib\distutils\core.py", line 152, in setup dist.run_commands() File "C:\Python27\lib\distutils\dist.py", line 953, in run_commands self.run_command(cmd) File "C:\Python27\lib\distutils\dist.py", line 972, in run_command cmd_obj.run() File "C:\Python27\lib\distutils\command\install.py", line 563, in run self.run_command('build') File "C:\Python27\lib\distutils\cmd.py", line 326, in run_command self.distribution.run_command(command) File "C:\Python27\lib\distutils\dist.py", line 972, in run_command cmd_obj.run() File "C:\Python27\lib\distutils\command\build.py", line 127, in run self.run_command(cmd_name) File "C:\Python27\lib\distutils\cmd.py", line 326, in run_command self.distribution.run_command(command) File "C:\Python27\lib\distutils\dist.py", line 972, in run_command cmd_obj.run() File "setup.py", line 249, in run build_ext.run(self) File "C:\Python27\lib\distutils\command\build_ext.py", line 339, in run self.build_extensions() File "setup.py", line 146, in build_extensions build_ext.build_extensions(self) File "C:\Python27\lib\distutils\command\build_ext.py", line 448, in build_extensions self.build_extension(ext) File "C:\Python27\lib\distutils\command\build_ext.py", line 498, in build_extension depends=3Dext.depends) File "C:\Python27\lib\distutils\msvc9compiler.py", line 473, in compile self.initialize() File "C:\Python27\lib\distutils\msvc9compiler.py", line 383, in initializ= e vc_env =3D query_vcvarsall(VERSION, plat_spec) File "C:\Python27\lib\distutils\msvc9compiler.py", line 299, in query_vcvarsall raise ValueError(str(list(result.keys()))) ValueError: [u'path'] -------------- and when I manually run vcvarsall (which is in PATH), I get the aforementioned linker errors: -------------- C:\workingdir\pycrypto>python setup.py install running install running build running build_py running build_ext building 'Crypto.Random.OSRNG.winrandom' extension C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\BIN\cl.exe /c /nologo /Ox /MD /W3 /GS- /DNDEBUG -Isrc/ -Isrc/inc-msvc/ -IC:\Python27\include -IC:\Python27 \PC /Tcsrc/winrand.c /Fobuild\temp.win-amd64-2.7\Release\src/winrand.obj winrand.c C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\BIN\link.exe /DLL /nologo /INCREMENTAL:NO /LIBPATH:C:\Python27\libs /LIBPATH:C:\Python27\PCbuild\amd64 ws2 _32.lib advapi32.lib /EXPORT:initwinrandom build\temp.win-amd64-2.7\Release\src/ winrand.obj /OUT:build\lib.win-amd64-2.7\Crypto\Random\OSRNG\winrandom.pyd = /IMPL IB:build\temp.win-amd64-2.7\Release\src\winrandom.lib /MANIFESTFILE:build\temp.win-amd64-2.7\Release\src\winrandom.pyd.manifest Creating library build\temp.win-amd64-2.7\Release\src\winrandom.lib and object build\temp.win-amd64-2.7\Release\src\winrandom.exp winrand.obj : error LNK2019: unresolved external symbol __imp__PyObject_Free referenced in function _WRdealloc winrand.obj : error LNK2019: unresolved external symbol __imp__PyExc_SystemError referenced in function _WRdealloc winrand.obj : error LNK2019: unresolved external symbol __imp__PyErr_Format referenced in function _WRdealloc winrand.obj : error LNK2019: unresolved external symbol __imp__PyExc_TypeError referenced in function _WRdealloc winrand.obj : error LNK2019: unresolved external symbol __imp___PyObject_New referenced in function _winrandom_new winrand.obj : error LNK2019: unresolved external symbol __imp__PyArg_ParseTupleAndKeywords referenced in function _winrandom_new winrand.obj : error LNK2019: unresolved external symbol __imp__PyString_FromStringAndSize referenced in function _WR_get_bytes winrand.obj : error LNK2019: unresolved external symbol __imp__PyMem_Free referenced in function _WR_get_bytes winrand.obj : error LNK2019: unresolved external symbol __imp__PyErr_NoMemory referenced in function _WR_get_bytes winrand.obj : error LNK2019: unresolved external symbol __imp__PyMem_Malloc referenced in function _WR_get_bytes winrand.obj : error LNK2019: unresolved external symbol __imp__PyErr_SetString referenced in function _WR_get_bytes winrand.obj : error LNK2019: unresolved external symbol __imp__PyExc_ValueError referenced in function _WR_get_bytes winrand.obj : error LNK2019: unresolved external symbol __imp__PyArg_ParseTuple referenced in function _WR_get_bytes winrand.obj : error LNK2019: unresolved external symbol __imp__Py_FindMethod referenced in function _WRgetattr winrand.obj : error LNK2019: unresolved external symbol __imp__PyInt_FromLong referenced in function _WRgetattr winrand.obj : error LNK2019: unresolved external symbol __imp__Py_FatalError referenced in function _initwinrandom winrand.obj : error LNK2019: unresolved external symbol __imp__PyErr_Occurred referenced in function _initwinrandom winrand.obj : error LNK2019: unresolved external symbol __imp__PyModule_AddStringConstant referenced in function _initwinrandom winrand.obj : error LNK2019: unresolved external symbol __imp__PyModule_AddIntConstant referenced in function _initwinrandom winrand.obj : error LNK2019: unresolved external symbol __imp__Py_InitModule4 referenced in function _initwinrandom winrand.obj : error LNK2019: unresolved external symbol __imp__PyType_Type referenced in function _initwinrandom build\lib.win-amd64-2.7\Crypto\Random\OSRNG\winrandom.pyd : fatal error LNK= 1120: 21 unresolved externals error: command '"C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\BIN\link.exe"' failed with exit status 1120 On Tue, Mar 13, 2012 at 2:59 PM, wrote: > On Monday, March 12, 2012 1:38:29 PM UTC-7, Alec Taylor wrote: >> On a brand new Windows install now, with a brand new VS8 installed >> with new YASM and MPIR in c:\usr\src\include and c:\usr\src\lib. >> >> But it still isn't working: >> > This was a little challenging. I looked through the setup.py to figure ou= t what assumptions their build process made. First, the file pycrypto-2.5\s= rc\inc-msvc\config.h must be modified. Below is the file I used: > > config.h > =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D > /* Define to 1 if you have the declaration of `mpz_powm', and to 0 if you > =A0 don't. */ > #define HAVE_DECL_MPZ_POWM 1 > > /* Define to 1 if you have the declaration of `mpz_powm_sec', and to 0 if= you > =A0 don't. */ > #define HAVE_DECL_MPZ_POWM_SEC 0 > > /* Define to 1 if you have the `gmp' library (-lgmp). */ > #undef HAVE_LIBGMP > > /* Define to 1 if you have the `mpir' library (-lmpir). */ > #define HAVE_LIBMPIR 1 > > /* Define to 1 if you have the header file. */ > #define HAVE_STDINT_H 1 > =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D > > Although I was able to specify an include directory for mpir.h with -Ic:\= usr\include, I was not able specify a lib directory with -Lc:\usr\lib. It l= ooks like setup.py does not honor the -L option. So I finally gave up and j= ust copied the mpir.h file into my Python27\include directory and the mpir.= lib file into my Python27\libs directory. > > After copying the files "python setup.py install" was successful. I creat= ed a binary installer with "python setup.py bdist-wininst". > > There may be a cleaner way to build PyCrypto, but these steps worked for = me. > > casevh > -- > http://mail.python.org/mailman/listinfo/python-list