Git Inbox Mirror of the ffmpeg-devel mailing list - see https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
 help / color / mirror / Atom feed
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 17:59:34 +0200
Message-ID: <CABPLASQEMWKtnyW6q0xh1f8sBQ7BupKd03pGMTiR4KDCW4xfDw@mail.gmail.com> (raw)
In-Reply-To: <DM8P223MB0365B2C6643FBA09EA11BE88BA73A@DM8P223MB0365.NAMP223.PROD.OUTLOOK.COM>

On Tue, 17 Jun 2025 at 17:29, softworkz . <softworkz@hotmail.com> wrote:
>
> > -----Original Message-----
> > From: ffmpeg-devel <ffmpeg-devel-bounces@ffmpeg.org> On Behalf Of
> > softworkz .
> > Sent: Tuesday, June 17, 2025 4:13 PM
> > To: Kacper Michajlow <kasper93@gmail.com>
> > Cc: FFmpeg development discussions and patches <ffmpeg-
> > devel@ffmpeg.org>
> > Subject: Re: [FFmpeg-devel] graph.{html,css} embed failure on Windows build
> >
> >
> > > -----Original Message-----
> > > From: Kacper Michajlow <kasper93@gmail.com>
> > > Sent: Tuesday, June 17, 2025 4:06 PM
> > > To: softworkz . <softworkz@hotmail.com>
> > > Cc: FFmpeg development discussions and patches <ffmpeg-
> > > devel@ffmpeg.org>
> > > Subject: Re: graph.{html,css} embed failure on Windows build
> > >
> > > On Tue, 17 Jun 2025 at 15:10, Kacper Michajlow <kasper93@gmail.com>
> > > wrote:
> > > >
> > > > 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/44
> > > > > > 100
> > > > > > 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
> > >
> > > Ok, Martin explained to me on IRC that Windows Clang is generating
> > > dependency files with backward slashes, which is then choking because
> > Make
> > > ingest that, which when not escaped \\ makes paths all go wrong.
> > >
> > > There is no issue with llvm-mingw or alike, because Clang can be configured
> > > during compile time to output forward slashes in dep files.
> > >
> > > So, probably a solution would be to postproc .d files. But I didn't look at the
> > > issue closely, as you can see :) Or make Make work with backward slashes
> > > where needed, but this may be tricky to cover all internal matching.
> > >
> > > Dunno, just wanted to correct my previous message.
> >
> > Hi Kasper,
> >
> > thanks a lot for the update.
> > I had found this (path in dependency files) as a possible issue from research
> > but disregarded it because I had already stopped creation of .d files for
> > resources.
> >
> > BUT - now I realize: That change hasn't even been merged into master yet.
> >
> > Will run the CI with those changes included and report back.
> >
> > Thank you,
> > sw
>
> Hi Kasper,
>
> my already submitted patchset indeed fixes the MSVC-CLang build configuration
> which you had reported as failing:
>
> PR:
> https://github.com/ffstaging/FFmpeg/pull/80
>
> Build log:
> https://dev.azure.com/githubsync/ffmpeg/_build/results?buildId=95960&view=logs&j=275f1d19-1bd8-5591-b06b-07d489ea915a
>
> I will wait for the remaining CI builds to succeed and submit the rebased
> patchset to the ML then.
>
> Please let me know whether it fixes the build on your side as well.

Yes, this fixes the build issue. Thanks.

Note, I created a pipeline to upload this failing configuration to the
fate server. So we have coverage of this config now. Things tend to
break if something is not tested.

- 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".

  reply	other threads:[~2025-06-17 15:59 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
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 [this message]
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=CABPLASQEMWKtnyW6q0xh1f8sBQ7BupKd03pGMTiR4KDCW4xfDw@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