shinchiro / mpv-winbuild-cmake

CMake-based MinGW-w64 Cross Toolchain
669 stars 118 forks source link

build fail WSL #440

Closed dijkstrah closed 1 year ago

dijkstrah commented 1 year ago

First time attempt to build this on Windows 11 WSL: Linux 5.15.90.1-microsoft-standard-WSL2.

Please see attached for actual messages.

cmakeerror.log

Andarwinux commented 1 year ago

Try deleting cmake/* and CMakeCache.txt and then re-running cmake

dijkstrah commented 1 year ago

Did that and find the result in the attached log file. Spinning up a VM, as I think the WSL build option, at least on my instance, is broken.

cmake_error.log

Andarwinux commented 1 year ago

can't find file to patch at input line 18 can't find file to patch at input line 72 https://github.com/shinchiro/mpv-winbuild-cmake/blob/master/cmake/download_externalproject.cmake#L19 It looks like you're having problems with your internet connection.

dijkstrah commented 1 year ago

My internet connection is working just fine. Anything you suggest I should try to verify?

dijkstrah commented 1 year ago

Installed arch in a vm, followed the instructions, did not result in success. My internet connection is just fine.

cmake_error.log

Andarwinux commented 1 year ago

curl -sL https://gitlab.kitware.com/cmake/cmake/-/archive/release/cmake-release.tar.gz curl -sLO https://gitlab.kitware.com/cmake/cmake/-/raw/v3.26.4/Modules/ExternalProject.cmake

dijkstrah commented 1 year ago

The first curl command fails. The second one works fine with this message

Pasting the url in the browser works fine. wget works also fine. Adding O to the -sL in the first command also results in downloaded file. The curl command in the cmake file

COMMAND curl -sL https://gitlab.kitware.com/cmake/cmake/-/archive/release/cmake-release.tar.gz?path=Modules/ExternalProject -o modules.tar.gz

also works fine by itself.

Andarwinux commented 1 year ago

That's very strange. I can't reproduce this on Arch and Ubuntu-Preview WSL.

Maybe delete the entire build64 directory and try again?

shinchiro commented 1 year ago

Run with sudo to have write permission

dijkstrah commented 1 year ago

Sudo helped a lot on the arch vm. It got the cmake portion done. Why would we need elevated rights though?

Sudo did nothing for WSL, I am not going to touch that anytime soon.

On arch, it now fails in the ninja gcc step:

[50/68] Performing install step for 'rustup' FAILED: toolchain/rustup-prefix/src/rustup-stamp/rustup-install /home/unpo/mpv-winbuild-cmake/build64/toolchain/rustup-prefix/src/rustup-stamp/rustup-install cd /home/unpo/mpv-winbuild-cmake/build64/toolchain/rustup-prefix/src/rustup-build && /usr/bin/cmake -P /home/unpo/mpv-winbuild-cmake/build64/toolchain/rustup-prefix/src/rustup-stamp/rustup-install-.cmake && /usr/bin/cmake -E touch /home/unpo/mpv-winbuild-cmake/build64/toolchain/rustup-prefix/src/rustup-stamp/rustup-install CMake Error at /home/unpo/mpv-winbuild-cmake/build64/toolchain/rustup-prefix/src/rustup-stamp/rustup-install-.cmake:49 (message): Command failed: 101

'/home/unpo/mpv-winbuild-cmake/build64/exec' 'cargo' 'install' 'cargo-c' '--profile=release-strip' '--features=vendored-openssl'

See also

/home/unpo/mpv-winbuild-cmake/build64/toolchain/rustup-prefix/src/rustup-stamp/rustup-install-*.log

[51/68] Performing build step for 'gcc' FAILED: toolchain/gcc-prefix/src/gcc-stamp/gcc-build /home/unpo/mpv-winbuild-cmake/build64/toolchain/gcc-prefix/src/gcc-stamp/gcc-build cd /home/unpo/mpv-winbuild-cmake/build64/toolchain/gcc-prefix/src/gcc-build && /usr/bin/cmake -P /home/unpo/mpv-winbuild-cmake/build64/toolchain/gcc-prefix/src/gcc-stamp/gcc-build-.cmake && /usr/bin/cmake -E touch /home/unpo/mpv-winbuild-cmake/build64/toolchain/gcc-prefix/src/gcc-stamp/gcc-build CMake Error at /home/unpo/mpv-winbuild-cmake/build64/toolchain/gcc-prefix/src/gcc-stamp/gcc-build-.cmake:49 (message): Command failed: 2

'make' '-j4' 'all-gcc'

See also

/home/unpo/mpv-winbuild-cmake/build64/toolchain/gcc-prefix/src/gcc-stamp/gcc-build-*.log

ninja: build stopped: subcommand failed.

Andarwinux commented 1 year ago

Send gcc-build-*.log and rustup-install-*.log

dijkstrah commented 1 year ago

On the arch vm I have now succesfully passed the gcc stage. Turns out tmpfs was not big enough, giving disk-full errors.

In the mpv stage I now encounter this one:

FAILED: packages/libmodplug-prefix/src/libmodplug-stamp/libmodplug-patch /home/unpo/mpv-winbuild-cmake/build64/packages/libmodplug-prefix/src/libmodplug-stamp/libmodplug-patch cd /home/unpo/mpv-winbuild-cmake/build64/packages/libmodplug-prefix/src/libmodplug && /home/unpo/mpv-winbuild-cmake/build64/exec git am --3way "/home/unpo/mpv-winbuild-cmake/packages/libmodplug-*.patch" && /usr/bin/cmake -E touch /home/unpo/mpv-winbuild-cmake/build64/packages/libmodplug-prefix/src/libmodplug-stamp/libmodplug-patch Committer identity unknown

*** Please tell me who you are.

Run

git config --global user.email "you@example.com" git config --global user.name "Your Name"

to set your account's default identity. Omit --global to set the identity only in this repository.

fatal: unable to auto-detect email address (got 'root@archi.(none)')

and these:

[11/688] Performing build step for 'gmp' ninja: build stopped: subcommand failed.

After restarting the build it fails at a different step.

Andarwinux commented 1 year ago

Feel free to set a username and email

dijkstrah commented 1 year ago

I did and it didn't make a difference. It fails first with "gmp" step.

Andarwinux commented 1 year ago

ninja gmp-removeprefix && ninja download && ninja mpv

If the error still occurs, send gmp-build-*.log

dijkstrah commented 1 year ago

I am not sure what's going on. ninja mpv keeps failing, performing those individual steps with ninja completes without errors. Are too many things happening at the same time? Any way to control this?

Andarwinux commented 1 year ago

-DMAKEJOBS=1

Andarwinux commented 1 year ago

You should limit wslconfig.processors, or increase wslconfig.memory

example:

[wsl2]
memory=16GB
processors=8

https://learn.microsoft.com/en-us/windows/wsl/wsl-config

I recommend 2GB per processor

dijkstrah commented 1 year ago

Allright, the arch linux build has completed without errors. Finally!

As I stated before, the WSL one still cannot make it through the first step on my machine. I leave it at that.

Andarwinux commented 1 year ago

I don't know if you put the build directory inside WSL, but if you put it in the Windows directory, all sorts of weird problems are to be expected.

dijkstrah commented 1 year ago

I installed WSL standard Ubuntu, startup WSL with created user, git clone the repo into the home directory, create the build64 directory, "sudo cmake -DTARGET_ARCH=x86_64-w64-mingw32 -DGCC_ARCH=x86-64-v3 -G Ninja .." and then it bombs with the output in the log file as attached in the first post. I have reinstalled WSL just to check. Does the exact same thing again.