shinchiro/mpv-winbuild-cmake

MSYS2 libsrt build fail

Closed this issue · 2 comments

When run command ninja mpv, it failed with following error:

FAILED: packages/libsrt-prefix/src/libsrt-stamp/libsrt-build /home/Administrator/opensource/mpv-winbuild-cmake/build64/packages/libsrt-prefix/src/libsrt-stamp/libsrt-build
cd /home/Administrator/opensource/mpv-winbuild-cmake/build64/packages/libsrt-prefix/src/libsrt-build && /usr/bin/cmake.exe -P /home/Administrator/opensource/mpv-winbuild-cmake/build64/packages/libsrt-prefix/src/libsrt-stamp/libsrt-build-.cmake && /usr/bin/cmake.exe -E to
uch /home/Administrator/opensource/mpv-winbuild-cmake/build64/packages/libsrt-prefix/src/libsrt-stamp/libsrt-build
CMake Error at /home/Administrator/opensource/mpv-winbuild-cmake/build64/packages/libsrt-prefix/src/libsrt-stamp/libsrt-build-.cmake:49 (message):
  Command failed: 1

   '/home/Administrator/opensource/mpv-winbuild-cmake/build64/exec' 'ninja' '-C' '/home/Administrator/opensource/mpv-winbuild-cmake/build64/packages/libsrt-prefix/src/libsrt-build'

  See also

    /home/Administrator/opensource/mpv-winbuild-cmake/build64/packages/libsrt-prefix/src/libsrt-stamp/libsrt-build-*.log

cat /home/Administrator/opensource/mpv-winbuild-cmake/build64/packages/libsrt-prefix/src/libsrt-stamp/libsrt-build-out.log

ninja: Entering directory `/home/Administrator/opensource/mpv-winbuild-cmake/build64/packages/libsrt-prefix/src/libsrt-build'
[1/41] Building CXX object CMakeFiles/srt_virtual.dir/srtcore/buffer_rcv.cpp.obj
[2/41] Building CXX object CMakeFiles/srt_virtual.dir/srtcore/channel.cpp.obj
/home/Administrator/opensource/mpv-winbuild-cmake/build64/packages/libsrt-prefix/src/libsrt/srtcore/channel.cpp: In member function 'void srt::CChannel::createSocket(int)':
/home/Administrator/opensource/mpv-winbuild-cmake/build64/packages/libsrt-prefix/src/libsrt/srtcore/channel.cpp:150:10: warning: variable 'cloexec_flag' set but not used [-Wunused-but-set-variable]
  150 |     bool cloexec_flag = false;
      |          ^~~~~~~~~~~~
[3/41] Building CXX object CMakeFiles/srt_virtual.dir/srtcore/common.cpp.obj
[4/41] Building CXX object CMakeFiles/srt_virtual.dir/srtcore/core.cpp.obj
FAILED: CMakeFiles/srt_virtual.dir/srtcore/core.cpp.obj
/home/Administrator/opensource/mpv-winbuild-cmake/build64/install/bin/x86_64-w64-mingw32-g++.exe -DENABLE_SOCK_CLOEXEC=1 -DENABLE_STDCXX_SYNC=1 -DHAI_ENABLE_SRT=1 -DHAI_PATCH=1 -DHAVE_INET_PTON=1 -DHAVE_PTHREAD_GETNAME_NP=1 -DHAVE_PTHREAD_SETNAME_NP=1 -DNDEBUG -DPTW32_STATIC_LIB=1 -DSRT_ENABLE_APP_READER -DSRT_ENABLE_CLOSE_SYNCH -DSRT_ENABLE_ENCRYPTION -DSRT_EXPORTS -DSRT_VERSION=\"1.5.1\" -DUSE_MBEDTLS=1 -DWIN32=1 -D_GNU_SOURCE -D_WIN32_WINNT=0x0600 -I/home/Administrator/opensource/mpv-winbuild-cmake/build64/packages/libsrt-prefix/src/libsrt/common -I/home/Administrator/opensource/mpv-winbuild-cmake/build64/packages/libsrt-prefix/src/libsrt/srtcore -I/home/Administrator/opensource/mpv-winbuild-cmake/build64/packages/libsrt-prefix/src/libsrt/haicrypt -I/home/Administrator/opensource/mpv-winbuild-cmake/build64/packages/libsrt-prefix/src/libsrt-build -DENABLE_LOGGING=1 -Wall -Wextra -O3 -DNDEBUG -std=gnu++11 -MD -MT CMakeFiles/srt_virtual.dir/srtcore/core.cpp.obj -MF CMakeFiles/srt_virtual.dir/srtcore/core.cpp.obj.d -o CMakeFiles/srt_virtual.dir/srtcore/core.cpp.obj -c /home/Administrator/opensource/mpv-winbuild-cmake/build64/packages/libsrt-prefix/src/libsrt/srtcore/core.cpp
during RTL pass: final
/home/Administrator/opensource/mpv-winbuild-cmake/build64/packages/libsrt-prefix/src/libsrt/srtcore/core.cpp: In member function 'void srt::CUDT::dropFromLossLists(int32_t, int32_t)':
/home/Administrator/opensource/mpv-winbuild-cmake/build64/packages/libsrt-prefix/src/libsrt/srtcore/core.cpp:10566:1: internal compiler error: Segmentation fault
10566 | }
      | ^
Please submit a full bug report, with preprocessed source (by using -freport-bug).
See <https://gcc.gnu.org/bugs/> for instructions.
[5/41] Building CXX object CMakeFiles/srt_virtual.dir/srtcore/cache.cpp.obj
[6/41] Building CXX object CMakeFiles/srt_virtual.dir/srtcore/buffer_tools.cpp.obj
[7/41] Building CXX object CMakeFiles/srt_virtual.dir/srtcore/buffer_snd.cpp.obj
[8/41] Building CXX object CMakeFiles/srt_virtual.dir/srtcore/api.cpp.obj
[9/41] Building CXX object CMakeFiles/srt_virtual.dir/srtcore/epoll.cpp.obj
/home/Administrator/opensource/mpv-winbuild-cmake/build64/packages/libsrt-prefix/src/libsrt/srtcore/epoll.cpp:283:2: warning: #warning "Unsupported system for epoll. The epoll_add_ssock() API call won't work on this platform." [-Wcpp]
  283 | #warning "Unsupported system for epoll. The epoll_add_ssock() API call won't work on this platform."
      |  ^~~~~~~
[10/41] Building CXX object CMakeFiles/srt_virtual.dir/srtcore/crypto.cpp.obj
[11/41] Building CXX object CMakeFiles/srt_virtual.dir/srtcore/fec.cpp.obj
ninja: build stopped: subcommand failed.

This may not help you with the specific error, but maybe this is a way for you to move on as I have seen several open questions created by you. I tried building mpv on Windows with MSYS2 or Cywin for several days without success. I ended up using a docker container (Ubuntu 22.04) with a WSL2 backend. After switching to a more native environment, the build works smoothly.

Msys2 or cygwin are unsupported so you're on your own if compiling on those platforms