Skip to content

JITpackage not building on Windows #301

@DrTimothyAldenDavis

Description

@DrTimothyAldenDavis

When I try to build GraphBLAS in its own CMakeLists.txt build file (not as part of the root SuiteSparse build), I get this error. I'm using cmake 3.26 and am building the GraphBLAS project in Visual Studio:

1>------ Build started: Project: ZERO_CHECK, Configuration: Release x64 ------
1>Checking Build System
2>------ Build started: Project: grb_jitpackage, Configuration: Release x64 ------
2>Building Custom Rule C:/Users/davis/Documents/GitHub/GraphBLAS/JITpackage/CMakeLists.txt
2>grb_jitpackage.c
2>grb_jitpackage.vcxproj -> C:\Users\davis\Documents\GitHub\GraphBLAS\build\JITpackage\Release\grb_jitpackage.exe
3>------ Build started: Project: GB_JITpackage, Configuration: Release x64 ------
3>Generating compressed sources for JIT compiler...
3>C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\MSBuild\Microsoft\VC\v160\Microsoft.CppCommon.targets(231,5): error MSB6006: "cmd.exe" exited with code -1073740791.
3>Done building project "GB_JITpackage.vcxproj" -- FAILED.
4>------ Build started: Project: GraphBLAS, Configuration: Release x64 ------
4>Building Custom Rule C:/Users/davis/Documents/GitHub/GraphBLAS/CMakeLists.txt
4>GB_JITpackage.c
4>GB_prejit.c
...

I can't tell how the grb_jitpackage.exe is failing. I do see a grb_jitpackage.exe file that is compiled where I expect to see it (
Documents/GitHub/GraphBLAS/build/JITpackage/Release/grb_jitpackage.exe ).

My cmake configure output looks OK:

Selecting Windows SDK version 10.0.18362.0 to target Windows 10.0.19044.
The C compiler identification is MSVC 19.25.28611.0
Detecting C compiler ABI info
Detecting C compiler ABI info - done
Check for working C compiler: C:/Program Files (x86)/Microsoft Visual Studio/2019/Community/VC/Tools/MSVC/14.25.28610/bin/Hostx64/x64/cl.exe - skipped
Detecting C compile features
Detecting C compile features - done
Building SuiteSparse:GraphBLAS version: v9.3.0, date: June 1, 2024
GraphBLAS C API: v2.1, date: Dec 22, 2023
Source:           C:/Users/davis/Documents/GitHub/GraphBLAS 
Build:            C:/Users/davis/Documents/GitHub/GraphBLAS/build 
Install lib:      lib
Install include:  include/suitesparse
Install bin:      bin
Install pkg-file: lib
Install rpath:    $ORIGIN
Build   rpath:    
Build type:       Release 
Fortran:          not available
Looking for a CUDA compiler
Looking for a CUDA compiler - NOTFOUND
CUDA:             not found
CUDA:             not enabled
GraphBLAS CUDA JIT: disabled
GraphBLAS CPU JIT: enabled
Found OpenMP_C: -openmp (found version "2.0") 
Found OpenMP: TRUE (found version "2.0") found components: C 
GraphBLAS has OpenMP: ON
cpu_features (by google.com): enabled 
Performing Test GxB_HAVE_COMPLEX_C99
Performing Test GxB_HAVE_COMPLEX_C99 - Failed
Performing Test GxB_HAVE_COMPLEX_MSVC
Performing Test GxB_HAVE_COMPLEX_MSVC - Success
Building dynamic GraphBLAS library (no static)
Looking for fmax
Looking for fmax - found
C11 atomics: OK. -latomic not needed
CMAKE OpenMP libraries:    
CMAKE OpenMP include:      
CMAKE OpenMP C flags:      -openmp
CMAKE C flags: /DWIN32 /D_WINDOWS /O2 -wd"4244" -wd"4146" -wd"4018" -wd"4996" -wd"4047" -wd"4554" /O2 /Ob2 /DNDEBUG 
Skipping the demos in GraphBLAS/Demo
------------------------------------------------------------------------
JIT configuration:
------------------------------------------------------------------------
JIT C compiler: C:/Program Files (x86)/Microsoft Visual Studio/2019/Community/VC/Tools/MSVC/14.25.28610/bin/Hostx64/x64/cl.exe
JIT C flags:    /DWIN32 /D_WINDOWS /O2 -wd\"4244\" -wd\"4146\" -wd\"4018\" -wd\"4996\" -wd\"4047\" -wd\"4554\" /O2 /Ob2 /DNDEBUG -openmp
JIT link flags: /machine:x64
JIT lib prefix: 
JIT lib suffix: .dll
JIT obj suffix: .obj
JIT cache:      C:\Users\davis\AppData\Local/SuiteSparse/GrB9.3.0
JIT openmp inc: 
JIT openmp dirs 
JIT libraries:  
JIT cmake libs: 
------------------------------------------------------------------------
CMAKE report for: GraphBLAS
------------------------------------------------------------------------
inside common SuiteSparse root:  OFF
install in SuiteSparse/lib and SuiteSparse/include: OFF
build type:           Release
BUILD_SHARED_LIBS:    ON
BUILD_STATIC_LIBS:    OFF
C compiler:           C:/Program Files (x86)/Microsoft Visual Studio/2019/Community/VC/Tools/MSVC/14.25.28610/bin/Hostx64/x64/cl.exe 
C flags:              /DWIN32 /D_WINDOWS /O2 -wd"4244" -wd"4146" -wd"4018" -wd"4996" -wd"4047" -wd"4554" /O2 /Ob2 /DNDEBUG
C Flags release:      /O2 /Ob2 /DNDEBUG 
compile definitions:  _CRT_SECURE_NO_WARNINGS
------------------------------------------------------------------------
Configuring done (8.8s)
Generating done (0.2s)

In the SuiteSparse CI, the build looks different, and it succeeds, when using the SuiteSparse root CMakeLists.txt:


[1995/5428] Building C object GraphBLAS\JITpackage\CMakeFiles\grb_jitpackage.dir\Release\Source\grb_jitpackage.c.obj
[1996/5428] Linking C executable GraphBLAS\JITpackage\Release\grb_jitpackage.exe
[1997/5428] Generating compressed sources for JIT compiler...
Processing 242 input files ...

Total uncompressed: 1909807 bytes

Total compressed:   330640 bytes

Compression:        0.173127

[1998/5428] Building C object GraphBLAS\CMakeFiles\GraphBLAS.dir\Release\Source\aliased\GB_any_aliased.c.obj
[1999/5428] Building C object GraphBLAS\CMakeFiles\GraphBLAS.dir\Release\Config\GB_prejit.c.obj

@mmuetzel : any ideas?

@alugowski is seeing a similar problem here: GraphBLAS/python-suitesparse-graphblas#128 ,
see https://github.com/GraphBLAS/python-suitesparse-graphblas/actions/runs/9343575516/job/25713378326#step:9:351

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions