Skip to content

Failed to build atheris==3.0.0 #105

@khteh

Description

@khteh

Ubuntu 26.04, Python 3.14.4

 x Failed to build `atheris==3.0.0`
  |-> The build backend returned an error
  `-> Call to `setuptools.build_meta:__legacy__.build_wheel` failed (exit
      status: 1)

      [stdout]
      running bdist_wheel
      running build
      running build_py
      creating build/lib.linux-x86_64-cpython-314
      copying atheris_no_libfuzzer.py -> build/lib.linux-x86_64-cpython-314
      creating build/lib.linux-x86_64-cpython-314/atheris
      copying src/custom_mutator_fuzz_test.py ->
      build/lib.linux-x86_64-cpython-314/atheris
      copying src/__init__.py -> build/lib.linux-x86_64-cpython-314/atheris
      copying src/pyinstaller_coverage_test.py ->
      build/lib.linux-x86_64-cpython-314/atheris
      copying src/version_dependent.py ->
      build/lib.linux-x86_64-cpython-314/atheris
      copying src/str_hook_test.py ->
      build/lib.linux-x86_64-cpython-314/atheris
      copying src/fuzz_test.py -> build/lib.linux-x86_64-cpython-314/atheris
      copying src/import_hook.py -> build/lib.linux-x86_64-cpython-314/atheris
      copying src/regex_coverage_test.py ->
      build/lib.linux-x86_64-cpython-314/atheris
      copying src/fuzzed_data_provider_test.py ->
      build/lib.linux-x86_64-cpython-314/atheris
      copying src/instrument_bytecode_test.py ->
      build/lib.linux-x86_64-cpython-314/atheris
      copying src/fuzz_test_lib.py ->
      build/lib.linux-x86_64-cpython-314/atheris
      copying src/instrument_all_test.py ->
      build/lib.linux-x86_64-cpython-314/atheris
      copying src/function_hooks.py ->
      build/lib.linux-x86_64-cpython-314/atheris
      copying src/custom_crossover_fuzz_test.py ->
      build/lib.linux-x86_64-cpython-314/atheris
      copying src/instrument_bytecode.py ->
      build/lib.linux-x86_64-cpython-314/atheris
      copying src/custom_mutator_and_crossover_fuzz_test.py ->
      build/lib.linux-x86_64-cpython-314/atheris
      copying src/regex_match_generation_test.py ->
      build/lib.linux-x86_64-cpython-314/atheris
      copying src/hook-atheris.py -> build/lib.linux-x86_64-cpython-314/atheris
      copying src/utils.py -> build/lib.linux-x86_64-cpython-314/atheris
      creating build/lib.linux-x86_64-cpython-314/atheris/mock_libfuzzer
      copying src/mock_libfuzzer/mockutils.py ->
      build/lib.linux-x86_64-cpython-314/atheris/mock_libfuzzer
      running build_ext

      [stderr]
      /root/.cache/uv/sdists-v9/pypi/atheris/3.0.0/cZCeBGz_zTp1qpXplA9QB/src/setup_utils/find_libfuzzer.sh:
      line 44: clang: command not found
      Failed to find libFuzzer; set either $CLANG_BIN to point to your Clang
      binary, or $LIBFUZZER_LIB to point directly to your libFuzzer .a file.
      If needed, download and build the latest version of Clang:
          git clone --depth=1 https://github.com/llvm/llvm-project.git
          cd llvm-project
          cmake -DLLVM_ENABLE_PROJECTS='clang;compiler-rt' -G "Unix Makefiles"
      -S llvm -B build
          NPROC=$(sysctl -n hw.logicalcpu 2>/dev/null || nproc)
          cmake --build build --parallel $NPROC # This step is very slow.
      Then, set $CLANG_BIN="$(pwd)/bin/clang" and run pip again.
      You should use this same Clang for building any Python extensions you
      plan to fuzz.

      Traceback (most recent call last):
        File "<string>", line 107, in get_libfuzzer_lib
        File "/usr/lib/python3.14/subprocess.py", line 473, in check_output
          return run(*popenargs, stdout=PIPE, timeout=timeout, check=True,
                 ~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
                     **kwargs).stdout
                     ^^^^^^^^^
        File "/usr/lib/python3.14/subprocess.py", line 578, in run
          raise CalledProcessError(retcode, process.args,
                                   output=stdout, stderr=stderr)
      subprocess.CalledProcessError: Command
      '['/root/.cache/uv/sdists-v9/pypi/atheris/3.0.0/cZCeBGz_zTp1qpXplA9QB/src/setup_utils/find_libfuzzer.sh']'
      returned non-zero exit status 1.

      During handling of the above exception, another exception occurred:

      Traceback (most recent call last):
        File "<string>", line 11, in <module>
          wheel_filename =
      backend.build_wheel("/root/.cache/uv/builds-v0/.tmp2CAp1Q", {}, None)
        File
      "/root/.cache/uv/builds-v0/.tmpe7oLrG/lib/python3.14/site-packages/setuptools/build_meta.py",
      line 438, in build_wheel
          return _build(['bdist_wheel'])
        File
      "/root/.cache/uv/builds-v0/.tmpe7oLrG/lib/python3.14/site-packages/setuptools/build_meta.py",
      line 429, in _build
          return self._build_with_temp_dir(
                 ~~~~~~~~~~~~~~~~~~~~~~~~~^
              cmd,
              ^^^^
          ...<3 lines>...
              self._arbitrary_args(config_settings),
              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
          )
          ^
        File
      "/root/.cache/uv/builds-v0/.tmpe7oLrG/lib/python3.14/site-packages/setuptools/build_meta.py",
      line 410, in _build_with_temp_dir
          self.run_setup()
          ~~~~~~~~~~~~~~^^
        File
      "/root/.cache/uv/builds-v0/.tmpe7oLrG/lib/python3.14/site-packages/setuptools/build_meta.py",
      line 520, in run_setup
          super().run_setup(setup_script=setup_script)
          ~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^
        File
      "/root/.cache/uv/builds-v0/.tmpe7oLrG/lib/python3.14/site-packages/setuptools/build_meta.py",
      line 317, in run_setup
          exec(code, locals())
          ~~~~^^^^^^^^^^^^^^^^
        File "<string>", line 460, in <module>
        File
      "/root/.cache/uv/builds-v0/.tmpe7oLrG/lib/python3.14/site-packages/setuptools/__init__.py",
      line 117, in setup
          return distutils.core.setup(**attrs)  # type: ignore[return-value]
                 ~~~~~~~~~~~~~~~~~~~~^^^^^^^^^
        File
      "/root/.cache/uv/builds-v0/.tmpe7oLrG/lib/python3.14/site-packages/setuptools/_distutils/core.py",
      line 186, in setup
          return run_commands(dist)
        File
      "/root/.cache/uv/builds-v0/.tmpe7oLrG/lib/python3.14/site-packages/setuptools/_distutils/core.py",
      line 202, in run_commands
          dist.run_commands()
          ~~~~~~~~~~~~~~~~~^^
        File
      "/root/.cache/uv/builds-v0/.tmpe7oLrG/lib/python3.14/site-packages/setuptools/_distutils/dist.py",
      line 1000, in run_commands
          self.run_command(cmd)
          ~~~~~~~~~~~~~~~~^^^^^
        File
      "/root/.cache/uv/builds-v0/.tmpe7oLrG/lib/python3.14/site-packages/setuptools/dist.py",
      line 1107, in run_command
          super().run_command(command)
          ~~~~~~~~~~~~~~~~~~~^^^^^^^^^
        File
      "/root/.cache/uv/builds-v0/.tmpe7oLrG/lib/python3.14/site-packages/setuptools/_distutils/dist.py",
      line 1019, in run_command
          cmd_obj.run()
          ~~~~~~~~~~~^^
        File
      "/root/.cache/uv/builds-v0/.tmpe7oLrG/lib/python3.14/site-packages/setuptools/command/bdist_wheel.py",
      line 370, in run
          self.run_command("build")
          ~~~~~~~~~~~~~~~~^^^^^^^^^
        File
      "/root/.cache/uv/builds-v0/.tmpe7oLrG/lib/python3.14/site-packages/setuptools/_distutils/cmd.py",
      line 341, in run_command
          self.distribution.run_command(command)
          ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^
        File
      "/root/.cache/uv/builds-v0/.tmpe7oLrG/lib/python3.14/site-packages/setuptools/dist.py",
      line 1107, in run_command
          super().run_command(command)
          ~~~~~~~~~~~~~~~~~~~^^^^^^^^^
        File
      "/root/.cache/uv/builds-v0/.tmpe7oLrG/lib/python3.14/site-packages/setuptools/_distutils/dist.py",
      line 1019, in run_command
          cmd_obj.run()
          ~~~~~~~~~~~^^
        File
      "/root/.cache/uv/builds-v0/.tmpe7oLrG/lib/python3.14/site-packages/setuptools/_distutils/command/build.py",
      line 135, in run
          self.run_command(cmd_name)
          ~~~~~~~~~~~~~~~~^^^^^^^^^^
        File
      "/root/.cache/uv/builds-v0/.tmpe7oLrG/lib/python3.14/site-packages/setuptools/_distutils/cmd.py",
      line 341, in run_command
          self.distribution.run_command(command)
          ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^
        File
      "/root/.cache/uv/builds-v0/.tmpe7oLrG/lib/python3.14/site-packages/setuptools/dist.py",
      line 1107, in run_command
          super().run_command(command)
          ~~~~~~~~~~~~~~~~~~~^^^^^^^^^
        File
      "/root/.cache/uv/builds-v0/.tmpe7oLrG/lib/python3.14/site-packages/setuptools/_distutils/dist.py",
      line 1019, in run_command
          cmd_obj.run()
          ~~~~~~~~~~~^^
        File
      "/root/.cache/uv/builds-v0/.tmpe7oLrG/lib/python3.14/site-packages/setuptools/command/build_ext.py",
      line 97, in run
          _build_ext.run(self)
          ~~~~~~~~~~~~~~^^^^^^
        File
      "/root/.cache/uv/builds-v0/.tmpe7oLrG/lib/python3.14/site-packages/setuptools/_distutils/command/build_ext.py",
      line 367, in run
          self.build_extensions()
          ~~~~~~~~~~~~~~~~~~~~~^^
        File "<string>", line 347, in build_extensions
        File "<string>", line 111, in get_libfuzzer_lib
      RuntimeError: Failed to find libFuzzer; set either $CLANG_BIN to point
      to your Clang binary, or $LIBFUZZER_LIB to point directly to your
      libFuzzer .a file. If needed, download and build the latest version
      of Clang:
          git clone --depth=1 https://github.com/llvm/llvm-project.git
          cd llvm-project
          cmake -DLLVM_ENABLE_PROJECTS='clang;compiler-rt' -G "Unix Makefiles"
      -S llvm -B build
          NPROC=$(sysctl -n hw.logicalcpu 2>/dev/null || nproc)
          cmake --build build --parallel $NPROC # This step is very slow.
      Then, set $CLANG_BIN="$(pwd)/bin/clang" and run pip again.
      You should use this same Clang for building any Python extensions you
      plan to fuzz.


      hint: This usually indicates a problem with the package or the build
      environment.
  help: `atheris` (v3.0.0) was included because `rag-agent:dev` (v1.0.0)
        depends on `atheris`

Exited with code exit status 1

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions