[FFmpeg-devel] graph.{html,css} embed failure on Windows build
softworkz .
softworkz at hotmail.com
Sun Jun 15 05:36:04 EEST 2025
________________________________________
From: ffmpeg-devel <ffmpeg-devel-bounces at ffmpeg.org> on behalf of softworkz . <softworkz-at-hotmail.com at ffmpeg.org>
Sent: Sunday, June 15, 2025 3:20 AM
To: Kacper Michajlow; FFmpeg development discussions and patches
Subject: Re: [FFmpeg-devel] graph.{html,css} embed failure on Windows build
________________________________________
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
_______________________________________________
Some additional notes:
1. Sorry for the missing quotes in this reply
2. @kasper: Does the compilation of CUDA filters work with your setup?
Because the resources are using the exact same mechanism as we have
for compiling *.cu files to *.ptx files and embedding these into FFmpeg
(just another kind of resources).
These procedures exist in FFmpeg for years already and I actually
re-used this precedent exactly for the reason that nobody can complain
that it would introduce something new that could be show-stopping
for anybody.
3. If someone finds this conversation who is using the Shift Media Project's
Visual Studio project generator, please note that I have submitted PRs
to fix this and some other recent FFmpeg changes which broke it. I also
submitted a fix for CUDA filters - these had never worked before - as
mentioned, both are more or less the same story.
https://github.com/ShiftMediaProject/FFVS-Project-Generator
Best regards,
sw
More information about the ffmpeg-devel
mailing list