Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fuzzer: CMake configuration failed for protobuf - fuzzer unbuildable #5515

Closed
bwlodarcz opened this issue Jan 2, 2024 · 1 comment
Closed
Assignees
Labels
component:fuzzer Relates to the spirv-fuzz tool

Comments

@bwlodarcz
Copy link

Overview
The way described in README.md of building spirv-fuzzer doesn't work.
It's resulting with an error in protobuf v3.13.0.1:

CMake Error at external/CMakeLists.txt:182 (add_subdirectory):
  The source directory

    SPIRV-Tools/external/protobuf

  does not contain a CMakeLists.txt file.

and indeed it doesn't have CMakeLists.txt.

I checked also the HEAD version of protobuf with --recurse-submodules (needed for abseil). In this case error was:

CMake Error in source/fuzz/CMakeLists.txt:
  export called with target "SPIRV-Tools-fuzz" which requires target
  "libprotobuf" that is not in any export set.

Environment
OS: Linux
CMake Version: 3.25.3

Steps to reproduce
For v.3.13.0.1:

  1. git clone --depth=1 --branch v3.13.0.1 https://github.com/protocolbuffers/protobuf external/protobuf
  2. cmake -G Ninja -B build -DCMAKE_BUILD_TYPE=Debug -DSPIRV_BUILD_FUZZER=ON .

For HEAD:

  1. git clone --depth=1 --recurse-submodules https://github.com/protocolbuffers/protobuf external/protobuf
  2. cmake -G Ninja -B build -DCMAKE_BUILD_TYPE=Debug -DSPIRV_BUILD_FUZZER=ON .
@s-perron s-perron self-assigned this Jan 3, 2024
@s-perron s-perron added the component:fuzzer Relates to the spirv-fuzz tool label Jan 3, 2024
@s-perron
Copy link
Collaborator

s-perron commented Feb 7, 2024

We have trouble building using the latest protobuf. We recommend you use git-sync-deps to checkout the submodules to get the version of each submodule that we use and test. See https://github.com/KhronosGroup/SPIRV-Tools?tab=readme-ov-file#getting-the-source. I just tested it on the latest main, and it work on linux.

Since there is nobody supporting the fuzzer anymore, there is nobody to do the work to try to update to the latest protobuf. We would accept a contribution from the community, but will not be doing it ourselves.

@s-perron s-perron closed this as completed Feb 7, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
component:fuzzer Relates to the spirv-fuzz tool
Projects
None yet
Development

No branches or pull requests

3 participants
@s-perron @bwlodarcz and others