[FFmpeg-devel] graph.{html,css} embed failure on Windows build

softworkz . softworkz at hotmail.com
Sun Jun 15 04:20:19 EEST 2025




________________________________________
From: Kacper Michajlow <kasper93 at gmail.com>
Sent: Sunday, June 15, 2025 12:48 AM
To: FFmpeg development discussions and patches
Cc: softworkz at hotmail.com
Subject: graph.{html,css} embed failure on Windows build

Hello,

Since the recent addition of resman.c and embedding of
graph.{html,css} some of the Windows builds fail. There seems to be a
regression in path joining, caused by \ / mismatch.

Generally those issues were never a problem and I would prefer to keep
it this way. This configuration has always been flaky and undertested.
I could set-up a pipeline to report to the fate server if that's
something that would help stabilize it.

Example of failure:
```
BIN2C fftoolsresourcesgraph.html.c
BIN2C fftools/resources/graph.html.c
SED fftoolsresourcesgraph.css.min
sed: can't read /c/a/FFmpeg/FFmpeg/fftoolsresources/graph.css: No such
file or directory
SED fftools/resources/graph.css.min
make: *** No rule to make target 'fftools\resources\graph.html.c',
needed by 'fftools/resources/graph.html.o'. Stop.
make: *** Waiting for unfinished jobs....
HOSTCC tests/videogen.o
rm fftools\resources\graph.css.min fftools/resources/graph.html.c
```

Note that BIN2C is called twice, once with the correct path and with
the wrong one.

Removing resman.c fixes the build. This has to be done forcefully in
the code, because there is no configure option to disable this
html/css embedding.

You can see the details and whole failing build logs here:
code: https://github.com/kasper93/FFmpeg/tree/gha
build: https://github.com/kasper93/FFmpeg/actions/runs/15653223193/job/44100735119
command: $ ../configure --enable-gpl --enable-version3
--enable-nonfree --samples=../samples --enable-memory-poisoning
--arch=amd64 --enable-w32threads --as=clang --ar=llvm-ar --cxx=clang++
--ld=lld-link --windres=llvm-windres --strip=llvm-strip --cc=clang
--nm=llvm-nm --extra-ldflags='msvcrt.lib oldnames.lib'
--host_extralibs='' --toolchain=msvc && make -j`nproc` && make
-j`nproc` run-checkasm && make -j`nproc` fate-rsync && make -j`nproc`
fate

Here is exactly the same pipeline with removed graph.{html,css}
https://github.com/kasper93/FFmpeg/tree/gha2
https://github.com/kasper93/FFmpeg/actions/runs/15656127992
Builds just fine.
Ignore win32 (windows-11-arm, arm64, --toolchain=msvc) failure, as
this is affected by unrelated regression in dxvenc.c on arm64 target,
but the build itself is passing just fine.

Any ideas how we can restore the ability to build ffmpeg on Windows?

Thanks,
Kacper


Hello Kasper,

this is a quite specific configure setup. There are two Patchwork CI
builds for Windows (one MSVC and one GCC, both on MSYS2) which
are working fine.

I'm on vacation, so my abilities are somewhat limited, please give me 
a week, then i'll look at your way of configuration and why it fails.

Best regards
sw


More information about the ffmpeg-devel mailing list