[Scons-users] Mesa3D graphics library build failure when using Scons 3.0.3 and newer on Windows with Visual Studio 2017, Scons 3.0.1 is unaffected.

Liviu Prodea liviuprodea at yahoo.com
Sat Feb 16 14:43:41 EST 2019


 
Scons master fails fast, during initial configuration. I'll try rel_3.0.4 branch to see if there is any difference compared to release.

---


The following Python versions were detected:
1. Python 2.7

Note: Experimental /enablemeson command-line argument is not set. We won't attempt to build Mesa3D if you pick any of the folowing Python versions:

7. Python 3.7

Select Python version by entering its index from the table above:1

Using Python 2.7.15 from C:\Software\DEVELO~1\projects\mesa\Python\python.exe.

Install/update python packages (y/n):


Do you want to throttle build. Enter number of parallel jobs. Defaults to 4 which represents the number of your CPU available hyperthreads. You should not enter a value greater than that:3

Begin LLVM build. Only needs to run once for each ABI and version. Proceed (y/n):

Using CRT MT Release...


Begin mesa build. Proceed (y/n):y

Build Mesa without LLVM (y/n). llvmpipe and swr drivers and high performance JIT won't be available for other drivers and libraries:y

Build Mesa3D with OpenMP. Faster build and smaller binaries (y/n):

Do you want to build Mesa with quick configuration - includes libgl-gdi, graw-gdi, graw-null, tests, osmesa and shared glapi and shared GLES libraries if glapi is a shared library:

Do you want to build off-screen rendering drivers (y/n):

Do you want to build graw library (y/n):

Do you want to clean build (y/n):y


**********************************************************************
** Visual Studio 2017 Developer Command Prompt v15.9.7
** Copyright (c) 2017 Microsoft Corporation
**********************************************************************
[vcvarsall.bat] Environment initialized for: 'x64_x86'

Build command: C:\Software\DEVELO~1\projects\mesa\Python\python.exe C:\Software\DEVELO~1\projects\mesa\scons\bootstrap.py -j3 build=release platform=windows machine=x86 MSVC_USE_SCRIPT="C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Auxiliary\Build\vcvarsall.bat" llvm=no libgl-gdi

C:\Software\DEVELO~1\projects\mesa\Python\python.exe C:\Software\DEVELO~1\projects\mesa\scons\bootstrap\src\script\scons.py -j3 build=release platform=windows machine=x86 MSVC_USE_SCRIPT=C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Auxiliary\Build\vcvarsall.bat llvm=no libgl-gdi
scons: Reading SConscript files ...

scons: warning: EnsureSConsVersion is ignored for development version
File "C:\Software\DEVELO~1\projects\mesa\mesa\SConstruct", line 33, in <module>
Checking for MSVC ...  yes
Checking for Clang ...  no

scons: warning: EnsureSConsVersion is ignored for development version
File "C:\Software\DEVELO~1\projects\mesa\mesa\scons\gallium.py", line 513, in generate
Checking for win_flex ...  yes
Checking for win_bison ...  yes
ValueError: invalid literal for int() with base 10: '__VERSION__':
  File "C:\Software\DEVELO~1\projects\mesa\mesa\SConstruct", line 47:
    ENV = os.environ,
  File "C:\Software\DEVELO~1\projects\mesa\scons\bootstrap\src\engine\SCons\Environment.py", line 982:
    apply_tools(self, tools, toolpath)
  File "C:\Software\DEVELO~1\projects\mesa\scons\bootstrap\src\engine\SCons\Environment.py", line 107:
    env.Tool(tool)
  File "C:\Software\DEVELO~1\projects\mesa\scons\bootstrap\src\engine\SCons\Environment.py", line 1789:
    tool(self)
  File "C:\Software\DEVELO~1\projects\mesa\scons\bootstrap\src\engine\SCons\Tool\__init__.py", line 296:
    self.generate(env, *args, **kw)
  File "C:\Software\DEVELO~1\projects\mesa\mesa\scons\gallium.py", line 668:
    env.Tool('custom')
  File "C:\Software\DEVELO~1\projects\mesa\scons\bootstrap\src\engine\SCons\Environment.py", line 1788:
    tool = SCons.Tool.Tool(tool, toolpath, **kw)
  File "C:\Software\DEVELO~1\projects\mesa\scons\bootstrap\src\engine\SCons\Tool\__init__.py", line 117:
    module = self._tool_module()
  File "C:\Software\DEVELO~1\projects\mesa\scons\bootstrap\src\engine\SCons\Tool\__init__.py", line 144:
    mod, file = self._load_dotted_module_py2(self.name, self.name, self.toolpath)
  File "C:\Software\DEVELO~1\projects\mesa\scons\bootstrap\src\engine\SCons\Tool\__init__.py", line 129:
    mod = imp.load_module(full_name, file, path, desc)
  File "C:\Software\DEVELO~1\projects\mesa\mesa\scons\custom.py", line 51:
    scons_version = tuple(map(int, SCons.__version__.split('.')))


