Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

WIP: Fix VLC build process #2673

Draft
wants to merge 3 commits into
base: master
Choose a base branch
from
Draft

Conversation

woot000
Copy link
Contributor

@woot000 woot000 commented May 9, 2024

This PR attempts to fix the currently broken VLC build process. Some notable changes include switching from Qt 5 to Qt 6, switching from fxc2 to efxc, building abseil-cpp (new requirement of protobuf), building freetype, harfbuzz, and libpng for Qt 6, and building openjpeg2, fontconfig, libass, libogg, and ffmpeg 6.1 for VLC.

Much of the changes are based directly off of VLC's contrib build scripts.

Submitting as a draft because only 64-bit gcc compilation completes sucessfully. There are some problems that need to be addressed before this PR should be merged:

  • 32-bit compilation (both clang32 and mingw32) is broken due to an error in qtdeclarative:
FAILED: src/quick/.qsb/scenegraph/shaders_ng/32bitcolortext.frag.qsb C:/m/build/qtdeclarative-git/build-32bit/src/quick/.qsb/scenegraph/shaders_ng/32bitcolortext.frag.qsb 
C:\Windows\system32\cmd.exe /C "cd /D C:\m\build\qtdeclarative-git\build-32bit\src\quick && C:\m\local32\bin\qsb.exe --glsl 100es,120,150 --hlsl 50 --msl 12 -b -c -O -s -o C:/m/build/qtdeclarative-git/build-32bit/src/quick/.qsb/scenegraph/shaders_ng/32bitcolortext.frag.qsb C:/m/build/qtdeclarative-git/src/quick/scenegraph/shaders_ng/32bitcolortext.frag"

(also for some reason qtdeclarative builds with only one job in 32-bit even though more than one is specified???)

  • 64-bit Clang compilation is broken due to an error in protobuf:
ld.lld: error: undefined symbol: __start_pb_defaults
>>> referenced by libprotobuf.a(generated_message_util.cc.o):(.refptr.__start_pb_defaults)

ld.lld: error: undefined symbol: __stop_pb_defaults
>>> referenced by libprotobuf.a(generated_message_util.cc.o):(.refptr.__stop_pb_defaults)
clang++: error: linker command failed with exit code 1 (use -v to see invocation)

I'm not sure what the cause of this error is or how to go about fixing it. I assume this error stems from the recent implementation of clang32/64 in the suite, though that's just a hunch.

  • Qt 6 compilation fails if ccache is enabled, reporting unknown option -- t partway through compilation. ccache works for all non-Qt dependencies (including VLC proper), so it is enabled for those projects.

Fix build process for VLC (for mingw64 only at the moment) and switch to Qt 6
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

1 participant