Bug #74398 [Opn]: PHP compiles good with --with-openssl, but nmake snap returns a fatal error

From: Date: Sun, 16 Apr 2017 22:26:07 +0000
Subject: Bug #74398 [Opn]: PHP compiles good with --with-openssl, but nmake snap returns a fatal error
References: 1  Groups: php.bugs 
Request: Send a blank email to php-bugs+get-208606@lists.php.net to get a copy of this message
Edit report at https://bugs.php.net/bug.php?id=74398&edit=1

 ID:                 74398
 User updated by:    acuna dot personal at gmail dot com
 Reported by:        acuna dot personal at gmail dot com
 Summary:            PHP compiles good with --with-openssl, but nmake
                     snap returns a fatal error
 Status:             Open
 Type:               Bug
 Package:            OpenSSL related
 Operating System:   Windows 10.1 x64
 PHP Version:        7.2.0-dev
 Block user comment: N
 Private report:     N

 New Comment:

Hello!

Well, yes, I understand this, but I thought that binary tools must be actually with the PHP version,
otherwise it'll birth more problems than solves it. And finally, it's recommends for
download with GitHub at the latest version of manual, which you've gave to me. But okay, will
try to use 2.0.0, no problems)

Well, I afraid it's not static by default (when not to put the "shared" value
forcibly I mean). It was necessary for me only to use the --with-openssl=shared forcibly to compile
it shared.

Thanks for advice with --enable-snapshot-build, I read about it. But can I ask you about its value
more deeply? What is phrase "turns on everything it can" means? Is it means that its
builds it with all extensions embed by default?

Thanks a lot!

P. S. If we talk about options - what is --enable-one-shot key really means too, especially
"not so hot for edit-and-rebuild hacking" phrase? I don't want to create a new bug
report with the template "<key> working but ignoring", but I tried it to use it for
the more quickly builds because I need to test my own extensions etc, but it seems that it's
not working on latest PHP versions, because on 7.1.3 it build tooks less than 20 secs, but at the
7.2.0-dev it take more than 5 minutes with the same configs.


Previous Comments:
------------------------------------------------------------------------
[2017-04-14 22:50:02] ab@php.net

Yeah, you told latest binary tools from github, but it's actually versioned, so there can be
certain difference. That's why i asked to be precise and there's more on report process
here https://bugs.php.net/how-to-report.php ;)
Be aware about the compatibility notes https://wiki.php.net/internals/windows/stepbystepbuild_sdk_2,
likely it'll work as expected but please use the stable tag, 2.0.0 currently.

ext/openssl is already shared by default, except an explicit option is given. Depending on what you
need, simplest were to --enable-snapshot-build, except you'd need some highly customized build.
Probably we indeed could disable static building of ext/openssl, need to evaluate the consequences.
In general, custom builds should not be prohibited.

Thanks.

------------------------------------------------------------------------
[2017-04-14 19:57:48] acuna dot personal at gmail dot com

Ah, and yes, seems that I forgot to tell you which binary I've use (but I'm sure that
I've done it) - it's the latest one from GitHub, I've dovnloaded it time after time
I've build my own PHP so far.

------------------------------------------------------------------------
[2017-04-14 19:54:21] acuna dot personal at gmail dot com

Wow! Seems it working now when I try to build it shared. I've no need to get DLLs separated
when I compile it statically, so I didn't do it. But I think you should make it forcibly shared
like opcache, gd, etc, or, if it impossible for some reasons, at least make an announcement in
manual that it must be only compiled shared, because I've spent more than three days to find a
reason in my broken sources as I think, because I believed that it can't be so fail bug with
OpenSSL which is idle in fact.

------------------------------------------------------------------------
[2017-04-13 11:30:47] ab@php.net

Thanks for the further checking. Unfortunately you still didn't tell which exact binary tools
you use. But otherwise, if the error message you've posted is onlyto see with OpenSSL enabled,
there are two things. First, seems you compile ext/openssl statically, which should not be done if
using the official deps. Then - seems there are some other OpenSSL DLLs on your path, that differ
from what the deps package provides.

Thanks.

------------------------------------------------------------------------
[2017-04-12 19:41:11] acuna dot personal at gmail dot com

Hello!

I've made more than 10 builds with differ configs and have established, that this problem is
actual only with OpenSSL compile and PHP >= 7.1 Besides this problem it's appeared, that
final php.exe is unworkable and throw a error

"Serial number 385 was not found in the library .dll
C:\PHP\sdk\phpdev\vc14\x86\php-7.2.0-dev\Release\php7.dll"

when it starts (standart Win32 window, not compiler, it have no errors).

Some kind of thoughts (just a theory) - that I've based my PHP src at C:\PHP\sdk, not
C:\php-sdk, it seems that you'll try to check its path in OpenSSL sources, I think it's
necessary to make changes at it, so than it could see a relative paths, because I have no problems
with other modules with my own path.

Thanks.

------------------------------------------------------------------------


The remainder of the comments for this report are too long. To view
the rest of the comments, please view the bug report online at

    https://bugs.php.net/bug.php?id=74398


--
Edit this bug report at https://bugs.php.net/bug.php?id=74398&edit=1


Thread (18 messages)

« previous php.bugs (#208606) next »