You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I have tried my absolute best to reduce the problem-space and have provided the absolute smallest test-case possible.
I can always reproduce the issue with the provided description below.
Environment
Operating System version: Microsoft Windows Server 2022 10.0.20348
Game/AppID (with version if applicable):
Current SourceMod version:
Current SourceMod snapshot:
Current Metamod: Source snapshot:
I have updated SourceMod to the latest version and it still happens.
I have updated SourceMod to the latest snapshot and it still happens.
I have updated SourceMM to the latest snapshot and it still happens.
Description
#2192 broke building the mysql extension on Windows - but only after some time? Probably Github Actions caching the old MySQL version?
The release notes for MySQL 5.5.55 state under Compilation Notes:
Windows builds now use the default runtime libraries (builds use the /MD flag). (Bug #25611609)
Which was the reason 5.5.54 was selected on Windows. We compile statically using /MT which links the libcmt.lib common runtime statically. The mysqlclient links the dynamic .dll now too which causes a conflict and would require the dynamic library to be available in the library path when loading the mysql extension.
This causes builds to fail to link in CI. The build servers don't use the checkout-deps.sh script and thus are still on the old mysql version 5.5.54.
Problematic Code (or Steps to Reproduce)
Build sourcemod on Windows and grab dependencies using the `tools/checkout-deps.sh` script.
Logs
LINK : warning LNK4098: defaultlib 'MSVCRT' conflicts with use of other libs; use /NODEFAULTLIB:library
LINK : warning LNK4286: symbol 'exit' defined in 'libucrt.lib(exit.obj)' is imported by 'mysqlclient.lib(str_alloc.obj)'
...
mysqlclient.lib(my_init.obj) : error LNK2001: unresolved external symbol __imp_getenv
mysqlclient.lib(handshake_client.obj) : error LNK2001: unresolved external symbol __imp_getenv
...
Help us help you
Environment
Description
#2192 broke building the mysql extension on Windows - but only after some time? Probably Github Actions caching the old MySQL version?
The release notes for MySQL 5.5.55 state under
Compilation Notes
:Which was the reason 5.5.54 was selected on Windows. We compile statically using
/MT
which links the libcmt.lib common runtime statically. The mysqlclient links the dynamic .dll now too which causes a conflict and would require the dynamic library to be available in the library path when loading the mysql extension.This causes builds to fail to link in CI. The build servers don't use the checkout-deps.sh script and thus are still on the old mysql version 5.5.54.
Problematic Code (or Steps to Reproduce)
Logs
https://github.com/alliedmodders/sourcemod/actions/runs/12089683390/job/33715394830
The text was updated successfully, but these errors were encountered: