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

Bump MySQL to 5.7.44 on Windows too #2232

Merged
merged 2 commits into from
Jan 6, 2025

Conversation

peace-maker
Copy link
Member

@peace-maker peace-maker commented Dec 15, 2024

Dynamically link the CRT for the MySQL extension to be able to use libmysqlclient builds past the 5.5.54 release. This requires the VC runtime to be installed now while we previously linked them statically.

This allows to use the new caching_sha2_password default password encryption scheme from MySQL 8+ from Windows SRCDS too.

The build slaves need updating too if we want this.

Fixes #2231

Old dll dependencies

dumpbin /dependents dbi.mysql.ext.dll
Microsoft (R) COFF/PE Dumper Version 14.37.32824.0
Copyright (C) Microsoft Corporation.  All rights reserved.


Dump of file dbi.mysql.ext.dll

File Type: DLL

  Image has the following dependencies:

    WSOCK32.dll
    Secur32.dll
    WS2_32.dll
    KERNEL32.dll
    ADVAPI32.dll

  Summary

      2BB000 .data
       1D000 .rdata
        7000 .reloc
        1000 .rsrc
       74000 .text

New dll dependencies

dumpbin /dependents dbi.mysql.ext.dll
Microsoft (R) COFF/PE Dumper Version 14.37.32824.0
Copyright (C) Microsoft Corporation.  All rights reserved.


Dump of file dbi.mysql.ext.dll

File Type: DLL

  Image has the following dependencies:

    CRYPT32.dll
    WSOCK32.dll
    MSVCP140.dll
    Secur32.dll
    WS2_32.dll
    bcrypt.dll
    VCRUNTIME140.dll
    api-ms-win-crt-stdio-l1-1-0.dll
    api-ms-win-crt-convert-l1-1-0.dll
    api-ms-win-crt-heap-l1-1-0.dll
    api-ms-win-crt-runtime-l1-1-0.dll
    api-ms-win-crt-string-l1-1-0.dll
    api-ms-win-crt-environment-l1-1-0.dll
    api-ms-win-crt-math-l1-1-0.dll
    api-ms-win-crt-time-l1-1-0.dll
    api-ms-win-crt-utility-l1-1-0.dll
    api-ms-win-crt-filesystem-l1-1-0.dll
    KERNEL32.dll
    USER32.dll
    ADVAPI32.dll

  Summary

       B1000 .data
      33C000 .rdata
       1A000 .reloc
        1000 .rsrc
      1FD000 .text

@peace-maker
Copy link
Member Author

We can't go to 8.0 because there are no 32bit libraries for Windows available.
https://dev.mysql.com/downloads/mysql/

There are some for linux though I haven't tried using them. MySQL 8.1+ dropped 32bit support.

EOL of 32-bit Software for MySQL 8.1+.

Starting with MySQL 8.1 and future releases, only 64-bit binaries will be provided. Existing MySQL 8.0 will continue to provide 32-bit and 64-bit binaries for supported platforms until EOL in April 2026.

@peace-maker
Copy link
Member Author

It seems like we'd need to host the 8.0 32bit build ourselves if we'd want to update. The Windows installer only contains the x64 build too even though it is advertised to be 32 bit.

@peace-maker peace-maker merged commit 74f1f8f into alliedmodders:master Jan 6, 2025
4 checks passed
@peace-maker peace-maker deleted the mysql57 branch January 6, 2025 23:17
@psychonic
Copy link
Member

It seems like we'd need to host the 8.0 32bit build ourselves if we'd want to update. The Windows installer only contains the x64 build too even though it is advertised to be 32 bit.

I don't think that's necessarily a problem.

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

Successfully merging this pull request may close these issues.

Build regression after upgrading MySQL version on Windows
2 participants