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

From: Date: Mon, 24 Apr 2017 15:41:27 +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-208743@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
 Updated by:         ab@php.net
 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:

On the wiki, it's about latest <b>stable</b>. Anyway, --with-extname can now be
forced shared by default in 7.0, see f7b8322b144122baddaf365c37dca3b8e547725e and please check.

The --enable-one-shot option appears to be dead. Seems it were implemented long ago for some older
VS compilers, today it has absolutely no implementation. For that, --with-mp is enabled by default
with the snapshot build, otherwise you have to pass it manually, see configure --help for details.
I'm going to remove --enable-one-shot in master, as it has already no effect since long.

For custom extensions, I'd recommend the dev SDK and in addition maybe also https://github.com/FriendsOfPHP/pickle . But even
the dev alone is a good choice for a faster build.

Thanks.


Previous Comments:
------------------------------------------------------------------------
[2017-04-16 22:26:04] acuna dot personal at gmail dot com

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.

------------------------------------------------------------------------
[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.

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


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 (#208743) next »