media-autobuild_suite icon indicating copy to clipboard operation
media-autobuild_suite copied to clipboard

[mingw64] [harfbuzz]

Open YUKI2eN3e opened this issue 1 year ago • 7 comments

The script is failing once it gets to harfbuzz-git

cc1plus.exe: some warnings being treated as errors
ninja: build stopped: subcommand failed.
This is required for other packages, so this script will exit.
22:38:02   Creating diagnostics file in harfbuzz-git

All relevant logs have been anonymously uploaded to https://0x0.st/oVzz.zip
Copy and paste [logs.zip](https://0x0.st/oVzz.zip) in the GitHub issue.
Make sure the suite is up-to-date before reporting an issue. It might've been fixed already.
Try running the build again at a later time.

logs.zip

YUKI2eN3e avatar Sep 18 '22 05:09 YUKI2eN3e

From the log, there seems to be two msys2 paths

In file included from C:/msys64/mingw64/include/assert.h:17,
                 from C:/GitHub/media-autobuild_suite/msys64/mingw64/include/c++/12.2.0/cassert:44,
                 from ../src/hb.hh:183:

Are you using msys2 and this project simultaneously? Is any of them added in PATH environment variable?

Biswa96 avatar Sep 20 '22 18:09 Biswa96

I do have msys2 installed (although I don't think it's been an issue before). I'll try cleaning up my PATH variable a bit and run the script again.

YUKI2eN3e avatar Sep 20 '22 19:09 YUKI2eN3e

So far it seems to be working, its made it past harfbuzz (I'll have to wait for it to finish to be sure). Is there any way to have the script temporarily clear the PATH variable (or set it's own PATH) before it starts the build?

YUKI2eN3e avatar Sep 20 '22 19:09 YUKI2eN3e

Is there any way to have the script temporarily clear the PATH variable (or set it's own PATH) before it starts the build?

That would be a feature request for m-ab-s devs. Now, can you provide any info about how you fixed the PATH variable? It seems that the PATH issue accidentally reveals duplicate APIs declaration in mingw-w64 headers. Those need to be fixed.

Biswa96 avatar Sep 20 '22 19:09 Biswa96

I just opened "Environment Variables" in "System Properties" and manually removed the "C:/msys64/mingw64" entries.

YUKI2eN3e avatar Sep 20 '22 19:09 YUKI2eN3e

Is there any way to have the script temporarily clear the PATH variable (or set it's own PATH) before it starts the build?

Technically, the main reason why it's set to inherit the PATH rather than sanitizing is to allow for usage of nvcc and cl.exe (for nvcc), however, since we now have autodetection of those, I think we can remove the inherit part. I will test that out now

1480c1 avatar Sep 20 '22 19:09 1480c1

It seems that the build was successful!

About nvcc and cl.exe, if autodetection doesn't work what about having their paths stored in the configuration file when its written and then using that instead of the system PATH?

YUKI2eN3e avatar Sep 20 '22 22:09 YUKI2eN3e