mpv-player / mpv

🎥 Command line video player
https://mpv.io
Other
28.26k stars 2.9k forks source link

Unable to Cross-Compile Using MXE on Ubuntu 24.04 #14259

Closed SiddaramMavinamar closed 4 months ago

SiddaramMavinamar commented 4 months ago

Important Information

Reproduction Steps

git clone https://github.com/mxe/mxe.git cd mxe echo "JOBS := 4" >> settings.mk echo "MXE_TARGETS := x86_64-w64-mingw32.static" >> settings.mk make gcc ffmpeg libass jpeg lua luajit export PATH=/mxe/usr/bin:$PATH git clone https://github.com/mpv-player/mpv.git cd mpv meson setup build --cross-file crossfile.txt -Dlibmpv=true

Expected Behavior

The build process should complete successfully with all dependencies properly resolved and compiled, resulting in a functional cross-compiled version of MPV.

Actual Behavior

The build process fails with the error indicating that the libplacebo dependency is not found. Attempts to use pkg-config and cmake to resolve this dependency have been unsuccessful.

Observed that MXE does not have a makefile for libplacebo. Tried to link libplacebo manually but encountered the same error.

Log File

image

Observed that MXE does not have a makefile for libplacebo. Tried to link libplacebo manually but encountered the same error.

crosstextfile.txt [binaries] c = 'x86_64-w64-mingw32.static-gcc' cpp = 'x86_64-w64-mingw32.static-g++' ar = 'x86_64-w64-mingw32.static-ar' strip = 'x86_64-w64-mingw32.static-strip' pkg-config = 'x86_64-w64-mingw32.static-pkg-config' exe_wrapper = 'wine64'

[host_machine] system = 'windows' cpu_family = 'x86_64' cpu = 'x86_64' endian = 'little'

I carefully read all instruction and confirm that I did the following:

ruihe774 commented 4 months ago

You can clone libplacebo source and put it in mpv/subprojects/libplacebo. Meson can then find it. BTW I think you may convert this to a discussion.

SiddaramMavinamar commented 4 months ago

You can clone libplacebo source and put it in mpv/subprojects/libplacebo. Meson can then find it. BTW I think you may convert this to a discussion.

I have followed this step but not helping it out we have to find the way MXE should have that file or create make file in source (this is my assumption) any suggestion would be appreciated

kasper93 commented 4 months ago

MXE is not supported and won't be until they add libplacebo for example. Also there is zero gain to use it, Meson can do all of it better already.

SiddaramMavinamar commented 4 months ago

MXE is not supported and won't be until they add libplacebo for example. Also there is zero gain to use it, Meson can do all of it better already.

Hi @kasper93 What is the best way to build MPV with static linking on both Linux and Windows natively, applying -Dgpl = false, and producing a static mpv.exe without any dependency DLLs?

Thanks for your suggestion and help