Giter Club home page Giter Club logo

Comments (16)

weltling avatar weltling commented on May 16, 2024 2

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

weltling avatar weltling commented on May 16, 2024

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.

weltling avatar weltling commented on May 16, 2024

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

yitam avatar yitam commented on May 16, 2024

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.

yitam avatar yitam commented on May 16, 2024

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.

dktapps avatar dktapps commented on May 16, 2024

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.

weltling avatar weltling commented on May 16, 2024

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

dktapps avatar dktapps commented on May 16, 2024

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

dktapps avatar dktapps commented on May 16, 2024

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.

weltling avatar weltling commented on May 16, 2024

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

dktapps avatar dktapps commented on May 16, 2024

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.

marinesovitch avatar marinesovitch commented on May 16, 2024

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

yitam avatar yitam commented on May 16, 2024

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.

dktapps avatar dktapps commented on May 16, 2024

@yitam check your gitconfig, automatic line ending conversion won't happen if core.autocrlf is set to false.

from php-sdk-binary-tools.

yitam avatar yitam commented on May 16, 2024

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.

weltling avatar weltling commented on May 16, 2024

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)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.