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

Troubles with "make windows" #20

Closed
PaulHaeger opened this issue Oct 24, 2019 · 9 comments
Closed

Troubles with "make windows" #20

PaulHaeger opened this issue Oct 24, 2019 · 9 comments
Labels

Comments

@PaulHaeger
Copy link

PaulHaeger commented Oct 24, 2019

I was investigating the build-mingw64.sh in the zyn-fusion build repo and fixing all the errors that came up. I have been succesful so far. However when running "make windows" in mruby-zest-build I get the following error:

C:/msys64/home/Paul/zyn-fusion-build/mruby-zest-build/deps/mruby-process/src/process.c:14:10:   fatal error: sys/wait.h: No such file or directory
14 | #include <sys/wait.h>
|          ^~~~~~~~~~~~

I attached the full output of the make command.
log.txt

The error probably comes from the usage of the wait() function, which does not exist in windows. If there is no way to solve the problem in mruby-zest, then the build system probably needs to be switched to cygwin.

I apologize if that is not the correct repo to ask about.

@fundamental
Copy link
Member

If memory serves correctly https://github.com/zynaddsubfx/zyn-fusion-build/blob/master/mruby-dir-glob-no-process.patch is the patch which fixes the dependency from mruby-dir-glob which removes the runtime dependency on mruby-process which allows the windows build to complete (with respect to this particular error). That change should be ported upstream at some point, however it will likely require the mruby-zest project to take over the mruby-dir-glob package as it seems to be abandoned gromnitsky/mruby-dir-glob#1

@PaulHaeger
Copy link
Author

Thanks for the quick response!

With a bit of fiddling I managed to install the mruby-dir-glob-no-process.patch and the mruby-io-libname.patch, however I fail at installing the mruby-float-patch.patch.

I attached the output, but im not sure if its any use to you.
log.txt

I apologize that its in german, I was not able to change it to english. It seems like git tries to find the code in the source files and fails.

@fundamental
Copy link
Member

So, the patch was originally written for an older version of the mruby interpreter. I haven't had a chance to update it, though it should be a fairly straightforward process of tweaking the patch based upon the newer mruby code version. Ideally that patch would be two pieces, one for storing the backtraces and one for fixing the mingw environment floating point constants, though that's a much more minor issue.

@ZLau92
Copy link

ZLau92 commented Nov 21, 2019

I managed to get the original patch to apply to an old copy of mruby, but it didn't fix the sys/wait.h error on compile.

All the same, I did go through and update the backtrace file according to the old patch. Result attached.
mruby-float-patch.zip

I was able to get zyn-fusion to build by removing the mruby-process submodule from mruby-zest-build. But it gives me a blank black window when I start it.

Edit:
It looks like the black window only happens with the native host. When I use the VST, works fine!

@ghost
Copy link

ghost commented Oct 7, 2020

The black window should be fixed with PR #30

@fundamental
Copy link
Member

If it's not fixed, feel free to reopen.

@AnClark
Copy link
Contributor

AnClark commented Jan 16, 2021

Maybe replacing mruby-process with appPlant's edition would help. It can cross-compile under my Arch Linux environment.

@fundamental
Copy link
Member

fundamental commented Jan 16, 2021 via email

@AnClark
Copy link
Contributor

AnClark commented Jan 16, 2021

So having a re-check of the source files may be necessary. Or instead, merely replacing mruby-process repo in .gitmodules is also a good choice.
Currently I don't touch it in my Makefile. I just merely "polyfill" with a Makefile recipe: remove deps/mruby-process, then clone appPlant's edition there.

AnClark added a commit to AnClark/mruby-zest-build that referenced this issue Jan 18, 2021
See issue mruby-zest#20. This module may be unnecessary.

Also need to apply patch for deps/mruby-dir-glob/mrbgem.rake
(already in repo zyn-fusion-build/mruby-dir-glob-no-process.patch).
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

4 participants