Compiling in msys2
Nobody has claimed this yet.
- Dominant language
- Python
- Stars
- 14.4k
- Forks
- 1.3k
- PR merge metrics
- No merged PRs in 30d
Description
This is just my experience compiling with msys2 (Spoiler alert: I DID NOT Succeed).
Preliminary configuration:
Go ahead and install everything in the dependency list, except for Python-related stuff (numpy, pillow, pycodestyle, pygments, pylint). Get those with pip, except for pillow. Qt5 is 5GB, so it's gonna take a while.
Get dejavu fonts from here and install. These are unrelated to msys2 (and building in general).
Get the latest Pillow source, 4.3.0 as of now.
Extract, cd into it and run (in mingw32 shell):
python3 setup.py build_ext --disable-jpeg2000 install
Get pyReadLine with pip, Jasper and dlfcn from repo.
If I didn't forget anything, this should be enough. CMake is also looking for backtrace, gperftools, and inotify. These seem to be optional, so I never bothered with these.
As far as the code goes, my only problem with libopenage was the _MSC_VER checks. You guys should really consider replacing those that look for Windows with something else. I've made some changes (libopenage-msys2.zip), but since I couldn't build openage itself, I can only confirm that libopenage builds with these changes, but I have no idea, if it actually works.
When building openage, I got a bunch of unidentified references to Py* (you can feast your eyes here), which is not surprising, since nothing in openage is being linked against, well, anything python-related. At least I couldn't find one in any of the linklibs.rsp's in openage. Since I know pretty much nothing about Python, I didn't know what to do with this, so this was my dead end...
I'm not sure if this is related or not, but CMake, for whatever reason, detected PYTHON_LIBRARIES and PYTHON_LIBRARY as libpython3.6.dll, I manually changed them to libpython3.6.dll.a, that didn't seem to change anything...
I noticed that there also seems to be a problem with WinMain/SDL_main in run.exe, -lSDL2Main must be added for Windows.
I guess, this is it. I hope you guys find this useful!
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start with doc/building.md and the reported MSYS2 build failures, then inspect the _MSC_VER checks in libopenage, CMake's Python library detection, and the openage linklibs.rsp files. Reproduce the unresolved Py* references and the run.exe WinMain/SDL_main issue; done means openage builds successfully under MSYS2.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- cmake, cpp, python
- Domain
- build-system, operating-systems
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 20/100