zynaddsubfx / zyn-fusion-build

Build Scripts For Zyn-Fusion
Do What The F*ck You Want To Public License
122 stars 39 forks source link

Mingw64 build failing: help needed #116

Open Monospace-V opened 7 months ago

Monospace-V commented 7 months ago

I am trying to build zynfusion on windows as per instructions here. It fails. I reinstalled the dependencies and tried again. It is still failing. I am relatively new to the build/dependency process with any code, and need help.

image

For clarity, I clone zyn-fusion-build into a directory called G:/Projects/zynfusion/. My MSYS is in E:\Development\msys64\.

Last few lines of output:

\-- Build librtosc and librtosc-cpp as static libraries
\-- Found GCC Version >= 4.7
\-- Include what you use: disabled (RTOSC_INCLUDE_WHAT_YOU_USE=OFF)
\-- Found OpenGL: opengl32
\-- Found FLTK: E:/Development/msys64/mingw64/lib/libfltk_images.dll.a;E:/Development/msys64/mingw64/lib/libfltk_forms.dll.a;E:/Development/msys64/mingw64/lib/libfltk_gl.dll.a;opengl32;E:/Development/msys64/mingw64/lib/libfltk.dll.a
\-- Checking for module 'ntk'
\--   Package 'ntk', required by 'virtual:world', not found
\-- Checking for module 'jack'
\--   Package 'jack', required by 'virtual:world', not found
\-- Checking for module 'liblo>=0.28'
\--   Package 'liblo', required by 'virtual:world', not found
\-- Could NOT find Ruby (missing: Ruby_INCLUDE_DIR Ruby_CONFIG_INCLUDE_DIR) (found suitable version "3.3.0", minimum required is "1.8")
\-- Could NOT find Doxygen (missing: DOXYGEN_EXECUTABLE)
\--
\-- Rtosc Build Configuration
\-- =========================
\--
\-- PkgConfig enabled  \-- package found
\-- Liblo disabled     \-- package NOT found
\-- JACK disabled      \-- package NOT found
\-- NTK disabled       \-- package NOT found
\-- Perf Test(s) disabled
\-- FLTK disabled      \-- package found in unsupported version (expected 1.3)
\-- Checking Include Path
\-- Checking Library Path
\-- Found ZLIB: E:/Development/msys64/mingw64/lib/libz.dll.a
CHECK_START;Performing Test CMAKE_HAVE_LIBC_PTHREAD
CHECK_PASS;Success
\-- Found Threads: TRUE
CHECK_START;Looking for snd_seq_create_simple_port in asound
CHECK_FAIL;not found
\-- ALSA not found
CHECK_START;Looking for sio_open in sndio
CHECK_FAIL;not found
\-- SNDIO not found
CMake Warning at src/CMakeLists.txt:21 (find_package):
  By not providing "FindECM.cmake" in CMAKE_MODULE_PATH this project has
  asked CMake to find a package configuration file provided by "ECM", but
  CMake did not find one.

  Could not find a package configuration file provided by "ECM" with any of
  the following names:

    ECMConfig.cmake
    ecm-config.cmake

  Add the installation prefix of "ECM" to CMAKE_PREFIX_PATH or set "ECM_DIR"
  to a directory containing one of the above files.  If "ECM" provides a
  separate development package or SDK, be sure it has been installed.

CMake Warning at src/CMakeLists.txt:23 (find_package):
  By not providing "FindLibGit2.cmake" in CMAKE_MODULE_PATH this project has
  asked CMake to find a package configuration file provided by "LibGit2", but
  CMake did not find one.

  Could not find a package configuration file provided by "LibGit2" with any
  of the following names:

    LibGit2Config.cmake
    libgit2-config.cmake

  Add the installation prefix of "LibGit2" to CMAKE_PREFIX_PATH or set
  "LibGit2_DIR" to a directory containing one of the above files.  If
  "LibGit2" provides a separate development package or SDK, be sure it has
  been installed.

\-- Found FFTW3F: E:/Development/msys64/mingw64/include
CMake Error at rtosc/cmake/ColorMessage.cmake:53 (_message):
  Could NOT find MXML (missing: MXML_INCLUDE_DIR MXML_LIBRARIES)
Call Stack (most recent call first):
  E:/Development/msys64/mingw64/share/cmake/Modules/FindPackageHandleStandardArgs.cmake:230 (message)
  E:/Development/msys64/mingw64/share/cmake/Modules/FindPackageHandleStandardArgs.cmake:600 (_FPHSA_FAILURE_MESSAGE)
  cmake/FindMXML.cmake:16 (FIND_PACKAGE_HANDLE_STANDARD_ARGS)
  src/CMakeLists.txt:44 (find_package)

\-- Configuring incomplete, errors occurred!
make: *** [Makefile.mingw64.mk:70: build_zynaddsubfx] Error 1

paseri3739 commented 5 months ago

I had same issue to transpile on Docker but it solved by using Native Ubuntu 22.04. On Windows maybe you can use WSL instead of Native Linux or msys2.

fundamental commented 5 months ago

I wish CMake in general was better about outputting when a missing dependency was optional or not. In this case it looks like it's struggling to find mxml, so I'd see if building that dependency went well. If so then it may come down to the search path to find the version of mxml it wants to use?

fundamental commented 5 months ago

As per the docker comment, that should be the most reliable method because the environment is going to be virtually identical, though it would be great to fix problems in other environments to reduce friction for people not containerizing their build.