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.5k stars 257 forks source link

Highway git ?? #2497

Open Fishman0919 opened 11 months ago

Fishman0919 commented 11 months ago
17:10:35 ┌ highway git  .............................. [Recently updated]
17:10:35 ├ Running uninstall...
17:10:35 ├ Running cmake...
17:10:38 ├ Running build...
17:10:39 ├ Running install...
17:10:39 ├ /local64/lib/libhwy_test.a  ...................... [Not found]
17:10:39 └ highway-git  ........................................ [Failed]

Try deleting '/build/highway-git' and start the script again.
If you are sure there are no dependencies, <Enter> to continue building.

Close this window if you wish to stop building.

Try deleting "/build/highway-git" but same message.

The build fails at mediainfo if I hit Enter.

mark-henry commented 11 months ago

got around this by not building curl (that's curl=2 in media-autobuild_suite.ini)

btw they asked nicely for us to include logs in all issues submitted

UlrikHD commented 11 months ago

logs.zip Ran into the same issue on a clean install (and update) of windows 10 home with only Firefox and git installed, running as a VM inside Ubuntu 22.04.

Deleting /build/highway-git only caused a new issue to pop up regarding "git clone ..."

I'll update once the latest attempt at compiling ends (trying mark-henry's suggestion). Update: Disabling curl in the .ini did not change anything, it fails at /local64/lib/libwhy_test.a .........[not found]

Jolar commented 11 months ago

Same for me after multiple attempts over a few days. Deselecting curl had no effect.

logs.zip

Biswa96 commented 11 months ago

Same for me after multiple attempts over a few days. Deselecting curl had no effect.

Your given logs do not show any sign of higway project. Build failed in libplacebo project in your case.

../src/meson.build:217:6: ERROR: Cannot link_whole a custom or Rust target 'ucrt_math.lib' into a static library 'placebo'. Instead, pass individual object files with the "objects:" keyword argument if possible. Meson had to promote link to link_whole because 'placebo' is installed but not 'ucrt_math.lib', and thus has to include objects from 'ucrt_math.lib' to be usable.
Fishman0919 commented 11 months ago

It does not produce a log.

Disabling curl does nothing.

10:47:00 ┌ highway git  .............................. [Recently updated]
10:47:00 ├ Running uninstall...
10:47:00 ├ Running cmake...
10:47:04 ├ Running build...
10:47:04 ├ Running install...
10:47:05 ├ /local64/lib/libhwy_test.a  ...................... [Not found]
10:47:05 └ highway-git  ........................................ [Failed]

Try deleting '/build/highway-git' and start the script again.
If you are sure there are no dependencies, <Enter> to continue building.

Close this window if you wish to stop building.

Press enter to continue is the option you get or "Try deleting '/build/highway-git' and start the script again."

Jolar commented 11 months ago

Same for me after multiple attempts over a few days. Deselecting curl had no effect.

Your given logs do not show any sign of higway project. Build failed in libplacebo project in your case.

../src/meson.build:217:6: ERROR: Cannot link_whole a custom or Rust target 'ucrt_math.lib' into a static library 'placebo'. Instead, pass individual object files with the "objects:" keyword argument if possible. Meson had to promote link to link_whole because 'placebo' is installed but not 'ucrt_math.lib', and thus has to include objects from 'ucrt_math.lib' to be usable.

??? It stopped with the same highway-git ........................................ [Failed] as reported by others. Surely that's visible in the logs? It has stopped there for a few days. I will check later when I have access to the computer.

Edit: Could check my log in the phone. But I'm 99... no. Let's say 85% sure I saw it stop (again) at the highway error... :) Will do another run later to check. Would be interesting to see the logs from the others.

nivomi commented 11 months ago

logs.zip

Another log - the highway error doesn't halt compilation, just throws a warning up that you can ignore (which doesn't produce logs if you choose to quit)

When I ignore the warning, though, vpx fails to configure when it tries to enable avx/yasm, which seems like it could be because of the failed highway build.

And here's the highway logs, since those didn't seem to get bundled into the logs.zip:

build-64bit.zip

Jolar commented 11 months ago

Same for me after multiple attempts over a few days. Deselecting curl had no effect.

Your given logs do not show any sign of higway project. Build failed in libplacebo project in your case.

../src/meson.build:217:6: ERROR: Cannot link_whole a custom or Rust target 'ucrt_math.lib' into a static library 'placebo'. Instead, pass individual object files with the "objects:" keyword argument if possible. Meson had to promote link to link_whole because 'placebo' is installed but not 'ucrt_math.lib', and thus has to include objects from 'ucrt_math.lib' to be usable.

For some reason it wasn't the log for the latest run that got included in the logs.zip I attached before. It was the log from the previous run where I choose to continue after the failed highway compilation: If you are sure there are no dependencies, <Enter> to continue building.

The failed highway stuff is at line 127.

L4cache commented 11 months ago

It's save to ignore though, I think.

summerclock commented 11 months ago

Seem to have solved the problem in my case by modifying the compile flag -DHWY_ENABLE_TESTS=OFF to -DHWY_ENABLE_TESTS=ON

In build/media-suite_compile.sh, change line

CXXFLAGS+=" -DHWY_COMPILE_ALL_ATTAINABLE" do_cmakeinstall -DHWY_ENABLE_TESTS=OFF

to

CXXFLAGS+=" -DHWY_COMPILE_ALL_ATTAINABLE" do_cmakeinstall -DHWY_ENABLE_TESTS=ON
UlrikHD commented 11 months ago

Still compiling, but can confirm that making the change suggested by @summerclock works and highway no longer fails. The option was previously set to OFF in this commit #2464 which references issue #2463

Update: the compilation broke later on at libplace while running meson (same error as Jolar), but the change seems effective to fix the highway issue on my computer. nanake described a similar issue with FFmpeg-builds after a recent merge in libplacebo

summerclock commented 11 months ago

Still compiling, but can confirm that making the change suggested by @summerclock works and highway no longer fails. The option was previously set to OFF in this commit #2464 which references issue #2463

Update: the compilation broke later on at libplace while running meson (same error as Jolar), but the change seems effective to fix the highway issue on my computer. nanake described a similar issue with FFmpeg-builds after a recent merge in libplacebo

Encountered the same libplacebo error as well. For anyone attempting to successfully compile before the upstream is fixed, you can work around by downgrading meson manually:

  1. Open mintty in the root directory.
  2. Remove the installed mingw-w64-x86_64-meson package by executing pacman -R mingw-w64-x86_64-meson.
  3. Fetch the previous meson package and install it: curl -LO https://repo.msys2.org/mingw/mingw64/mingw-w64-x86_64-meson-1.2.0-2-any.pkg.tar.zst && pacman -U mingw-w64-x86_64-meson-1.2.0-2-any.pkg.tar.zst.
  4. Configure pacman to ignore updating meson: Add IgnorePkg = mingw-w64-x86_64-meson within the [options] section of the /etc/pacman.conf file. This file is typically located at msys64/etc/pacman.conf in installdir. If you're not familiar with vim, just edit it directly using notepad.
  5. Re-run the autobuild batch script, and everything should work fine.
UlrikHD commented 11 months ago

Encountered the same libplacebo error as well. For anyone attempting to successfully compile before the upstream is fixed, you can work around by downgrading meson manually:

1. Open mintty in the root directory.

2. Remove the installed mingw-w64-x86_64-meson package by executing `pacman -R mingw-w64-x86_64-meson`.

3. Fetch the previous meson package and install it: `curl -LO https://repo.msys2.org/mingw/mingw64/mingw-w64-x86_64-meson-1.2.0-2-any.pkg.tar.zst && pacman -U mingw-w64-x86_64-meson-1.2.0-2-any.pkg.tar.zst`.

4. Configure pacman to ignore updating meson: Add `IgnorePkg = mingw-w64-x86_64-meson` within the `[options]` section of the `/etc/pacman.conf` file. This file is typically located at `msys64/etc/pacman.conf` in installdir. If you're not familiar with vim, just edit it directly using notepad.

5. Re-run the autobuild batch script, and everything should work fine.

That solution works great and I get all the way to the ffmpeg compilation stage. Unfortunately, I get stuck on the same issue raised in issue #2399 so I don't think it's related to your fix. logs.zip