Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

fetch-deps fails for vs17 series #23

Closed
cmb69 opened this issue Oct 21, 2024 · 16 comments
Closed

fetch-deps fails for vs17 series #23

cmb69 opened this issue Oct 21, 2024 · 16 comments

Comments

@cmb69
Copy link
Contributor

cmb69 commented Oct 21, 2024

The vs17 series files contain many entries for vs16 dependency builds. However, fetch-deps.ps1 can't handle this, since it always tries to fetch a vs17 dependency. For instance, a library should be build against PHP 8.4, x64, staging, and requires zlib. fetch-deps.ps1 would read the respective series file, finds that it needs to fetch zlib-1.3.1, but would then try to download zlib-1.3.1-vs17-x64.zip, which doesn't exist. For a couple of builds, I've worked around with a hack. Note that phpsdk_deps doesn't have this problem, since it just downloads what is specified; however, phpsdk_deps doesn't handle PECL dependency libs at all, while there is some basic support in fetch-deps.ps1.

Background: until a few years ago, we rebuilt all dependencies for every new major VS version. We even needed to rebuild a couple of extensions for some minor VS versions, because especially PGO builds have been very picky about static libraries. Then somebody came up with the (undocumented) /d2:-AllowCompatibleILVersions option to cl.exe, and that works great (at least I haven't noticed any issues).

Now the question is whether fetch-deps.ps1 should be fixed to fetch the proper dependency builds, or whether we want to roll out new builds of the core dependencies for PHP 8.4 (and up). I'm on the fence here: while I would prefer rolling out new builds (seems "cleaner", and might be better optimized), I understand that this requires quite some time (which is rare).

@shivammathur, what do you think? If you prefer to (mostly) stick with the vs16 builds, I can provide a PR to fix fetch-deps.ps1 (I think I can; although I would prefer to have a fetch-deps.php).

@shivammathur
Copy link
Contributor

@cmb69
Lets do vs17 builds, Since you already updated the workflows it should be easy.

@cmb69
Copy link
Contributor Author

cmb69 commented Oct 25, 2024

Okay, I'll do builds and testing. :)

@cmb69
Copy link
Contributor Author

cmb69 commented Oct 26, 2024

First couple of vs17 builds (did some updates; local testing showed no issues; no need to rename, since all have been build against tags):

Could you please roll these out for PHP 8.4 and up, @shivammathur?

@cmb69
Copy link
Contributor Author

cmb69 commented Oct 27, 2024

Next bunch of builds (analogous to above):

@shivammathur
Copy link
Contributor

@cmb69 Thanks. I have uploaded these and updated the series files

@cmb69
Copy link
Contributor Author

cmb69 commented Oct 28, 2024

Next bunch of builds (analogous to above):

@shivammathur
Copy link
Contributor

Uploaded

@cmb69
Copy link
Contributor Author

cmb69 commented Oct 30, 2024

@shivammathur
Copy link
Contributor

Uploaded

@cmb69
Copy link
Contributor Author

cmb69 commented Oct 31, 2024

Next couple of builds (analogous to above):

Sorry, I've overlooked that enchant depends on glib, so this will take another round.

@shivammathur
Copy link
Contributor

Uploaded

@cmb69
Copy link
Contributor Author

cmb69 commented Nov 2, 2024

So here is enchant:

I would also suggest to roll out libzip 1.11.2 which claims to fix a performance regression in 1.11.0:

Now only apache is left, and that should have been the simplest update, since we just fetch the latest builds from apacheloung.com and repackage. However, I stumbled upon php/php-src#16682; without patching the headers, that won't even build. Maybe it's best to just rename apache-2.4.43-vs16-*.zip to apache-2.4.43-vs17-*.zip, and be done for now.

@shivammathur
Copy link
Contributor

shivammathur commented Nov 2, 2024

Done, I have also copied over the apache builds.

@matsuo
Copy link

matsuo commented Nov 3, 2024

Would you please upgrade to OpenLDAP 2.5.18?
Because OpenLDAP 2.4.47 was released about 6 years ago and contains multiple vulnerabilities.

The upgrading for security fixes seems to be needed in the following libraries.
There may be others, but here are I noticed.

  • openldap-2.4.47-1 -> 2.5.18
  • libxpm-3.5.12pl1-1 -> 3.5.17
  • libsasl-2.1.27-3 -> 2.1.28

Thank you.

@cmb69
Copy link
Contributor Author

cmb69 commented Nov 3, 2024

@matsuo, there is already winlibs/openldap#6, and now I filed winlibs/cyrus-sasl#3. Regarding libxpm, see winlibs/libxpm#3.

@cmb69 cmb69 closed this as completed Nov 3, 2024
@matsuo
Copy link

matsuo commented Nov 4, 2024

@cmb69
I see. If there is anything else, I will try to response in each issue.

Thank you so much.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants