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

crosscompiling linux -> windows: zest fails to build #117

Open
sjomae opened this issue May 1, 2024 · 13 comments
Open

crosscompiling linux -> windows: zest fails to build #117

sjomae opened this issue May 1, 2024 · 13 comments

Comments

@sjomae
Copy link

sjomae commented May 1, 2024

  CC       src/libuv_la-fs-poll.lo
  CC       src/libuv_la-random.lo
  CC       src/win/libuv_la-async.lo
  CC       src/win/libuv_la-core.lo
  CC       src/win/libuv_la-detect-wakeup.lo
  CC       src/win/libuv_la-dl.lo
  CC       src/win/libuv_la-error.lo
  CC       src/win/libuv_la-fs-event.lo
In file included from src/win/internal.h:29,
                 from src/fs-poll.c:26:
src/win/winapi.h:4730:16: error: redefinition of 'struct _TCP_INITIAL_RTO_PARAMETERS'
 4730 | typedef struct _TCP_INITIAL_RTO_PARAMETERS {
      |                ^~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /usr/x86_64-w64-mingw32/include/ws2tcpip.h:265,
                 from ./include/uv/win.h:48,
                 from ./include/uv.h:64,
                 from src/fs-poll.c:22:
/usr/x86_64-w64-mingw32/include/mstcpip.h:163:16: note: originally defined here
  163 | typedef struct _TCP_INITIAL_RTO_PARAMETERS {
      |                ^~~~~~~~~~~~~~~~~~~~~~~~~~~
src/win/winapi.h:4733:3: error: conflicting types for 'TCP_INITIAL_RTO_PARAMETERS'; have 'struct _TCP_INITIAL_RTO_PARAMETERS'
 4733 | } TCP_INITIAL_RTO_PARAMETERS, *PTCP_INITIAL_RTO_PARAMETERS;
      |   ^~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/x86_64-w64-mingw32/include/mstcpip.h:166:3: note: previous declaration of 'TCP_INITIAL_RTO_PARAMETERS' with type 'TCP_INITIAL_RTO_PARAMETERS'
  166 | } TCP_INITIAL_RTO_PARAMETERS, *PTCP_INITIAL_RTO_PARAMETERS;
      |   ^~~~~~~~~~~~~~~~~~~~~~~~~~
src/win/winapi.h:4733:32: error: conflicting types for 'PTCP_INITIAL_RTO_PARAMETERS'; have 'struct _TCP_INITIAL_RTO_PARAMETERS *'
 4733 | } TCP_INITIAL_RTO_PARAMETERS, *PTCP_INITIAL_RTO_PARAMETERS;
      |                                ^~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/x86_64-w64-mingw32/include/mstcpip.h:166:32: note: previous declaration of 'PTCP_INITIAL_RTO_PARAMETERS' with type 'PTCP_INITIAL_RTO_PARAMETERS' {aka 'struct _TCP_INITIAL_RTO_PARAMETERS *'}
  166 | } TCP_INITIAL_RTO_PARAMETERS, *PTCP_INITIAL_RTO_PARAMETERS;
      |                                ^~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from src/win/internal.h:29,
                 from src/win/detect-wakeup.c:23:
src/win/winapi.h:4730:16: error: redefinition of 'struct _TCP_INITIAL_RTO_PARAMETERS'
 4730 | typedef struct _TCP_INITIAL_RTO_PARAMETERS {
      |                ^~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /usr/x86_64-w64-mingw32/include/ws2tcpip.h:265,
                 from ./include/uv/win.h:48,
                 from ./include/uv.h:64,
                 from src/win/detect-wakeup.c:22:
/usr/x86_64-w64-mingw32/include/mstcpip.h:163:16: note: originally defined here
  163 | typedef struct _TCP_INITIAL_RTO_PARAMETERS {
      |                ^~~~~~~~~~~~~~~~~~~~~~~~~~~
src/win/winapi.h:4733:3: error: conflicting types for 'TCP_INITIAL_RTO_PARAMETERS'; have 'struct _TCP_INITIAL_RTO_PARAMETERS'
 4733 | } TCP_INITIAL_RTO_PARAMETERS, *PTCP_INITIAL_RTO_PARAMETERS;
      |   ^~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/x86_64-w64-mingw32/include/mstcpip.h:166:3: note: previous declaration of 'TCP_INITIAL_RTO_PARAMETERS' with type 'TCP_INITIAL_RTO_PARAMETERS'
  166 | } TCP_INITIAL_RTO_PARAMETERS, *PTCP_INITIAL_RTO_PARAMETERS;
      |   ^~~~~~~~~~~~~~~~~~~~~~~~~~
src/win/winapi.h:4733:32: error: conflicting types for 'PTCP_INITIAL_RTO_PARAMETERS'; have 'struct _TCP_INITIAL_RTO_PARAMETERS *'
 4733 | } TCP_INITIAL_RTO_PARAMETERS, *PTCP_INITIAL_RTO_PARAMETERS;
      |                                ^~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/x86_64-w64-mingw32/include/mstcpip.h:166:32: note: previous declaration of 'PTCP_INITIAL_RTO_PARAMETERS' with type 'PTCP_INITIAL_RTO_PARAMETERS' {aka 'struct _TCP_INITIAL_RTO_PARAMETERS *'}
  166 | } TCP_INITIAL_RTO_PARAMETERS, *PTCP_INITIAL_RTO_PARAMETERS;
      |                                ^~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from src/win/internal.h:29,
                 from src/win/async.c:25:
src/win/winapi.h:4730:16: error: redefinition of 'struct _TCP_INITIAL_RTO_PARAMETERS'
 4730 | typedef struct _TCP_INITIAL_RTO_PARAMETERS {
      |                ^~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /usr/x86_64-w64-mingw32/include/ws2tcpip.h:265,
                 from ./include/uv/win.h:48,
                 from ./include/uv.h:64,
                 from src/win/async.c:24:
/usr/x86_64-w64-mingw32/include/mstcpip.h:163:16: note: originally defined here
  163 | typedef struct _TCP_INITIAL_RTO_PARAMETERS {
      |                ^~~~~~~~~~~~~~~~~~~~~~~~~~~
src/win/winapi.h:4733:3: error: conflicting types for 'TCP_INITIAL_RTO_PARAMETERS'; have 'struct _TCP_INITIAL_RTO_PARAMETERS'
 4733 | } TCP_INITIAL_RTO_PARAMETERS, *PTCP_INITIAL_RTO_PARAMETERS;
      |   ^~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/x86_64-w64-mingw32/include/mstcpip.h:166:3: note: previous declaration of 'TCP_INITIAL_RTO_PARAMETERS' with type 'TCP_INITIAL_RTO_PARAMETERS'
  166 | } TCP_INITIAL_RTO_PARAMETERS, *PTCP_INITIAL_RTO_PARAMETERS;
      |   ^~~~~~~~~~~~~~~~~~~~~~~~~~
src/win/winapi.h:4733:32: error: conflicting types for 'PTCP_INITIAL_RTO_PARAMETERS'; have 'struct _TCP_INITIAL_RTO_PARAMETERS *'
 4733 | } TCP_INITIAL_RTO_PARAMETERS, *PTCP_INITIAL_RTO_PARAMETERS;
      |                                ^~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/x86_64-w64-mingw32/include/mstcpip.h:166:32: note: previous declaration of 'PTCP_INITIAL_RTO_PARAMETERS' with type 'PTCP_INITIAL_RTO_PARAMETERS' {aka 'struct _TCP_INITIAL_RTO_PARAMETERS *'}
  166 | } TCP_INITIAL_RTO_PARAMETERS, *PTCP_INITIAL_RTO_PARAMETERS;
      |                                ^~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from src/win/internal.h:29,
                 from src/win/error.c:29:
src/win/winapi.h:4730:16: error: redefinition of 'struct _TCP_INITIAL_RTO_PARAMETERS'
 4730 | typedef struct _TCP_INITIAL_RTO_PARAMETERS {
      |                ^~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /usr/x86_64-w64-mingw32/include/ws2tcpip.h:265,
                 from ./include/uv/win.h:48,
                 from ./include/uv.h:64,
                 from src/win/error.c:28:
/usr/x86_64-w64-mingw32/include/mstcpip.h:163:16: note: originally defined here
  163 | typedef struct _TCP_INITIAL_RTO_PARAMETERS {
      |                ^~~~~~~~~~~~~~~~~~~~~~~~~~~
src/win/winapi.h:4733:3: error: conflicting types for 'TCP_INITIAL_RTO_PARAMETERS'; have 'struct _TCP_INITIAL_RTO_PARAMETERS'
 4733 | } TCP_INITIAL_RTO_PARAMETERS, *PTCP_INITIAL_RTO_PARAMETERS;
      |   ^~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/x86_64-w64-mingw32/include/mstcpip.h:166:3: note: previous declaration of 'TCP_INITIAL_RTO_PARAMETERS' with type 'TCP_INITIAL_RTO_PARAMETERS'
  166 | } TCP_INITIAL_RTO_PARAMETERS, *PTCP_INITIAL_RTO_PARAMETERS;
      |   ^~~~~~~~~~~~~~~~~~~~~~~~~~
src/win/winapi.h:4733:32: error: conflicting types for 'PTCP_INITIAL_RTO_PARAMETERS'; have 'struct _TCP_INITIAL_RTO_PARAMETERS *'
 4733 | } TCP_INITIAL_RTO_PARAMETERS, *PTCP_INITIAL_RTO_PARAMETERS;
      |                                ^~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/x86_64-w64-mingw32/include/mstcpip.h:166:32: note: previous declaration of 'PTCP_INITIAL_RTO_PARAMETERS' with type 'PTCP_INITIAL_RTO_PARAMETERS' {aka 'struct _TCP_INITIAL_RTO_PARAMETERS *'}
  166 | } TCP_INITIAL_RTO_PARAMETERS, *PTCP_INITIAL_RTO_PARAMETERS;
      |                                ^~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from src/win/internal.h:29,
                 from src/win/core.c:33:
src/win/winapi.h:4730:16: error: redefinition of 'struct _TCP_INITIAL_RTO_PARAMETERS'
 4730 | typedef struct _TCP_INITIAL_RTO_PARAMETERS {
      |                ^~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /usr/x86_64-w64-mingw32/include/ws2tcpip.h:265,
                 from ./include/uv/win.h:48,
                 from ./include/uv.h:64,
                 from src/win/core.c:32:
/usr/x86_64-w64-mingw32/include/mstcpip.h:163:16: note: originally defined here
  163 | typedef struct _TCP_INITIAL_RTO_PARAMETERS {
      |                ^~~~~~~~~~~~~~~~~~~~~~~~~~~
src/win/winapi.h:4733:3: error: conflicting types for 'TCP_INITIAL_RTO_PARAMETERS'; have 'struct _TCP_INITIAL_RTO_PARAMETERS'
 4733 | } TCP_INITIAL_RTO_PARAMETERS, *PTCP_INITIAL_RTO_PARAMETERS;
      |   ^~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/x86_64-w64-mingw32/include/mstcpip.h:166:3: note: previous declaration of 'TCP_INITIAL_RTO_PARAMETERS' with type 'TCP_INITIAL_RTO_PARAMETERS'
  166 | } TCP_INITIAL_RTO_PARAMETERS, *PTCP_INITIAL_RTO_PARAMETERS;
      |   ^~~~~~~~~~~~~~~~~~~~~~~~~~
src/win/winapi.h:4733:32: error: conflicting types for 'PTCP_INITIAL_RTO_PARAMETERS'; have 'struct _TCP_INITIAL_RTO_PARAMETERS *'
 4733 | } TCP_INITIAL_RTO_PARAMETERS, *PTCP_INITIAL_RTO_PARAMETERS;
      |                                ^~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/x86_64-w64-mingw32/include/mstcpip.h:166:32: note: previous declaration of 'PTCP_INITIAL_RTO_PARAMETERS' with type 'PTCP_INITIAL_RTO_PARAMETERS' {aka 'struct _TCP_INITIAL_RTO_PARAMETERS *'}
  166 | } TCP_INITIAL_RTO_PARAMETERS, *PTCP_INITIAL_RTO_PARAMETERS;
      |                                ^~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from src/win/internal.h:29,
                 from src/win/dl.c:23:
src/win/winapi.h:4730:16: error: redefinition of 'struct _TCP_INITIAL_RTO_PARAMETERS'
 4730 | typedef struct _TCP_INITIAL_RTO_PARAMETERS {
      |                ^~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /usr/x86_64-w64-mingw32/include/ws2tcpip.h:265,
                 from ./include/uv/win.h:48,
                 from ./include/uv.h:64,
                 from src/win/dl.c:22:
/usr/x86_64-w64-mingw32/include/mstcpip.h:163:16: note: originally defined here
  163 | typedef struct _TCP_INITIAL_RTO_PARAMETERS {
      |                ^~~~~~~~~~~~~~~~~~~~~~~~~~~
src/win/winapi.h:4733:3: error: conflicting types for 'TCP_INITIAL_RTO_PARAMETERS'; have 'struct _TCP_INITIAL_RTO_PARAMETERS'
 4733 | } TCP_INITIAL_RTO_PARAMETERS, *PTCP_INITIAL_RTO_PARAMETERS;
      |   ^~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/x86_64-w64-mingw32/include/mstcpip.h:166:3: note: previous declaration of 'TCP_INITIAL_RTO_PARAMETERS' with type 'TCP_INITIAL_RTO_PARAMETERS'
  166 | } TCP_INITIAL_RTO_PARAMETERS, *PTCP_INITIAL_RTO_PARAMETERS;
      |   ^~~~~~~~~~~~~~~~~~~~~~~~~~
src/win/winapi.h:4733:32: error: conflicting types for 'PTCP_INITIAL_RTO_PARAMETERS'; have 'struct _TCP_INITIAL_RTO_PARAMETERS *'
 4733 | } TCP_INITIAL_RTO_PARAMETERS, *PTCP_INITIAL_RTO_PARAMETERS;
      |                                ^~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/x86_64-w64-mingw32/include/mstcpip.h:166:32: note: previous declaration of 'PTCP_INITIAL_RTO_PARAMETERS' with type 'PTCP_INITIAL_RTO_PARAMETERS' {aka 'struct _TCP_INITIAL_RTO_PARAMETERS *'}
  166 | } TCP_INITIAL_RTO_PARAMETERS, *PTCP_INITIAL_RTO_PARAMETERS;
      |                                ^~~~~~~~~~~~~~~~~~~~~~~~~~~
make[2]: *** [Makefile:2394: src/libuv_la-fs-poll.lo] Error 1
make[2]: *** Waiting for unfinished jobs....
In file included from src/win/internal.h:29,
                 from src/random.c:26:
src/win/winapi.h:4730:16: error: redefinition of 'struct _TCP_INITIAL_RTO_PARAMETERS'
 4730 | typedef struct _TCP_INITIAL_RTO_PARAMETERS {
      |                ^~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /usr/x86_64-w64-mingw32/include/ws2tcpip.h:265,
                 from ./include/uv/win.h:48,
                 from ./include/uv.h:64,
                 from src/random.c:22:
/usr/x86_64-w64-mingw32/include/mstcpip.h:163:16: note: originally defined here
  163 | typedef struct _TCP_INITIAL_RTO_PARAMETERS {
      |                ^~~~~~~~~~~~~~~~~~~~~~~~~~~
src/win/winapi.h:4733:3: error: conflicting types for 'TCP_INITIAL_RTO_PARAMETERS'; have 'struct _TCP_INITIAL_RTO_PARAMETERS'
 4733 | } TCP_INITIAL_RTO_PARAMETERS, *PTCP_INITIAL_RTO_PARAMETERS;
      |   ^~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/x86_64-w64-mingw32/include/mstcpip.h:166:3: note: previous declaration of 'TCP_INITIAL_RTO_PARAMETERS' with type 'TCP_INITIAL_RTO_PARAMETERS'
  166 | } TCP_INITIAL_RTO_PARAMETERS, *PTCP_INITIAL_RTO_PARAMETERS;
      |   ^~~~~~~~~~~~~~~~~~~~~~~~~~
src/win/winapi.h:4733:32: error: conflicting types for 'PTCP_INITIAL_RTO_PARAMETERS'; have 'struct _TCP_INITIAL_RTO_PARAMETERS *'
 4733 | } TCP_INITIAL_RTO_PARAMETERS, *PTCP_INITIAL_RTO_PARAMETERS;
      |                                ^~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/x86_64-w64-mingw32/include/mstcpip.h:166:32: note: previous declaration of 'PTCP_INITIAL_RTO_PARAMETERS' with type 'PTCP_INITIAL_RTO_PARAMETERS' {aka 'struct _TCP_INITIAL_RTO_PARAMETERS *'}
  166 | } TCP_INITIAL_RTO_PARAMETERS, *PTCP_INITIAL_RTO_PARAMETERS;
      |                                ^~~~~~~~~~~~~~~~~~~~~~~~~~~
make[2]: *** [Makefile:2478: src/win/libuv_la-detect-wakeup.lo] Error 1
make[2]: *** [Makefile:2492: src/win/libuv_la-error.lo] Error 1
make[2]: *** [Makefile:2464: src/win/libuv_la-async.lo] Error 1
In file included from src/win/internal.h:29,
                 from src/win/fs-event.c:28:
src/win/winapi.h:4730:16: error: redefinition of 'struct _TCP_INITIAL_RTO_PARAMETERS'
 4730 | typedef struct _TCP_INITIAL_RTO_PARAMETERS {
      |                ^~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /usr/x86_64-w64-mingw32/include/ws2tcpip.h:265,
                 from ./include/uv/win.h:48,
                 from ./include/uv.h:64,
                 from src/win/fs-event.c:27:
/usr/x86_64-w64-mingw32/include/mstcpip.h:163:16: note: originally defined here
  163 | typedef struct _TCP_INITIAL_RTO_PARAMETERS {
      |                ^~~~~~~~~~~~~~~~~~~~~~~~~~~
src/win/winapi.h:4733:3: error: conflicting types for 'TCP_INITIAL_RTO_PARAMETERS'; have 'struct _TCP_INITIAL_RTO_PARAMETERS'
 4733 | } TCP_INITIAL_RTO_PARAMETERS, *PTCP_INITIAL_RTO_PARAMETERS;
      |   ^~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/x86_64-w64-mingw32/include/mstcpip.h:166:3: note: previous declaration of 'TCP_INITIAL_RTO_PARAMETERS' with type 'TCP_INITIAL_RTO_PARAMETERS'
  166 | } TCP_INITIAL_RTO_PARAMETERS, *PTCP_INITIAL_RTO_PARAMETERS;
      |   ^~~~~~~~~~~~~~~~~~~~~~~~~~
src/win/winapi.h:4733:32: error: conflicting types for 'PTCP_INITIAL_RTO_PARAMETERS'; have 'struct _TCP_INITIAL_RTO_PARAMETERS *'
 4733 | } TCP_INITIAL_RTO_PARAMETERS, *PTCP_INITIAL_RTO_PARAMETERS;
      |                                ^~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/x86_64-w64-mingw32/include/mstcpip.h:166:32: note: previous declaration of 'PTCP_INITIAL_RTO_PARAMETERS' with type 'PTCP_INITIAL_RTO_PARAMETERS' {aka 'struct _TCP_INITIAL_RTO_PARAMETERS *'}
  166 | } TCP_INITIAL_RTO_PARAMETERS, *PTCP_INITIAL_RTO_PARAMETERS;
      |                                ^~~~~~~~~~~~~~~~~~~~~~~~~~~
make[2]: *** [Makefile:2485: src/win/libuv_la-dl.lo] Error 1
make[2]: *** [Makefile:2471: src/win/libuv_la-core.lo] Error 1
make[2]: *** [Makefile:2415: src/libuv_la-random.lo] Error 1
make[2]: *** [Makefile:2499: src/win/libuv_la-fs-event.lo] Error 1
make[2]: Leaving directory 
zyn-fusion-build/src/mruby-zest-build/deps/libuv'
make[1]: *** [Makefile:78: deps/libuv-win.a] Error 2
make[1]: Leaving directory 
make: *** [Makefile.windows.mk:132: build_zest] Error 2
@fundamental
Copy link
Member

Have you tried using the dockerized build environment listed in the repo?

It's an annoyance, but mingw appears to vary in behavior from distro to distro and version to version, so the docker route minimizes this difference that's relatively hard to account for (In this case the failure isn't even in zynaddsubfx code, but in one of the external dependencies).

@sjomae
Copy link
Author

sjomae commented May 3, 2024

I tried msys2, but zynaddsubfx fails. For the use of a other docker I would need some more guidance.


On some systems (e.g. Linux) you should run 'ldconfig' now
to make the shared object available.  You may also need to
modify your LD_LIBRARY_PATH environment variable to include
the directory /home/Admin/zyn-fusion-build/tmp//prefix/lib
------------------------------------------------------------

make install-recursive
make[2]: Entering directory '/home/Admin/zyn-fusion-build/deps/portaudio'
if test -n "" ; then for dir in ""; do make -C $dir install; done ; fi
make[2]: Leaving directory '/home/Admin/zyn-fusion-build/deps/portaudio'
make[1]: Leaving directory '/home/Admin/zyn-fusion-build/deps/portaudio'
mkdir -p /home/Admin/zyn-fusion-build/deps//zlib
tar -x --strip-components 1 -f  /home/Admin/zyn-fusion-build/download//zlib*.tar.gz -C /home/Admin/zyn-fusion-build/deps//zlib --skip-old-files
cd /home/Admin/zyn-fusion-build/deps//zlib ; \
cmake -G "MSYS Makefiles" -DCMAKE_INSTALL_PREFIX=/home/Admin/zyn-fusion-build/tmp//prefix
CMake Warning:
  No source or binary directory provided.  Both will be assumed to be the
  same as the current working directory, but note that this warning will
  become a fatal error in future CMake releases.


CMake Deprecation Warning at CMakeLists.txt:1 (cmake_minimum_required):
  Compatibility with CMake < 3.5 will be removed from a future version of
  CMake.

  Update the VERSION argument <min> value or use a ...<max> suffix to tell
  CMake that the project does not need compatibility with older versions.


-- Configuring done (0.1s)
-- Generating done (0.3s)
-- Build files have been written to: C:/msys64/home/Admin/zyn-fusion-build/deps/zlib
make -C /home/Admin/zyn-fusion-build/deps//zlib
make[1]: Entering directory '/home/Admin/zyn-fusion-build/deps/zlib'
[ 40%] Built target zlib
[ 80%] Built target zlibstatic
[ 85%] Built target example
[ 90%] Built target minigzip
[ 95%] Built target example64
[100%] Built target minigzip64
make[1]: Leaving directory '/home/Admin/zyn-fusion-build/deps/zlib'
make -C /home/Admin/zyn-fusion-build/deps//zlib install
make[1]: Entering directory '/home/Admin/zyn-fusion-build/deps/zlib'
[ 40%] Built target zlib
[ 80%] Built target zlibstatic
[ 85%] Built target example
[ 90%] Built target minigzip
[ 95%] Built target example64
[100%] Built target minigzip64
Install the project...
-- Install configuration: ""
-- Up-to-date: C:/msys64/home/Admin/zyn-fusion-build/tmp/prefix/lib/libzlib.dll.a
-- Up-to-date: C:/msys64/home/Admin/zyn-fusion-build/tmp/prefix/bin/libzlib.dll
-- Up-to-date: C:/msys64/home/Admin/zyn-fusion-build/tmp/prefix/lib/libzlibstatic.a
-- Up-to-date: C:/msys64/home/Admin/zyn-fusion-build/tmp/prefix/include/zconf.h
-- Up-to-date: C:/msys64/home/Admin/zyn-fusion-build/tmp/prefix/include/zlib.h
-- Up-to-date: C:/msys64/home/Admin/zyn-fusion-build/tmp/prefix/share/man/man3/zlib.3
-- Up-to-date: C:/msys64/home/Admin/zyn-fusion-build/tmp/prefix/share/pkgconfig/zlib.pc
make[1]: Leaving directory '/home/Admin/zyn-fusion-build/deps/zlib'
mkdir -p /home/Admin/zyn-fusion-build/tmp//prefix/bin/
cp /mingw64/bin/libwinpthread* /home/Admin/zyn-fusion-build/tmp//prefix/bin/
========== Building ZynAddSubFX in release mode ==========
rm -rf /home/Admin/zyn-fusion-build/build//build-zynaddsubfx-windows-release
mkdir -p /home/Admin/zyn-fusion-build/build//build-zynaddsubfx-windows-release
env \
PATH=/home/Admin/zyn-fusion-build/tmp//prefix:/mingw64/bin:/usr/local/bin:/usr/bin:/bin:/c/Windows/System32:/c/Windows:/c/Windows/System32/Wbem:/c/Windows/System32/WindowsPowerShell/v1.0/:/usr/bin/site_perl:/usr/bin/vendor_perl:/usr/bin/core_perl \
VERSION=3.0.7 \
BUILD_MODE=release \
cmake -S /home/Admin/zyn-fusion-build/src/zynaddsubfx -B /home/Admin/zyn-fusion-build/build//build-zynaddsubfx-windows-release \
        -DCMAKE_TOOLCHAIN_FILE=/home/Admin/zyn-fusion-build/z/mingw64-build.cmake \
        -G "MSYS Makefiles" \
        -DOssEnable=False \
        -DGuiModule=zest \
        -DDemoMode=false \
        -DCMAKE_INSTALL_PREFIX=/usr \
        -DDefaultOutput=pa
CMake Deprecation Warning at CMakeLists.txt:1 (cmake_minimum_required):
  Compatibility with CMake < 3.5 will be removed from a future version of
  CMake.

  Update the VERSION argument <min> value or use a ...<max> suffix to tell
  CMake that the project does not need compatibility with older versions.


-- Found PkgConfig: C:/msys64/mingw64/bin/pkg-config.exe (found version "2.2.0")
-- The C compiler identification is GNU 13.2.0
-- The CXX compiler identification is GNU 13.2.0
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: C:/msys64/mingw64/bin/x86_64-w64-mingw32-gcc.exe - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: C:/msys64/mingw64/bin/x86_64-w64-mingw32-g++.exe - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Found Rtosc Submodule...
CMake Deprecation Warning at rtosc/CMakeLists.txt:1 (cmake_minimum_required):
  Compatibility with CMake < 3.5 will be removed from a future version of
  CMake.

  Update the VERSION argument <min> value or use a ...<max> suffix to tell
  CMake that the project does not need compatibility with older versions.


-- 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: C:/msys64/mingw64/lib/libfltk_images.dll.a;C:/msys64/mingw64/lib/libfltk_forms.dll.a;C:/msys64/mingw64/lib/libfltk_gl.dll.a;opengl32;C:/msys64/mingw64/lib/libfltk.dll.a
-- Checking for module 'ntk'
--   Package 'ntk' not found
-- Checking for module 'jack'
--   Package 'jack' not found
-- Checking for module 'liblo>=0.28'
--   Package 'liblo' 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: C:/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: C:/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):
  C:/msys64/mingw64/share/cmake/Modules/FindPackageHandleStandardArgs.cmake:230 (message)
  C:/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

@sjomae
Copy link
Author

sjomae commented May 3, 2024

zest build succeeds with msys2

@fundamental
Copy link
Member

Excellent, it sounds like things are working for you. In case others stumble across this issue, this shell script (https://github.com/zynaddsubfx/zyn-fusion-build/blob/master/docker-builders/build.sh) should kick off and run the dockerized build.

@sjomae
Copy link
Author

sjomae commented May 4, 2024

Not exactly. Rtosc fails to build for zynaddsubfx
#117 (comment)

@fundamental
Copy link
Member

oh I misread the second comment. It looks like the build fails to configure because it can not locate a version of mxml that it can use during compilation:

Could NOT find MXML (missing: MXML_INCLUDE_DIR MXML_LIBRARIES)

@fundamental fundamental reopened this May 4, 2024
@sjomae
Copy link
Author

sjomae commented May 4, 2024

msys2:

I had to install mxml indeed and liblo (and doxygen). I also installed jackd, but uninstalled it when it gave a error. I thought the install-deb script would do it for me.

Zynaddsubfx still fails to build:

C:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/13.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: c
annot find -llo: No such file or directory
collect2.exe: error: ld returned 1 exit status
make[3]: *** [src/CMakeFiles/zynaddsubfx.dir/build.make:107: src/zynaddsubfx.exe] Error 1
make[2]: *** [CMakeFiles/Makefile2:1460: src/CMakeFiles/zynaddsubfx.dir/all] Error 2
make[1]: *** [Makefile:146: all] Error 2
make[1]: Leaving directory '/home/Admin/zyn-fusion-build/build/build-zynaddsubfx-windows-release'
make: *** [Makefile.mingw64.mk:71: build_zynaddsubfx] Error 2

@fundamental
Copy link
Member

In this case it is not finding liblo as it fails at the stage it is looking for -llo

@sjomae
Copy link
Author

sjomae commented May 4, 2024

liblo is found as far as I can tell.

-- Found FFTW3F: C:/msys64/mingw64/include
-- Found MXML: C:/msys64/mingw64/include
-- Found LIBLO: C:/msys64/mingw64/include
-- Found PORTAUDIO: C:/msys64/mingw64/include
CHECK_START;Looking for sched_setscheduler
CHECK_PASS;found
CHECK_START;Performing Test HAVE_ASYNC
CHECK_PASS;Success
CHECK_START;Looking for C++ include complex
CHECK_PASS;found
CHECK_START;Performing Test HAVE_X86_FISTPL
CHECK_PASS;Success
CHECK_START;Performing Test SUPPORT_NEON
CHECK_FAIL;Failed
CHECK_START;Performing Test SUPPORT_SSE
CHECK_PASS;Success
-- Compiling with liblo
CHECK_START;Performing Test COMPILER_SUPPORTS_NO_INCONSISTENT_MISSING_OVERRIDE
CHECK_FAIL;Failed
CHECK_START;Performing Test COMPILER_SUPPORTS_SYSTEM_HDR_PREFIX
CHECK_FAIL;Failed
-- Compiling with x86 opcode support
-- Building for Release, flags: -std=c++11 -Wno-unused-parameter -O3 -ffast-math -fomit-frame-pointer
-msse -msse2 -mfpmath=sse
CHECK_START;Looking for dlopen in dl
CHECK_FAIL;not found
CHECK_START;Looking for pthread_create in pthread
CHECK_PASS;found
-- Include what you use: disabled (IncludeWhatYouUse=OFF)
-- Linking tests with: zynaddsubfx_core;C:/msys64/mingw64/lib/libz.dll.a;C:/msys64/mingw64/lib/libfftw3
f.dll.a;C:/msys64/mingw64/lib/libmxml.a;pthread
--
-- ZynAddSubFX Build Configuration
-- ===============================
--
-- Building on a 'Windows' System
-- PkgConfig -- found
-- zlib      -- found
-- mxml      -- found
-- fftw3f    -- found
-- liblo     -- found
-- x11       -- NOT found
-- xpm       -- NOT found
-- fltk      -- found
-- ntk       -- NOT found
-- OSS       -- NOT found
-- ALSA      -- NOT found
-- JACK      -- NOT found
-- PA        -- found
-- SNDIO     -- NOT found
-- Lash      -- NOT found
-- DSSI      -- NOT found
-- Lash      -- NOT enabled
-- DSSI      -- NOT enabled
-- tests     -- enabled
-- ALSA      -- NOT enabled
-- JACK      -- NOT enabled
-- OSS       -- NOT enabled
-- PA        -- enabled
-- SNDIO     -- NOT enabled
-- Background synthesizer thread -- NOT enabled
-- c++ async -- usable
-- Link libraries: C:/msys64/mingw64/lib/libz.dll.a  C:/msys64/mingw64/lib/libmxml.a C:/msys64/mingw64/
lib/libportaudio.dll.a;lo;ws2_32;iphlpapi
-- Bash completion is not supported on this platform.
-- Configuring done (22.8s)
-- Generating done (1.4s)
-- Build files have been written to: C:/msys64/home/Admin/zyn-fusion-build/build/build-zynaddsubfx-wind
ows-release
make -C /home/Admin/zyn-fusion-build/build//build-zynaddsubfx-windows-release
make[1]: Entering directory '/home/Admin/zyn-fusion-build/build/build-zynaddsubfx-windows-release'
[  1%] Building C object rtosc/CMakeFiles/rtosc.dir/src/rtosc.c.obj
[  1%] Building C object rtosc/CMakeFiles/rtosc.dir/src/dispatch.c.obj
[  2%] Building C object rtosc/CMakeFiles/rtosc.dir/src/rtosc-time.c.obj
[  2%] Linking C static library librtosc.a
[  2%] Built target rtosc
[  2%] Building C object rtosc/CMakeFiles/rtosc-cpp.dir/cpp/version.c.obj
[  3%] Building CXX object rtosc/CMakeFiles/rtosc-cpp.dir/src/cpp/ports.cpp.obj
[  3%] Building CXX object rtosc/CMakeFiles/rtosc-cpp.dir/src/cpp/ports-runtime.cpp.obj
[  4%] Building CXX object rtosc/CMakeFiles/rtosc-cpp.dir/src/cpp/default-value.cpp.obj
[  4%] Building CXX object rtosc/CMakeFiles/rtosc-cpp.dir/src/cpp/savefile.cpp.obj
[  4%] Building CXX object rtosc/CMakeFiles/rtosc-cpp.dir/src/cpp/port-checker.cpp.obj
[  5%] Building C object rtosc/CMakeFiles/rtosc-cpp.dir/src/cpp/pretty-format.c.obj
[  5%] Building C object rtosc/CMakeFiles/rtosc-cpp.dir/src/cpp/arg-ext.c.obj
[  6%] Building C object rtosc/CMakeFiles/rtosc-cpp.dir/src/cpp/arg-val.c.obj
[  6%] Building C object rtosc/CMakeFiles/rtosc-cpp.dir/src/cpp/arg-val-math.c.obj
[  7%] Building C object rtosc/CMakeFiles/rtosc-cpp.dir/src/cpp/arg-val-cmp.c.obj
[  7%] Building C object rtosc/CMakeFiles/rtosc-cpp.dir/src/cpp/arg-val-itr.c.obj
[  7%] Building C object rtosc/CMakeFiles/rtosc-cpp.dir/src/cpp/util.c.obj
[  8%] Building CXX object rtosc/CMakeFiles/rtosc-cpp.dir/src/cpp/miditable.cpp.obj
[  8%] Building CXX object rtosc/CMakeFiles/rtosc-cpp.dir/src/cpp/automations.cpp.obj
[  9%] Building CXX object rtosc/CMakeFiles/rtosc-cpp.dir/src/cpp/midimapper.cpp.obj
[  9%] Building CXX object rtosc/CMakeFiles/rtosc-cpp.dir/src/cpp/thread-link.cpp.obj
[  9%] Building CXX object rtosc/CMakeFiles/rtosc-cpp.dir/src/cpp/undo-history.cpp.obj
[ 10%] Building CXX object rtosc/CMakeFiles/rtosc-cpp.dir/src/cpp/subtree-serialize.cpp.obj
[ 10%] Linking CXX static library librtosc-cpp.a
[ 10%] Built target rtosc-cpp
[ 10%] Building C object rtosc/CMakeFiles/rtosc-time.dir/test/rtosc-time.c.obj
[ 10%] Linking C executable rtosc-time.exe
[ 10%] Built target rtosc-time
[ 11%] Building C object rtosc/CMakeFiles/osc-spec.dir/test/osc-spec.c.obj
[ 11%] Linking C executable osc-spec.exe
[ 11%] Built target osc-spec
[ 12%] Building C object rtosc/CMakeFiles/simple-messages.dir/test/simple-messages.c.obj
[ 12%] Linking C executable simple-messages.exe
[ 12%] Built target simple-messages
[ 13%] Building C object rtosc/CMakeFiles/null-messages.dir/test/null-messages.c.obj
[ 13%] Linking C executable null-messages.exe
[ 13%] Built target null-messages
[ 13%] Building C object rtosc/CMakeFiles/bundles.dir/test/bundles.c.obj
[ 14%] Linking C executable bundles.exe
[ 14%] Built target bundles
[ 14%] Building C object rtosc/CMakeFiles/patterns.dir/test/patterns.c.obj
[ 14%] Linking C executable patterns.exe
[ 14%] Built target patterns
[ 14%] Building C object rtosc/CMakeFiles/nested-bundles.dir/test/nested-bundles.c.obj
[ 14%] Linking C executable nested-bundles.exe
[ 14%] Built target nested-bundles
[ 14%] Building C object rtosc/CMakeFiles/fat-message.dir/test/fat-message.c.obj
[ 15%] Linking C executable fat-message.exe
[ 15%] Built target fat-message
[ 15%] Building C object rtosc/CMakeFiles/empty-strings.dir/test/empty-strings.c.obj
[ 16%] Linking C executable empty-strings.exe
[ 16%] Built target empty-strings
[ 16%] Building C object rtosc/CMakeFiles/message-alignment.dir/test/message-alignment.c.obj
[ 17%] Linking C executable message-alignment.exe
[ 17%] Built target message-alignment
[ 18%] Building C object rtosc/CMakeFiles/test-arg-iter.dir/test/test-arg-iter.c.obj
[ 18%] Linking C executable test-arg-iter.exe
[ 18%] Built target test-arg-iter
[ 19%] Building C object rtosc/CMakeFiles/liblo.dir/test/liblo.c.obj
[ 19%] Linking C executable liblo.exe
[ 19%] Built target liblo
[ 19%] Building CXX object rtosc/CMakeFiles/version.dir/test/version.cpp.obj
[ 20%] Linking CXX executable version.exe

@sjomae
Copy link
Author

sjomae commented May 5, 2024

The docker works.

The only issue is that zyn doesn't load the instrument banks on Windows if I put the unzipped folder in the windows path environment variable. When I start zynaddsubfx from the Cmd console, the banks are not loaded. If I start zynaddsubfx from the unzipped folder, it does load the banks.

Is this expected? Could it be solved if zynaddsubfx would use the AppData folder? https://superuser.com/a/1736504

@fundamental
Copy link
Member

This is currently expected behavior. Right now the windows build will locate instrument banks relative to the libraries needed to run the synth. AFAIK this works fine for the plugin usecases, but I'm not surprised it creates problems with respect to using the standalone. It should be possible to have the banks located elsewhere, though that would involve some changes in the zynaddsubfx/zynaddsubfx repo as well as making a more complex installation process on windows.

@jdelahayes
Copy link

Docker build doesnt work for me.

I have the following error on zest build :

  CC       src/libuv_la-fs-poll.lo
In file included from src/win/internal.h:29,
                 from src/fs-poll.c:26:
src/win/winapi.h:4730:16: error: redefinition of 'struct _TCP_INITIAL_RTO_PARAMETERS'
 4730 | typedef struct _TCP_INITIAL_RTO_PARAMETERS {
      |                ^~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /usr/share/mingw-w64/include/ws2tcpip.h:265,
                 from ./include/uv/win.h:48,
                 from ./include/uv.h:64,
                 from src/fs-poll.c:22:
/usr/share/mingw-w64/include/mstcpip.h:163:16: note: originally defined here
  163 | typedef struct _TCP_INITIAL_RTO_PARAMETERS {
      |                ^~~~~~~~~~~~~~~~~~~~~~~~~~~
src/win/winapi.h:4733:3: error: conflicting types for 'TCP_INITIAL_RTO_PARAMETERS'; have 'struct _TCP_INITIAL_RTO_PARAMETERS'
 4733 | } TCP_INITIAL_RTO_PARAMETERS, *PTCP_INITIAL_RTO_PARAMETERS;
      |   ^~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/share/mingw-w64/include/mstcpip.h:166:3: note: previous declaration of 'TCP_INITIAL_RTO_PARAMETERS' with type 'TCP_INITIAL_RTO_PARAMETERS'
  166 | } TCP_INITIAL_RTO_PARAMETERS, *PTCP_INITIAL_RTO_PARAMETERS;
      |   ^~~~~~~~~~~~~~~~~~~~~~~~~~
src/win/winapi.h:4733:32: error: conflicting types for 'PTCP_INITIAL_RTO_PARAMETERS'; have 'struct _TCP_INITIAL_RTO_PARAMETERS *'
 4733 | } TCP_INITIAL_RTO_PARAMETERS, *PTCP_INITIAL_RTO_PARAMETERS;
      |                                ^~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/share/mingw-w64/include/mstcpip.h:166:32: note: previous declaration of 'PTCP_INITIAL_RTO_PARAMETERS' with type 'PTCP_INITIAL_RTO_PARAMETERS' {aka 'struct _TCP_INITIAL_RTO_PARAMETERS *'}
  166 | } TCP_INITIAL_RTO_PARAMETERS, *PTCP_INITIAL_RTO_PARAMETERS;
      |                                ^~~~~~~~~~~~~~~~~~~~~~~~~~~
make[2]: *** [Makefile:2394: src/libuv_la-fs-poll.lo] Error 1
make[2]: Leaving directory '/z/src/mruby-zest-build/deps/libuv'
make[1]: Leaving directory '/z/src/mruby-zest-build'
make[1]: *** [Makefile:78: deps/libuv-win.a] Error 2
make: *** [Makefile.windows.mk:132: build_zest] Error 2

Same error if i try to build with msys2/mingw64 on windows

@fundamental
Copy link
Member

Running the build in the cross compilation docker image I'm seeing a successful build on my system as of today.

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

No branches or pull requests

3 participants