Comments (16)
@dktapps looks like we're now a step forward towards a solution, thanks for the PR! I've also extended the pitfalls section in the readme and added some more files.
@yitam could you please check the current master on the environment reproducing the issues?
Thanks!
from php-sdk-binary-tools.
Thanks for the report.
To use the versions from git, just checkout the corresponding branch or tag.
The bison issue is likely caused by the erroneous environment. Please check also the pitfalls section in the readme, especially the presence of Cygwin, MingW, etc. Unfortunately there's no clarity about this bug yet, despite it seems to be also have been showing up in the old SDK, as the ML link witnesses. It is currently not reproducible on clean environments and with Appveyor, fe https://ci.appveyor.com/project/php/php-src/build/master.build.2697/job/lgdjglnto6fch2e1#L493.
Thanks.
from php-sdk-binary-tools.
@yitam i've an idea how you can debug this. Please fetch procmon and set a filter to see anything related to bison.exe. In particular of the interest are all the file related calls, like paths where dependents are loaded from, or the skeleton path. Some registry keys or env vars might affect these behaviors, too.
Thanks.
from php-sdk-binary-tools.
Thanks @weltling for your prompt reply and suggestions. I'll try this in a clean vm today.
So this sounds like we can't compile both PHP 7.1 and PHP 7.2 in the same environment even though Visual Studio 15 and 17 could coexist? Or have I misunderstood?
from php-sdk-binary-tools.
Hi @weltling
For some reason I could not get procmon to find bison info, so I resorted to using a clean vm. Good news is that I can successfully compile PHP 7.2 and the extensions. I still prefer to figure out what's wrong in my current environment. But anyway, thanks for your help.
from php-sdk-binary-tools.
I have the same problem on my machine with only VS2017 installed. I can compile PHP 7.0 with the legacy SDK + VS2017 without a problem, but with this version I have this problem.
from php-sdk-binary-tools.
@yitam thanks for the update. Yeah, if bison isn't invoked, that makes the thing even more unclear. I kinda expected a new VM with only dedicated things on it to do the job.
@dktapps unfortunately this issue is not reproduceable neither on build hosts, nor on AppVeyor, etc. It has to be something on the given environment that causes it, without having the environment it's just shooting in the sky. Were you up to debug what bison does when you nmake? The issue is long standing, so any additional information is valuable.
Thanks.
from php-sdk-binary-tools.
@weltling I'm not sure how to debug what bison is up to, but I noticed today that if I download a zip of the SDK from releases, that works perfectly, but a git clone has problems.
I believe this is something to do with the line endings. The release archives have LF line endings, but the git repo seems to have CRLF, which appears to be causing problems with the binary tools. Maybe consider adding a .gitattributes?
from php-sdk-binary-tools.
Indeed the only difference between my git clone and the release archive I download from github is the line endings. I'm almost 100% sure this is the problem.
from php-sdk-binary-tools.
@dktapps to debug what bison does, an option could be checking the system calls it does in procmon.
With EOLs, yeah - I was mentioning that else where as well, but unfortunately had no feedback. LF in the only sensible options, especially it for sure can affect bison as it depends on the skeletons. I couldn't think we could control that behavior from within the repository. Would it be not overridden by the global ~/.gitconfig still? I'd happily merge a patch, if you got one that solves it on your side.
Thanks.
from php-sdk-binary-tools.
The gitconfig core.autocrlf
causes this problem when set to true. The referenced PR adds a gitattributes to override this behaviour.
from php-sdk-binary-tools.
@weltling
I confirm it fixes the issue we discussed in previous week. Currently new SDK does work for us as expected 👍
from php-sdk-binary-tools.
Kudos to you both @dktapps and @weltling :)
I'll definitely give this a try and get back to you... however, just wondering, why did it work in a clean vm before this PR fix?
from php-sdk-binary-tools.
@yitam check your gitconfig, automatic line ending conversion won't happen if core.autocrlf
is set to false.
from php-sdk-binary-tools.
Thank you all for the help. I can now build php7.2 in my existing environment (although I must say I've removed VS 2015 since I reported this issue). All the best.
from php-sdk-binary-tools.
Looks like we're done here :) 2.0.9
is tagged. Grateful thanks everyone involved, especially @dktapps for the investigation and the patch!
from php-sdk-binary-tools.
Related Issues (20)
- no genera librerias dll HOT 2
- Supporting multiple toolsets for a single VS installation HOT 3
- PGO CLI Training HOT 2
- Could not found vc15 folder. HOT 13
- It does not support gdb debug. HOT 2
- Could not determine 'vc15' directory HOT 14
- Bundle PHP 7.4 HOT 5
- Trying to Create My own Extension HOT 3
- PGO initialization fails on MariaDB download HOT 3
- Add exact requirements / better install manual to readme.md HOT 3
- libzip-1.6.1-vs16-x64 ENABLE_LZMA HOT 4
- Unable to build PHP master with VS 2019 because of iconv/sqlite3 dependency mismatch HOT 6
- Symfony HOT 1
- Auto
- MSys certs need updating
- Could not determine 'vs16' directory HOT 2
- How to choose vs 2017 when execute phpsdk-vc15-x64.bat? HOT 7
- when a path is contains blank spaces,bat execution failure HOT 5
- Failed to fetch supported branches HOT 4
- when command line include space in path the cli is not run HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from php-sdk-binary-tools.