-
-
Notifications
You must be signed in to change notification settings - Fork 1.1k
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
Enhance DLL search on Windows #1649
Merged
Merged
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
heinezen
added
os: windows
Windows-specific issue
lang: python
Done in Python code
area: assets
Involved with assets (images, sounds, ...)
labels
May 17, 2024
This was
linked to
issues
May 17, 2024
heinezen
force-pushed
the
fix/python-windows-dll
branch
3 times, most recently
from
May 18, 2024 02:37
b4b4652
to
1ba66ab
Compare
C3pa
reviewed
May 18, 2024
heinezen
force-pushed
the
fix/python-windows-dll
branch
from
May 18, 2024 20:24
1ba66ab
to
e5311c1
Compare
Wow, what a clusterfuck, I remember when we discovered that. Didn't know it's still leaving its trail! Excellent idea with the DllManager, will probably make it much easier to react to Python's weirdness in that regard in the future. 👍🏽 |
TheJJ
reviewed
May 21, 2024
TheJJ
approved these changes
May 23, 2024
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Labels
area: assets
Involved with assets (images, sounds, ...)
bugfix
Restores intended behavior
lang: python
Done in Python code
os: windows
Windows-specific issue
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Fixes the import errors for the compiled libraries and Python modules on Windows by adding better default search paths. If you build openage from source with the documented instructions, there shouldn't be any Python errors after this PR.
The problem in #1644 was that the dependent libraries were no longer found automatically since Python 3.8 and you had to use
--add-dll-search-path
to avoid errors. However, it's not always obvious how this argument should be used. Therefore, openage now sets sane defaults to search for:python.dll
openage.dll
nyan.dll
Furthermore, it fixes the errors in #1624 . These happened because the DLLs are only set per process, so subprocesses in
multiprocessing
were not aware about the DLL search paths. This problem is now solved by adding aDllDirectoryManager
object that can be passed around and then used to add/remove DLL search paths.