From: Kacper Michajlow <kasper93-at-gmail.com@ffmpeg.org>
To: "softworkz ." <softworkz@hotmail.com>
Cc: FFmpeg development discussions and patches <ffmpeg-devel@ffmpeg.org>
Subject: Re: [FFmpeg-devel] graph.{html,css} embed failure on Windows build
Date: Tue, 17 Jun 2025 15:10:00 +0200
Message-ID: <CABPLASRksB=4ZqniY2vOtSgMmC0Q861yRgiuLk=oQWVGrO9qDg@mail.gmail.com> (raw)
In-Reply-To: <DM8P223MB0365AC26D77556619340724CBA73A@DM8P223MB0365.NAMP223.PROD.OUTLOOK.COM>
On Tue, 17 Jun 2025 at 04:07, softworkz . <softworkz@hotmail.com> wrote:
>
>
> > -----Original Message-----
> > From: Kacper Michajlow <kasper93@gmail.com>
> > Sent: Sunday, June 15, 2025 12:49 AM
> > To: FFmpeg development discussions and patches <ffmpeg-
> > devel@ffmpeg.org>
> > Cc: softworkz@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/44100
> > 735119
> > 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?
>
> Hi Kasper,
>
> I was able to reproduce the issue by adding a new CI build (for PRs to
> ffstaging/ffmpeg (on GitHub, not yet for Patchwork).
>
> It appears to be all about dir separators when building under MSYS2 with
> Clang. Clang insists on using backslashes (unlike GCC and MSVC) and that
> screws the Gnu make logic (pattern rules, dependency and up-to-date
> checks).
Why is Clang involved in .css conversion rules? It seems to fail at
the `%.css.min: %.css` rule already, which shouldn't involve any C
toolchain related bits. Is this propagated from the .o file? In which
case why does the .o have "wrong" path separators?
Isn't there an issue in vpath? Maybe we can make it somehow proper
separators. Few days I briefly looked at this, but it wasn't obvious
what would be the correct solution here. Changing vpath to extract
only files in fftools/resources was improving things, but still not
fully.
Also vpath in fftools/resources/Makefile is setting search path in the
whole SRC_PATH, while imho it should be restricted to the
fftools/resources directory only.
- Kacper
_______________________________________________
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
To unsubscribe, visit link above, or email
ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe".
next prev parent reply other threads:[~2025-06-17 13:10 UTC|newest]
Thread overview: 14+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-06-14 22:48 Kacper Michajlow
2025-06-14 23:15 ` Michael Niedermayer
2025-06-15 1:20 ` softworkz .
2025-06-15 2:36 ` softworkz .
2025-06-17 2:07 ` softworkz .
2025-06-17 13:10 ` Kacper Michajlow [this message]
2025-06-17 14:06 ` Kacper Michajlow
2025-06-17 14:12 ` softworkz .
2025-06-17 15:29 ` softworkz .
2025-06-17 15:59 ` Kacper Michajlow
2025-06-17 16:06 ` softworkz .
2025-06-17 16:35 ` Kacper Michajlow
2025-06-17 18:54 ` softworkz .
2025-06-17 23:14 ` Kacper Michajlow
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to='CABPLASRksB=4ZqniY2vOtSgMmC0Q861yRgiuLk=oQWVGrO9qDg@mail.gmail.com' \
--to=kasper93-at-gmail.com@ffmpeg.org \
--cc=ffmpeg-devel@ffmpeg.org \
--cc=softworkz@hotmail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Git Inbox Mirror of the ffmpeg-devel mailing list - see https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
This inbox may be cloned and mirrored by anyone:
git clone --mirror https://master.gitmailbox.com/ffmpegdev/0 ffmpegdev/git/0.git
# If you have public-inbox 1.1+ installed, you may
# initialize and index your mirror using the following commands:
public-inbox-init -V2 ffmpegdev ffmpegdev/ https://master.gitmailbox.com/ffmpegdev \
ffmpegdev@gitmailbox.com
public-inbox-index ffmpegdev
Example config snippet for mirrors.
AGPL code for this site: git clone https://public-inbox.org/public-inbox.git