classification
Title: [2.7] Python 64 bit _ssl compile fails due missing buildinf_amd64.h
Type: compile error Stage:
Components: Build, SSL Versions: Python 2.7
process
Status: open Resolution:
Dependencies: Superseder:
Assigned To: zach.ware Nosy List: christian.heimes, haypo, hirenvadalia, zach.ware
Priority: normal Keywords: patch

Created on 2017-08-04 13:02 by hirenvadalia, last changed 2017-08-07 10:39 by haypo.

Files
File name Uploaded Description Edit
openssl-1.0.2j.diff hirenvadalia, 2017-08-04 13:21 Patch for openssl-1.0.2j on http://svn.python.org/projects/external/openssl-1.0.2j/
Messages (3)
msg299743 - (view) Author: Hiren Vadalia (hirenvadalia) * Date: 2017-08-04 13:02
I am trying to compile Python 2.7.13 (https://github.com/python/cpython/tree/9c1426de7521299f70eb5483e7e25d1c2a73dbbd) in 64 bit but I am getting following error:
Build started: Project: _ssl, Configuration: Release|x64
Performing Pre-Build Event...
Found a working perl at 'c:\perl\bin\perl.exe'
Traceback (most recent call last):
  File "build_ssl.py", line 248, in <module>
    main()
  File "build_ssl.py", line 231, in main
    shutil.copy(r"crypto\buildinf_%s.h" % arch, r"crypto\buildinf.h")
  File "C:\projects\windows-work\cpython-2.7.13\lib\shutil.py", line 119, in copy
    copyfile(src, dst)
  File "C:\projects\windows-work\cpython-2.7.13\lib\shutil.py", line 82, in copyfile
    with open(src, 'rb') as fsrc:
IOError: [Errno 2] No such file or directory: 'crypto\\buildinf_amd64.h'
Project : error PRJ0019: A tool returned an error code from "Performing Pre-Build Event..."
Build log was saved at "file://C:\projects\windows-work\cpython-2.7.13\PC\VS9.0\x64-temp-Release\_ssl\BuildLog.htm"
_ssl - 1 error(s), 0 warning(s)
Build started: Project: _hashlib, Configuration: Release|x64
Performing Pre-Build Event...
Found a working perl at 'c:\perl\bin\perl.exe'
Traceback (most recent call last):
  File "build_ssl.py", line 248, in <module>
    main()
  File "build_ssl.py", line 231, in main
    shutil.copy(r"crypto\buildinf_%s.h" % arch, r"crypto\buildinf.h")
  File "C:\projects\windows-work\cpython-2.7.13\lib\shutil.py", line 119, in copy
    copyfile(src, dst)
  File "C:\projects\windows-work\cpython-2.7.13\lib\shutil.py", line 82, in copyfile
    with open(src, 'rb') as fsrc:
IOError: [Errno 2] No such file or directory: 'crypto\\buildinf_amd64.h'
Project : error PRJ0019: A tool returned an error code from "Performing Pre-Build Event..."
Build log was saved at "file://C:\projects\windows-work\cpython-2.7.13\PC\VS9.0\x64-temp-Release\_hashlib\BuildLog.htm"
_hashlib - 1 error(s), 0 warning(s)
Build complete: 23 Projects succeeded, 2 Projects failed, 1 Projects skipped


Then I did some search here + buildbots and I found there is already bug for it: https://bugs.python.org/issue30368 which seems to be fixed for upcoming Python 2.7.14 release.
Also I found that for commit 9c1426de7521299f70eb5483e7e25d1c2a73dbbd AMD64 buildbot has failed build (http://buildbot.python.org/all/builders/AMD64%20Windows7%20SP1%20VS9.0%202.7/builds/23/)
msg299744 - (view) Author: Hiren Vadalia (hirenvadalia) * Date: 2017-08-04 13:03
I did some more digging into this and I found something strange:
So while compiling Python, it downloads externals from http://svn.python.org/projects/external/
Above site has many version of openssl so I looked into all openssl directory and found that from openssl version 0.9.8g we have ‘buildinf_amd64.h’ file under http://svn.python.org/projects/external/openssl-0.9.8g/crypto/ till openssl version 1.0.2f and after that we don’t have ‘*_amd64.h’ file under openssl-*/crypro directory and that is the reason 64 bit build is failing when user tries to compile Python 2.7.13 using PC\VS9.0 build scripts + Visual Studio 2008.

Since all openssl source on http://svn.python.org/projects/external/ is pre-configured, don’t you guys think we should have *_amd64.h file under openssl-*/crypto directory?
msg299745 - (view) Author: Hiren Vadalia (hirenvadalia) * Date: 2017-08-04 13:06
Just another update I had chat with Zach for this on core-mentorship@python.org and he suggested to supply a patch which I will submit soon.
History
Date User Action Args
2017-08-07 10:39:01hayposetnosy: + haypo
2017-08-04 14:14:35zach.waresetassignee: christian.heimes -> zach.ware
2017-08-04 14:05:37hirenvadaliasetnosy: + zach.ware
2017-08-04 13:21:51hirenvadaliasetfiles: + openssl-1.0.2j.diff
keywords: + patch
2017-08-04 13:06:00hirenvadaliasetmessages: + msg299745
2017-08-04 13:03:37hirenvadaliasetmessages: + msg299744
2017-08-04 13:02:50hirenvadaliacreate