python-build-standalone icon indicating copy to clipboard operation
python-build-standalone copied to clipboard

Fail openssl 3.0.15 build with pearl when building on windows

Open nicolahcm opened this issue 11 months ago • 1 comments

I am trying to build a distributable, by running the build-windows.py

I run {path_to_the_dist_I_want_build}\python.exe build-windows.py --sh C:\cygwin64\bin\sh.exe --options noopt

Everything goes fine, but then it blocks in

openssl>        "C:\...\python-build-standalone\build\strawberry-perl\perl\bin\perl.exe" "-I." -Mconfigdata "util\dofile.pl" "-omakefile" "include\openssl\conf.h.in" > include\openssl\conf.h
openssl> Cannot find the specified path.
openssl> jom: C:\Users\...\AppData\Local\Temp\openssl-build-uhmz4fql\x64\openssl-3.0.15\Makefile [include\crypto\dso_conf.h] Error 1
openssl> jom: C:\Users\...\AppData\Local\Temp\openssl-build-uhmz4fql\x64\openssl-3.0.15\Makefile [include\openssl\asn1t.h] Error 1
openssl> jom: C:\Users\...\AppData\Local\Temp\openssl-build-uhmz4fql\x64\openssl-3.0.15\Makefile [include\openssl\cms.h] Error 1
openssl> jom: C:\Users\...\AppData\Local\Temp\openssl-build-uhmz4fql\x64\openssl-3.0.15\Makefile [include\openssl\conf.h] Error 1
openssl> process exited 2

I checked is on the file cpython-windows > build.py on the method: build_openssl_for_arch when running jom.

I actually tried to separately replicate the commands on perl to build the openssl but without success.

I am running windows 10 on x64 Architecture, and I want to build a python distribution starting from the dist:

  • cpython-3.10.16+20241206-x86_64-pc-windows-msvc-shared-pgo-full.tar.zst (then I added some custom libraries) from the list of dists: https://github.com/indygreg/python-build-standalone/tree/zb/openssl

Has someone come across such problem? Has someone fixed it?

p.s. I add some info. Still not fixed. The process of build of openssl goes in error, and I tried to do in by hand (then I remove from code the step of building openssl for arch).

There are executed 2 steps:

  1. Since my machine is based on x64 architecture, it runs the following {path_to_local_perl}\perl.exe Configure VC-WIN64A no-idea no-mdc2 no-tests --prefix=/64 This is the configuration step of openssl. It goes fine.

  2. Later I try to do the build either with jom or nmake, as many people use nmake. With nmake It gets the following error: nmake from VS x64:

C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.42.34433\bin\Hostx64\x64\nmake.exe

Microsoft (R) Program Maintenance Utility   version 14.42.34435.0
Copyright (C) Microsoft Corporation. All rights reserved.
        "{...}\python_build_standalone\build_tester\strawberry-perl\perl\bin\perl.exe" "-I." -Mconfigdata "util\dofile.pl" "-omakefile" "include\crypto\bn_conf.h.in" > include\crypto\bn_conf.h
Cannot find the specified path.
NMAKE : fatal error U1077: '"{...}\perl.exe" "-I." -Mconfigdata "util\dofile.pl" "-omakefile" "include\crypto\bn_conf.h.in" > include\crypto\bn_conf.h' : code error '0x1'
Stop.

It is most likely an issue to be opened on openssl. Has someone encountered it?

nicolahcm avatar Dec 17 '24 12:12 nicolahcm