m-ab-s / media-autobuild_suite

This Windows Batchscript helps setup a Mingw-w64 compiler environment for building ffmpeg and other media tools under Windows.
GNU General Public License v3.0
1.49k stars 257 forks source link

[mingw64] I am getting errors at compilation #2650

Closed BayPatates closed 1 month ago

BayPatates commented 2 months ago

When I ran the program for the first time I got this error.

15:26:51 Warning: We will not accept any issues lacking any form of logs or logs.zip!
15:26:51
        Starting 64bit compilation of all tools
Imported default FFmpeg options from .bat
License: nonfree
Imported default mpv options from .bat
15:27:15
        Starting 64bit compilation of global tools
15:27:15 ├ Running download_rustup...
15:27:16 ├ Running install_rust...
Likely error (tail of the failed operation logfile):
verbose: downloading with reqwest
verbose: checksum passed
info: downloading component 'rustc'
verbose: downloading file from: 'https://static.rust-lang.org/dist/2024-04-09/rustc-1.77.2-x86_64-pc-windows-gnu.tar.xz'
verbose: downloading with reqwest
verbose: removing toolchain directory: 'C:/mabs/media-autobuild_suite/msys64/opt/cargo\toolchains\stable-x86_64-pc-windows-gnu'
error: component download failed for rustc-x86_64-pc-windows-gnu

Caused by:
    error decoding response body: operation timed out
install_rust failed. Check C:/mabs/media-autobuild_suite/build/rustinstall/ab-suite.install_rust.log
This is required for other packages, so this script will exit.
15:31:21   Creating diagnostics file...

Attach C:\mabs\media-autobuild_suite\build\logs.zip to the GitHub issue.
Make sure the suite is up-to-date before reporting an issue. It might've been fixed already.

Try running the build again at a later time.

The log file for the first error: logs.zip

I closed the application and tried again after a while, but now I got this error.

16:10:46 Warning: We will not accept any issues lacking any form of logs or logs.zip!
16:10:47
        Starting 64bit compilation of all tools
Imported default FFmpeg options from .bat
License: nonfree
Imported default mpv options from .bat
16:10:59
        Starting 64bit compilation of global tools
16:10:59 ├ Running install_toolchain...
16:46:58 ├ Running rustup_update...
16:47:01 ├ Running set_default_toolchain...
16:47:01   Running git clone for ripgrep...
16:47:39   Running git update for ripgrep...
16:47:40 ┌ ripgrep git  .............................. [Recently updated]
16:47:40 ├ Running rust.update...
16:47:45 ├ Running rust.build...
16:49:33 ├ Stripping...
16:49:33 └ ripgrep-git  ....................................... [Updated]
16:49:34   Running git clone for dssim...
16:50:06   Running git update for dssim...
16:50:06 ┌ dssim git  ................................ [Recently updated]
16:50:06 ├ Running rust.update...
16:50:20 ├ Running rust.build...
Likely error (tail of the failed operation logfile):
  exit code: 3
  cargo:warning=ToolExecError: Command "ccache" "clang" "-O3" "--target=x86_64-pc-windows-gnu" "-ffunction-sections" "-fdata-sections" "-m64" "--target=x86_64-pc-windows-gnu" "-D_FORTIFY_SOURCE=2" "-fstack-protector-strong" "-mtune=generic" "-O2" "-pipe" "-D__USE_MINGW_ANSI_STDIO=1" "-mthreads" "-fno-PIC" "-I" "vendor/include" "-DNDEBUG=1" "-o" "C:\\mabs\\media-autobuild_suite\\build\\dssim-git\\target\\x86_64-pc-windows-gnu\\release\\build\\lcms2-sys-377e7d136c3724c0\\out\\713e2796ca293819-cmsxform.o" "-c" "vendor/src/cmsxform.c" with args clang did not execute successfully (status code exit code: 3).

  --- stderr

  error occurred: Command "ccache" "clang" "-O3" "--target=x86_64-pc-windows-gnu" "-ffunction-sections" "-fdata-sections" "-m64" "--target=x86_64-pc-windows-gnu" "-D_FORTIFY_SOURCE=2" "-fstack-protector-strong" "-mtune=generic" "-O2" "-pipe" "-D__USE_MINGW_ANSI_STDIO=1" "-mthreads" "-fno-PIC" "-I" "vendor/include" "-DNDEBUG=1" "-o" "C:\\mabs\\media-autobuild_suite\\build\\dssim-git\\target\\x86_64-pc-windows-gnu\\release\\build\\lcms2-sys-377e7d136c3724c0\\out\\713e2796ca293819-cmsxform.o" "-c" "vendor/src/cmsxform.c" with args clang did not execute successfully (status code exit code: 3).

warning: build failed, waiting for other jobs to finish...
rust.build failed. Check C:/mabs/media-autobuild_suite/build/dssim-git/ab-suite.rust.build.log
This is required for other packages, so this script will exit.
16:51:19   Creating diagnostics file...

Attach C:\mabs\media-autobuild_suite\build\logs.zip to the GitHub issue.
Make sure the suite is up-to-date before reporting an issue. It might've been fixed already.

Try running the build again at a later time.

The log file for the second error: logs.zip

I don't know/understand what the problem is or how to fix it.

1480c1 commented 2 months ago
warning: lcms2-sys@4.0.5: terminate called after throwing an instance of 'std::filesystem::__cxx11::filesystem_error'
warning: lcms2-sys@4.0.5:   what():  filesystem error: Cannot convert character sequence: Illegal byte sequence
warning... ccache clang

Seems very similar to https://github.com/ccache/ccache/issues/1409

Can you try the mentioned option of using utf-8?

BayPatates commented 2 months ago

First, I updated the suite with the "update_suite.sh",

Then, I enabled the Unicode UTF-8 support, Ekran görüntüsü 2024-04-30 211046

While mingw was running, I saw this error, but nothing happened, the program kept running normally, Ekran görüntüsü 2024-04-30 220532

It then began compiling, and after a short while, it gave another error, Ekran görüntüsü 2024-04-30 222257

Also, while I was trying this a week ago, i was encountering the error at the "jq-git" and "jo-git" parts, which was before the "dssim". So changing to "UTF-8" might have made some difference but issue still persists.

The log file: logs.zip

22:05:55 Warning: We will not accept any issues lacking any form of logs or logs.zip!
22:05:55 
    Starting 64bit compilation of all tools
Imported default FFmpeg options from .bat
License: nonfree
Imported default mpv options from .bat
22:06:09 
    Starting 64bit compilation of global tools
22:06:21   Running git update for ripgrep...
22:06:22 ripgrep git  ...................................... [Up-to-date]
22:06:22   Running git clone for jo...
22:06:54   Running git update for jo...
22:06:55 ┌ jo git  ................................... [Recently updated]
22:06:55 ├ Running meson...
22:07:01 ├ Running build...
22:07:03 ├ Running install...
22:07:04 ├ Stripping...
22:07:04 └ jo-git  ............................................ [Updated]
22:07:04   Running git clone for jq...
22:07:47   Running git update for jq...
22:07:47 ┌ jq git  ................................... [Recently updated]
22:07:50 ├ Running autoreconf...
22:08:11 ├ Running configure...
22:09:06 ├ Running make...
22:09:17 ├ Stripping...
22:09:18 └ jq-git  ............................................ [Updated]
22:09:24   Running git update for dssim...
22:09:27 ┌ dssim git  ................................... [Updates found]
22:09:27 ├ Running rust.update...
Likely error (tail of the failed operation logfile):
CPPFLAGS: 
CFLAGS: -D_FORTIFY_SOURCE=2 -fstack-protector-strong -mtune=generic -O2 -pipe -D__USE_MINGW_ANSI_STDIO=1 -mthreads -fno-PIC
CXXFLAGS: -D_FORTIFY_SOURCE=2 -fstack-protector-strong -mtune=generic -O2 -pipe -D__USE_MINGW_ANSI_STDIO=1
LDFLAGS: -D_FORTIFY_SOURCE=2 -fstack-protector-strong -mtune=generic -O2 -pipe -D__USE_MINGW_ANSI_STDIO=1 -static-libgcc -static-libstdc++
cargo update
error: rustup could not choose a version of cargo to run, because one wasn't specified explicitly, and no default is configured.
help: run 'rustup default stable' to download the latest stable release of Rust and set it as your default toolchain.
rust.update failed. Check C:/mabs/media-autobuild_suite/build/dssim-git/ab-suite.rust.update.log
This is required for other packages, so this script will exit.
22:09:27   Creating diagnostics file...
1480c1 commented 1 month ago

That error seems a bit more different, can you delete the msys64 folder and rerun?

BayPatates commented 1 month ago

I tried lots of things to solve these problems for days but every time I solved some of the problems I encountered another problems. I succesfully build everything for once but I realized ffmpeg is not build with "libnpp" so I had to restart everything. (But it gave more errors and I couldn't compile again.) Today I deleted everything and re-downloaded the "media-autobuild_suite" again (cloned this repository with GitHub Desktop) ~~but now I got error at "curl git" part. I don't know what I should do. 🙁~~

~~Edit: Seems similar to this https://github.com/m-ab-s/media-autobuild_suite/issues/2674 https://github.com/curl/curl/issues/13579 Maybe it will be fixed some time later.~~ It is fixed but now I have other problems. I will try to solve by myself and close this issue. If I can, I will update it when/if I build succesfully.

Logs: logs.zip

Error Part:

15:58:27 ┌ curl git  ................................. [Recently updated]
15:58:35 ├ Running autoreconf...
15:59:58 ├ Running configure...
16:15:51 ├ Running make...
Likely error (tail of the failed operation logfile):
  CC       libcurl_la-nonblock.lo
../../lib/nonblock.c: In function 'curlx_nonblock':
../../lib/nonblock.c:82:4: error: #error "no non-blocking method was found/used/set"
   82 | #  error "no non-blocking method was found/used/set"
      |    ^~~~~
make[2]: *** [Makefile:2831: libcurl_la-nonblock.lo] Error 1
make[2]: Leaving directory '/build/curl-git/build-64bit/lib'
make[1]: *** [Makefile:1539: all] Error 2
make[1]: Leaving directory '/build/curl-git/build-64bit/lib'
make: *** [Makefile:1223: all-recursive] Error 1
make failed. Check C:/mabs/media-autobuild_suite/build/curl-git/build-64bit/ab-suite.make.log

Full Output:

14:36:57 Warning: We will not accept any issues lacking any form of logs or logs.zip!
14:36:57
        Starting 64bit compilation of all tools
Imported default FFmpeg options from .bat
License: nonfree
Imported default mpv options from .bat
14:37:17
        Starting 64bit compilation of global tools
14:37:17   Running git clone for jo...
14:37:33   Running git update for jo...
14:37:34 ┌ jo git  ................................... [Recently updated]
14:37:34 ├ Running meson...
14:37:51 ├ Running build...
14:37:53 ├ Running install...
14:37:54 ├ Stripping...
14:37:54 └ jo-git  ............................................ [Updated]
14:37:54   Running git clone for jq...
14:38:15   Running git update for jq...
14:38:16 ┌ jq git  ................................... [Recently updated]
14:38:20 ├ Running autoreconf...
14:38:47 ├ Running configure...
14:41:18 ├ Running make...
14:41:35 ├ Stripping...
14:41:35 └ jq-git  ............................................ [Updated]
14:41:35   Running git clone for dssim...
14:41:49   Running git update for dssim...
14:41:50 ┌ dssim git  ................................ [Recently updated]
14:41:51 ├ Running rust.update...
14:41:56 ├ Running rust.build...
14:43:17 ├ Stripping...
14:43:17 └ dssim-git  ......................................... [Updated]
14:43:17   Running git clone for libxml2...
14:45:04   Running git update for libxml2...
14:45:05 ┌ libxml2 git  .............................. [Recently updated]
14:45:06 ├ Running cmake...
14:45:53 ├ Running build...
14:46:15 ├ Running install...
14:46:15 ├ Stripping...
14:46:16 └ libxml2-git  ....................................... [Updated]
14:46:16   Running git clone for libpng...
14:48:31   Running git update for libpng...
14:48:32 ┌ libpng git  ............................... [Recently updated]
14:48:33 ├ Running autoupdate...
14:48:38 ├ Running configure...
14:49:48 ├ Running make...
14:50:20 ├ Running install...
14:50:25 ├ Stripping...
14:50:25 └ libpng-git  ........................................ [Updated]
14:50:25   Running git clone for aribb24...
14:50:39   Running git update for aribb24...
14:50:40 ┌ aribb24 git  .............................. [Recently updated]
14:50:44 ├ Running autoreconf...
14:51:12 ├ Running configure...
14:52:07 ├ Running make...
14:52:14 ├ Running install...
14:52:17 ├ Stripping...
14:52:17 └ aribb24-git  ....................................... [Updated]
14:52:47   Running git clone for freetype...
14:53:56   Running git update for freetype...
14:54:08 ┌ freetype git  ............................. [Recently updated]
14:54:09 ├ Running meson...
14:54:18 ├ Running build...
14:54:31 ├ Running install...
14:54:32 ├ Stripping...
14:54:32 └ freetype-git  ...................................... [Updated]
14:54:32   Running git clone for fontconfig...
14:55:14   Running git update for fontconfig...
14:55:32 ┌ fontconfig git  ........................... [Recently updated]
14:55:40 ├ Installing gperf... done
14:55:53 ├ Running meson...
14:56:28 ├ Running build...
14:56:45 ├ Running install...
14:56:47 ├ Stripping...
14:56:47 └ fontconfig-git  .................................... [Updated]
14:56:47   Running git clone for harfbuzz...
15:01:27   Running git update for harfbuzz...
15:01:29 ┌ harfbuzz git  ............................. [Recently updated]
15:01:44 ├ Installing ragel... done
15:01:55 ├ Installing icu... done
15:03:56 ├ Running meson...
15:04:41 ├ Running build...
15:07:13 ├ Running install...
15:08:06 ├ Stripping...
15:08:06 └ harfbuzz-git  ...................................... [Updated]
15:08:06   Running git clone for fribidi...
15:09:18   Running git update for fribidi...
15:09:20 ┌ fribidi git  .............................. [Recently updated]
15:09:20 ├ Running meson...
15:09:32 ├ Running build...
15:09:42 ├ Running install...
15:09:43 ├ Stripping...
15:09:43 └ fribidi-git  ....................................... [Updated]
15:09:44   Running git clone for libass...
15:10:08   Running git update for libass...
15:10:09 ┌ libass git  ............................... [Recently updated]
15:10:09 ├ Running autoreconf...
15:10:49 ├ Running configure...
15:12:11 ├ Running make...
15:12:33 ├ Running install...
15:12:37 ├ Stripping...
15:12:37 └ libass-git  ........................................ [Updated]
15:12:38 gnutls 3.8.5  .................................. [Not installed]
15:13:05 ┌ gnutls-3.8.5  ................................... [Downloaded]
15:13:05 ├ Running extract...
15:13:23 ├ Installing nettle... done
15:13:35 ├ Running configure...
15:29:43 ├ Running make...
15:40:46 ├ Running install...
15:41:11 ├ Stripping...
15:41:11 └ gnutls-3.8.5  ...................................... [Updated]
15:41:29 libidn2 2.3.0  ................................. [Not installed]
15:41:46 ┌ libidn2-2.3.0  .................................. [Downloaded]
15:41:46 ├ Running extract...
15:41:49 ├ Running configure...
15:50:36 ├ Running make...
15:52:27 ├ Running install...
15:52:38 ├ Stripping...
15:52:38 └ libidn2-2.3.0  ..................................... [Updated]
15:52:38 libpsl 0.21.0  ................................. [Not installed]
15:53:02 ┌ libpsl-0.21.0  .................................. [Downloaded]
15:53:03 ├ Running extract...
15:53:07 ├ Running configure...
15:56:11 ├ Running make...
15:56:30 ├ Running install...
15:56:36 ├ Stripping...
15:56:36 └ libpsl-0.21.0  ..................................... [Updated]
15:56:45   Running git clone for curl...
15:58:26   Running git update for curl...
15:58:27 ┌ curl git  ................................. [Recently updated]
15:58:35 ├ Running autoreconf...
15:59:58 ├ Running configure...
16:15:51 ├ Running make...
Likely error (tail of the failed operation logfile):
  CC       libcurl_la-nonblock.lo
../../lib/nonblock.c: In function 'curlx_nonblock':
../../lib/nonblock.c:82:4: error: #error "no non-blocking method was found/used/set"
   82 | #  error "no non-blocking method was found/used/set"
      |    ^~~~~
make[2]: *** [Makefile:2831: libcurl_la-nonblock.lo] Error 1
make[2]: Leaving directory '/build/curl-git/build-64bit/lib'
make[1]: *** [Makefile:1539: all] Error 2
make[1]: Leaving directory '/build/curl-git/build-64bit/lib'
make: *** [Makefile:1223: all-recursive] Error 1
make failed. Check C:/mabs/media-autobuild_suite/build/curl-git/build-64bit/ab-suite.make.log
This is required for other packages, so this script will exit.
16:17:08   Creating diagnostics file...

Attach C:\mabs\media-autobuild_suite\build\logs.zip to the GitHub issue.
Make sure the suite is up-to-date before reporting an issue. It might've been fixed already.

Try running the build again at a later time.
BayPatates commented 1 month ago

After several attempts, I was able to build "FFmpeg" successfully, but got an error on compilation of "mpv". I can build other components in the near future, they are not absolutely necessary for now.

I solved most of my problems with VPN (connected to USA). It seems that my normal internet connection was not reliable, it was giving lots of git connection errors, but the VPN was more reliable for some reason.

Typical examples of these git connection errors:

23:20:03 libpsl 0.21.0  .................................... [Up-to-date]
Likely error (tail of the failed operation logfile):
LDFLAGS: -D_FORTIFY_SOURCE=2 -fstack-protector-strong -mtune=generic -O2 -pipe -D__USE_MINGW_ANSI_STDIO=1 -static-libgcc -static-libstdc++
vcs_fetch 
++ git rev-parse --git-dir
+ [[ -f .git/shallow ]]
+ unshallow=
+ git fetch --all -Ppft
+ git remote set-head -a origin
error: RPC failed; curl 92 HTTP/2 stream 3 was not closed cleanly: CANCEL (err 8)
error: 10 bytes of body are still expected
fatal: expected flush after ref listing
git.fetch failed. Check C:/mabs/media-autobuild_suite/build/curl-git/ab-suite.git.fetch.log
This is required for other packages, so this script will exit.
23:22:03   Creating diagnostics file...

If the Internet connection problem occurs while cloning "AMF", the "AMF-git" file will not have "amf", "Thirdparty", or ".github" subfolders. (However, the AMF-git folder will not be deleted.)

16:28:58   Running git clone for AMF...
16:32:37   Running git update for AMF...
16:33:51 ┌ AMF git  .................................. [Recently updated]
/build/media-suite_helper.sh: line 108: cd: amf/public/include: No such file or directory
16:33:51   Creating diagnostics file...

Attach C:\mabs\media-autobuild_suite\build\logs.zip to the GitHub issue.

Failed changing to directory amf/public/include.

I have an average internet speed of 20Mbps, but I could only download about 16-100Kbps from GitHub. Switching to VPN really helped with both speed and reliability.