Create or update Mesa3D distribution package (y/n):
    On Saturday, February 16, 2019, 6:27:21 PM GMT+2, Bill Deegan <bill at baddogconsulting.com> wrote:  
 
 Can you paste a bit of the log where it fails?That's quite a bit of setup to reproduce this.
Can you try the current scons code in master on github?

On Sat, Feb 16, 2019 at 8:21 AM Liviu Prodea via Scons-users <scons-users at scons.org> wrote:

Preparation
1. Visual Studio 2017 Community with Desktop Development with C++ toolchain installed in default location is required (my build script only supports community edition of Visual Studio at the moment);
2. Prepare an empty folder for all remaining dependencies;3. Download winflexbison from https://github.com/lexxmark/winflexbison/releases4. Extract in a folder named flexbison under folder created at step 2 or it can be added to PATH if other location is desired;
5. Python 2.7 is required. It can be installed in a folder named Python under folder created at step 2 or at a custom location added to PATH or if any Python 3.x is installed with Python launcher support it can be installed anywhere as long as Python launcher can find it;
6. Clone this repository with Git: https://github.com/pal1000/mesa-dist-win in a folder named mesa-dist-win under folder created at step 2;
7. Apply patch located at mesa-dist-win\patches\sconstest.patch to allow for Scons 3.0.2 and newer to be considered when acquiring the necessary python modules;8. Grab Mesa3D stable or release candidate source code from https://www.mesa3d.org/archive/ or if you have Git in PATH this can be deferred to the build script. 

Configure and build

1. Execute mesa-dist-win\buildscript\build.cmd2. It doesn't matter if you pick x86 or x64 target architecture;3. If using Python launcher a list of Python installations is listed, pick a Python 2.7 installation;4. The build script will automatically install all necessary Python modules;5. You don't have to install pywin32 COM support as it is not required and its installation requires admin rights as well;
6. Since I intentionally excluded the optional LLVM as a dependency as it is not required to reproduce this issue we are going straight to Mesa3D build;7. After confirming you want to build Mesa3D, if you deferred Mesa3D codebase acquisition to the build script, enter Mesa3D branch name. 18.3 or 19.0 are both fine, master is default but it may fail sometimes due to internal reasons, though it can be checked in advance with Appveyor: https://ci.appveyor.com/project/mesa3d/mesa8. To save time, off-screen rendering, graw framework and pglit tests build can be denied as this issue can be reproduced without them.
The issueRoughly 2 minutes in the build everything fails with Cannot open include file. The include file missing differs based on configuration:- if building off-screen rendering or not;- if building graw;- if also building llvmpipe (this one requires LLVM built with /MT).



_______________________________________________
Scons-users mailing list
Scons-users at scons.org
https://pairlist4.pair.net/mailman/listinfo/scons-users

  
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://pairlist4.pair.net/pipermail/scons-users/attachments/20190216/00df188e/attachment.html>


More information about the Scons-users mailing list