adang1345 / delvewheel

Self-contained Python wheels for Windows
MIT License
123 stars 12 forks source link

libwinpthread-1.dll mangling #21

Closed caspervdw closed 2 years ago

caspervdw commented 2 years ago

We recently had to add --no-mangle "libwinpthread-1.dll" in one of our private repositories because we were seeing:

RuntimeError: Unable to rename the dependencies of libgcc_s_seh-1.dll because this DLL has trailing data. If this DLL was created with MinGW, run the strip utility. Otherwise, include {'libwinpthread-1.dll'} in the --no-mangle flag. In addition, if you believe that delvewheel should avoid name-mangling a specific DLL by default, open an issue at https://github.com/adang1345/delvewheel/issues and include this error message.

I have no idea why this happened - the only change in our build was the cibuildwheel version (1.10 -> 2.3.0), which also changed the pip version (21.1 -> 21.3). Earlier today, everything was fine with cibuildwheel 1.10 / pip 21.1, but again, I don't see the connection as these bumps wouldn't change any DLL version. Both are using delvewheel 0.0.15.

I see that psycopg2 also encountered the same issue.

https://github.com/psycopg/psycopg/commit/6c3cc44bc359be522575801556d133271f1d88e8

Maybe you want to add libwinpthread-1.dll to the default "no-mangle" list.

adang1345 commented 2 years ago

Evidently, something changed with libgcc_s_seh-1.dll. Maybe MinGW was updated on the build machine. I'll add libwinpthread-1.dll to the default no-mangle list.