Summary: | Cannot build osmesa with GLES (shared glapi) using Scons and MSVC | ||
---|---|---|---|
Product: | Mesa | Reporter: | pal1000 <liviuprodea> |
Component: | Drivers/OSMesa | Assignee: | mesa-dev |
Status: | RESOLVED FIXED | QA Contact: | mesa-dev |
Severity: | critical | ||
Priority: | high | CC: | fdo-bugs, jfonseca |
Version: | unspecified | ||
Hardware: | All | ||
OS: | Windows (All) | ||
Whiteboard: | |||
i915 platform: | i915 features: | ||
Attachments: | Build attempt log (64-bit) |
I was able to replicate this with Mesa master too. Can also replicate with the very short scons gles=1 because osmesa is included in the default configuration. Found some posts from mailing list that describe this issue: https://lists.freedesktop.org/archives/mesa-users/2012-May/000431.html https://lists.freedesktop.org/archives/mesa-users/2016-March/001142.html Hi Alex, First off, note that I don't know anything about scons, msvc or windows, but Dylan has been adding Windows support to Meson (https://lists.freedesktop.org/archives/mesa-dev/2018-June/197325.html). Would you mind testing the work-in-progress branch and report if it works when building with Meson? git://people.freedesktop.org/~dbaker/mesa meson-windows Eric, I tried that branch but it's far from being in working state. When I attempt to build it, it tries to find pkg-config. This doesn't make sense for a MSVC build. As far as I know that's a Linux, MSYS2 and Cygwin thing and has nothing to do with MSVC: The following Python versions were detected: 1. Python 2.7 Note: Experimental /enablemeson command-line argument is set. We will attempt to build Mesa3D if you pick any of the folowing Python versions even if it is known to fail for now: 5. Python 3.6 Select Python version by entering its index from the table above:5 Using Python 3.6.5 from C:\Software\DEVELO~1\projects\mesa\py3\python.exe. WARNING: Python 3.x support is experimental. Install/update python packages (y/n): Begin LLVM build. Only needs to run once for each ABI and version. Proceed (y/n): Begin mesa build. Proceed (y/n):y Use Ninja build system instead of MsBuild (y/n); less storage device strain and maybe faster build: Do you want to clean build (y/n):y ********************************************************************** ** Visual Studio 2017 Developer Command Prompt v15.7.3 ** Copyright (c) 2017 Microsoft Corporation ********************************************************************** [vcvarsall.bat] Environment initialized for: 'x64' Microsoft Windows [Version 10.0.17134.112] (c) 2018 Microsoft Corporation. All rights reserved. C:\Software\DEVELO~1\projects\mesa\mesa>echo %buildcmd% C:\Software\DEVELO~1\projects\mesa\py3\python.exe C:\Software\DEVELO~1\projects\mesa\py3\Scripts\meson.py . .\build\windows-x86_64 --backend=vs2017 --buildtype=release C:\Software\DEVELO~1\projects\mesa\mesa>%buildcmd% The Meson build system Version: 0.46.1 Source dir: C:\Software\DEVELO~1\projects\mesa\mesa Build dir: C:\Software\DEVELO~1\projects\mesa\mesa\build\windows-x86_64 Build type: native build Program python found: YES (C:\Software\DEVELO~1\projects\mesa\py3\python.EXE) Project name: mesa Native C compiler: cl (msvc 19.14.26430) Native C++ compiler: cl (msvc 19.14.26430) Build machine cpu family: x86_64 Build machine cpu: x86_64 Program pkg-config found: NO meson.build:414:0: ERROR: Program(s) ['pkg-config'] not found or not executable A full log can be found at C:\Software\DEVELO~1\projects\mesa\mesa\build\windows-x86_64\meson-logs\meson-log.txt C:\Software\DEVELO~1\projects\mesa\mesa> To test for this issue I probably only have to add -Dshared-glapi=true and Dosmesa=gallium. Dgles1 and Dgles2 are not needed as the only requirement is an osmesa build with shared-glapi. But for those options to have any meaningful effect the build has to get further. Ping. (In reply to Eric Engestrom from comment #4) > Hi Alex, > Would you mind testing the work-in-progress branch and report if it works > when building with Meson? > git://people.freedesktop.org/~dbaker/mesa meson-windows That branch appears to be incomplete. It has only 24 of the 48 patches in the series: https://cgit.freedesktop.org/~dbaker/mesa/log/?h=meson-windows Full series: https://patchwork.freedesktop.org/series/44596/ After looking at the 46th patch in the series that acts like a blueprint I noticed the branch is incomplete. (In reply to Alex Granni from comment #7) > (In reply to Eric Engestrom from comment #4) > > Hi Alex, > > Would you mind testing the work-in-progress branch and report if it works > > when building with Meson? > > git://people.freedesktop.org/~dbaker/mesa meson-windows > That branch appears to be incomplete. It has only 24 of the 48 patches in > the series: > https://cgit.freedesktop.org/~dbaker/mesa/log/?h=meson-windows > Full series: https://patchwork.freedesktop.org/series/44596/ > After looking at the 46th patch in the series that acts like a blueprint I > noticed the branch is incomplete. Dylan posted the Meson windows branch on Freedesktop Gitlab. I'll test this issue with Meson soon. (In reply to Alex Granni from comment #8) > (In reply to Alex Granni from comment #7) > > (In reply to Eric Engestrom from comment #4) > > > Hi Alex, > > > Would you mind testing the work-in-progress branch and report if it works > > > when building with Meson? > > > git://people.freedesktop.org/~dbaker/mesa meson-windows > > That branch appears to be incomplete. It has only 24 of the 48 patches in > > the series: > > https://cgit.freedesktop.org/~dbaker/mesa/log/?h=meson-windows > > Full series: https://patchwork.freedesktop.org/series/44596/ > > After looking at the 46th patch in the series that acts like a blueprint I > > noticed the branch is incomplete. > Dylan posted the Meson windows branch on Freedesktop Gitlab. I'll test this > issue with Meson soon. Tested and it builds successfully, so it's a Scons only issue. Because Meson has GLES enabled by default unlike Scons it is not much of a surprise it's unaffected. This got fixed by having offending feature removed. |
Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.
Created attachment 140056 [details] Build attempt log (64-bit) If I try to build osmesa and GLES support is enabled, Mesa build fails with unresolved symbols. It doesn't matter if I add extra targets like libg-gdi, graw-gdi or swr or not. RQeproduced with both 32-bit and 64-bit builds on Mesa 18.1.1 with Visual Studio 15.7,3 and Windows SDK 10.0.17134.12