You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I'm attempting to cross-compile libplacebo for Windows (i686 architecture) using Meson on a Linux host. I've set up my cross-compilation environment with the necessary tools (i686-w64-mingw32-gcc, i686-w64-mingw32-g++, etc.) and configured my Meson cross file (i686_64-w64-mingw32.txt) accordingly.
[host_machine]
system = 'windows'
subsystem = 'windows'
cpu_family = 'x86'
cpu = 'i686'
endian = 'little'
`
I encountered several issues during the configuration phase:
Dependency Errors:
without pkg-config in cross file
`meson setup -Ddefault_library=static -Dprefer_static=true -Dc_link_args='-static' -Dcpp_link_args='-static' -Dlcms=enabled -Dshaderc=enabled -Dvulkan=enabled -Dd3d11=enabled --cross-file i686_64-w64-mingw32.txt build
The Meson build system
Version: 1.3.2
Source dir: /home/libplacebo
Build dir: /home/libplacebo/build
Build type: cross build
Project name: libplacebo
Project version: 7.349.0
C compiler for the host machine: i686-w64-mingw32-gcc (gcc 13.0.0 "i686-w64-mingw32-gcc (GCC) 13-win32")
C linker for the host machine: i686-w64-mingw32-gcc ld.bfd 2.41.90.20240122
C++ compiler for the host machine: i686-w64-mingw32-g++ (gcc 13.0.0 "i686-w64-mingw32-g++ (GCC) 13-win32")
C++ linker for the host machine: i686-w64-mingw32-g++ ld.bfd 2.41.90.20240122
C compiler for the build machine: ccache cc (gcc 13.2.0 "cc (Ubuntu 13.2.0-23ubuntu4) 13.2.0")
C linker for the build machine: cc ld.bfd 2.42
C++ compiler for the build machine: ccache c++ (gcc 13.2.0 "c++ (Ubuntu 13.2.0-23ubuntu4) 13.2.0")
C++ linker for the build machine: c++ ld.bfd 2.42
Build machine cpu family: x86_64
Build machine cpu: x86_64
Host machine cpu family: x86
Host machine cpu: i686
Target machine cpu family: x86
Target machine cpu: i686
Compiler for C supports arguments -Wincompatible-pointer-types: YES
Compiler for C supports link arguments -Wl,--exclude-libs=ALL: YES
Configuring libplacebo.rc using configuration
Configuring demos.rc using configuration
Library m found: YES
Program python3 found: YES (/usr/bin/python3)
Found pkg-config: NO
Found CMake: NO
Run-time dependency libunwind found: NO (tried pkgconfig and cmake)
Library execinfo found: NO
Checking for function "backtrace_symbols" with dependency -lexecinfo: NO
Check usable header "dbghelp.h" : YES
Library shlwapi found: YES
Fetching value of define "MINGW32" : 1
Run-time dependency shaderc found: NO (tried system)
src/glsl/meson.build:2:10: ERROR: Dependency lookup for shaderc with method 'pkgconfig' failed: Pkg-config for machine host machine not found. Giving up.
` with pkgconfig in cross file pkg-config = '/usr/bin/i686-w64-mingw32-pkg-config'
`Run-time dependency shaderc found: NO (tried pkgconfig, pkgconfig, pkgconfig and system)
src/glsl/meson.build:2:10: ERROR: Dependency "shaderc" not found, tried pkgconfig, pkgconfig, pkgconfig and system
` When I include pkg-config = 'pkgconf' in the cross file
`The Meson build system
Version: 1.3.2
Source dir: /home/libplacebo
Build dir: /home/libplacebo/build
Build type: cross build
Project name: libplacebo
Project version: 7.349.0
C compiler for the host machine: i686-w64-mingw32-gcc (gcc 13.0.0 "i686-w64-mingw32-gcc (GCC) 13-win32")
C linker for the host machine: i686-w64-mingw32-gcc ld.bfd 2.41.90.20240122
C++ compiler for the host machine: i686-w64-mingw32-g++ (gcc 13.0.0 "i686-w64-mingw32-g++ (GCC) 13-win32")
C++ linker for the host machine: i686-w64-mingw32-g++ ld.bfd 2.41.90.20240122
C compiler for the build machine: ccache cc (gcc 13.2.0 "cc (Ubuntu 13.2.0-23ubuntu4) 13.2.0")
C linker for the build machine: cc ld.bfd 2.42
C++ compiler for the build machine: ccache c++ (gcc 13.2.0 "c++ (Ubuntu 13.2.0-23ubuntu4) 13.2.0")
C++ linker for the build machine: c++ ld.bfd 2.42
Build machine cpu family: x86_64
Build machine cpu: x86_64
Host machine cpu family: x86
Host machine cpu: i686
Target machine cpu family: x86
Target machine cpu: i686
Compiler for C supports arguments -Wincompatible-pointer-types: YES
Compiler for C supports link arguments -Wl,--exclude-libs=ALL: YES
Configuring libplacebo.rc using configuration
Configuring demos.rc using configuration
Library m found: YES
Program python3 found: YES (/usr/bin/python3)
Found pkg-config: YES (/usr/bin/pkgconf) 1.8.1
Found CMake: NO
Run-time dependency libunwind found: NO (tried pkgconfig and cmake)
Library execinfo found: NO
Checking for function "backtrace_symbols" with dependency -lexecinfo: NO
Check usable header "dbghelp.h" : YES
Library shlwapi found: YES
Fetching value of define "MINGW32" : 1
Run-time dependency shaderc found: YES 2023.8.1
Library glslang-default-resource-limits found: NO
Library SPIRV found: NO
src/glsl/meson.build:34:16: ERROR: C++ shared library 'SPIRV' not found
`
Could someone please advise on how to correctly configure Meson for cross-compiling libplacebo on Linux for Windows (i686)?
My main issue revolves around building mpv via cross-compilation using the Meson build system. For more details, please refer to this discussion
Hello @haasn
I'm attempting to cross-compile libplacebo for Windows (i686 architecture) using Meson on a Linux host. I've set up my cross-compilation environment with the necessary tools (i686-w64-mingw32-gcc, i686-w64-mingw32-g++, etc.) and configured my Meson cross file (i686_64-w64-mingw32.txt) accordingly.
Configuration Details:
Cross File (i686_64-w64-mingw32.txt)
`[binaries]
c = 'i686-w64-mingw32-gcc'
cpp = 'i686-w64-mingw32-g++'
ar = 'i686-w64-mingw32-ar'
strip = 'i686-w64-mingw32-strip'
windres = 'i686-w64-mingw32-windres'
dlltool = 'i686-w64-mingw32-dlltool'
ld = 'i686-w64-mingw32-ld'
[built-in options]
buildtype = 'release'
[host_machine]
system = 'windows'
subsystem = 'windows'
cpu_family = 'x86'
cpu = 'i686'
endian = 'little'
`
I encountered several issues during the configuration phase:
Dependency Errors:
without pkg-config in cross file
`meson setup -Ddefault_library=static -Dprefer_static=true -Dc_link_args='-static' -Dcpp_link_args='-static' -Dlcms=enabled -Dshaderc=enabled -Dvulkan=enabled -Dd3d11=enabled --cross-file i686_64-w64-mingw32.txt build
The Meson build system
Version: 1.3.2
Source dir: /home/libplacebo
Build dir: /home/libplacebo/build
Build type: cross build
Project name: libplacebo
Project version: 7.349.0
C compiler for the host machine: i686-w64-mingw32-gcc (gcc 13.0.0 "i686-w64-mingw32-gcc (GCC) 13-win32")
C linker for the host machine: i686-w64-mingw32-gcc ld.bfd 2.41.90.20240122
C++ compiler for the host machine: i686-w64-mingw32-g++ (gcc 13.0.0 "i686-w64-mingw32-g++ (GCC) 13-win32")
C++ linker for the host machine: i686-w64-mingw32-g++ ld.bfd 2.41.90.20240122
C compiler for the build machine: ccache cc (gcc 13.2.0 "cc (Ubuntu 13.2.0-23ubuntu4) 13.2.0")
C linker for the build machine: cc ld.bfd 2.42
C++ compiler for the build machine: ccache c++ (gcc 13.2.0 "c++ (Ubuntu 13.2.0-23ubuntu4) 13.2.0")
C++ linker for the build machine: c++ ld.bfd 2.42
Build machine cpu family: x86_64
Build machine cpu: x86_64
Host machine cpu family: x86
Host machine cpu: i686
Target machine cpu family: x86
Target machine cpu: i686
Compiler for C supports arguments -Wincompatible-pointer-types: YES
Compiler for C supports link arguments -Wl,--exclude-libs=ALL: YES
Configuring libplacebo.rc using configuration
Configuring demos.rc using configuration
Library m found: YES
Program python3 found: YES (/usr/bin/python3)
Found pkg-config: NO
Found CMake: NO
Run-time dependency libunwind found: NO (tried pkgconfig and cmake)
Library execinfo found: NO
Checking for function "backtrace_symbols" with dependency -lexecinfo: NO
Check usable header "dbghelp.h" : YES
Library shlwapi found: YES
Fetching value of define "MINGW32" : 1
Run-time dependency shaderc found: NO (tried system)
src/glsl/meson.build:2:10: ERROR: Dependency lookup for shaderc with method 'pkgconfig' failed: Pkg-config for machine host machine not found. Giving up.
`
with pkgconfig in cross file pkg-config = '/usr/bin/i686-w64-mingw32-pkg-config'
`Run-time dependency shaderc found: NO (tried pkgconfig, pkgconfig, pkgconfig and system)
src/glsl/meson.build:2:10: ERROR: Dependency "shaderc" not found, tried pkgconfig, pkgconfig, pkgconfig and system
`
When I include pkg-config = 'pkgconf' in the cross file
`The Meson build system
Version: 1.3.2
Source dir: /home/libplacebo
Build dir: /home/libplacebo/build
Build type: cross build
Project name: libplacebo
Project version: 7.349.0
C compiler for the host machine: i686-w64-mingw32-gcc (gcc 13.0.0 "i686-w64-mingw32-gcc (GCC) 13-win32")
C linker for the host machine: i686-w64-mingw32-gcc ld.bfd 2.41.90.20240122
C++ compiler for the host machine: i686-w64-mingw32-g++ (gcc 13.0.0 "i686-w64-mingw32-g++ (GCC) 13-win32")
C++ linker for the host machine: i686-w64-mingw32-g++ ld.bfd 2.41.90.20240122
C compiler for the build machine: ccache cc (gcc 13.2.0 "cc (Ubuntu 13.2.0-23ubuntu4) 13.2.0")
C linker for the build machine: cc ld.bfd 2.42
C++ compiler for the build machine: ccache c++ (gcc 13.2.0 "c++ (Ubuntu 13.2.0-23ubuntu4) 13.2.0")
C++ linker for the build machine: c++ ld.bfd 2.42
Build machine cpu family: x86_64
Build machine cpu: x86_64
Host machine cpu family: x86
Host machine cpu: i686
Target machine cpu family: x86
Target machine cpu: i686
Compiler for C supports arguments -Wincompatible-pointer-types: YES
Compiler for C supports link arguments -Wl,--exclude-libs=ALL: YES
Configuring libplacebo.rc using configuration
Configuring demos.rc using configuration
Library m found: YES
Program python3 found: YES (/usr/bin/python3)
Found pkg-config: YES (/usr/bin/pkgconf) 1.8.1
Found CMake: NO
Run-time dependency libunwind found: NO (tried pkgconfig and cmake)
Library execinfo found: NO
Checking for function "backtrace_symbols" with dependency -lexecinfo: NO
Check usable header "dbghelp.h" : YES
Library shlwapi found: YES
Fetching value of define "MINGW32" : 1
Run-time dependency shaderc found: YES 2023.8.1
Library glslang-default-resource-limits found: NO
Library SPIRV found: NO
src/glsl/meson.build:34:16: ERROR: C++ shared library 'SPIRV' not found
`
Could someone please advise on how to correctly configure Meson for cross-compiling libplacebo on Linux for Windows (i686)?
My main issue revolves around building mpv via cross-compilation using the Meson build system. For more details, please refer to this discussion
(mpv-player/mpv#14389)
Thank you for your assistance!
The text was updated successfully, but these errors were encountered: