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

Cross compilation fails #506

Closed
jbrea opened this issue May 23, 2022 · 8 comments
Closed

Cross compilation fails #506

jbrea opened this issue May 23, 2022 · 8 comments

Comments

@jbrea
Copy link

jbrea commented May 23, 2022

I'm trying to cross-compile ViZDoom 1.1.13 (see here), but it fails with errors

CMake Error at src/vizdoom/CMakeLists.txt:32 (include):
  include could not find requested file:

    IMPORTFILE-NOTFOUND

CMake Error at src/vizdoom/tools/lemon/CMakeLists.txt:17 (add_custom_command):
  No TARGET 'lemon' has been created in this directory.

Am I doing something wrong?

@Miffyli Miffyli added the julia label May 23, 2022
@Miffyli
Copy link
Collaborator

Miffyli commented May 23, 2022

Pinging @mwydmuch as he is the wizard who understands all of this makefile stuff 🙃

@mwydmuch
Copy link
Member

Hello @jbrea, ViZDoom doesn't officially support cross-compilation. There are some parts in CMakeFilles that suggest that someone used it for ZDoom, but it wasn't and still isn't documented. Personally, I've never tried to cross-compile ViZDoom.

Maybe there is a way to make cross-compilation work, but unfortunately, at the moment, I'm not sure if I'm able to help you. I suggest trying to create separate builds for Linux, macOS, and Windows using their target platforms to build them.

I checked the list of targets you tried to compile in your PR (long list), please note that ViZDoom won't compile for C++03 targets (only C++11 and higher are supported), ARM targets (this one was broken last time I checked, but we've never aimed to support it, and I will probably scrap ARM code, and work on compatibility for M1 later this year), and there is no support for FreeBSD and PowerPC.

@giordano
Copy link

please note that ViZDoom won't compile for C++03 targets

C++03 refers to GCC C++03 std::string ABI, which does not have anything to do with the standard of the source code.

@mwydmuch
Copy link
Member

@giordano I haven't known about it, thank you. This makes a lot of sense.

@jbrea
Copy link
Author

jbrea commented May 24, 2022

Thanks a lot for the feedback!

@mwydmuch
Copy link
Member

Closing this issue due to lack of activity.

@StefanKarpinski
Copy link

This issue still exists though, no?

@mwydmuch
Copy link
Member

I would assume the issue still exists, but it is something we don't plan to work on. (Vi)ZDoom was not really created with cross-compilation in mind, as it has rather complicated building system. Some elements of the building system build subprograms that generate sources for further steps of compilation. We never supported this way of building it. We compile for ViZDoom can be compiled for x86_x64 and ARM64 Linux and MacOS using docker and architecture emulation.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

5 participants