Skip to content

'std::length_error' when doing cmake --build build -j #2

@skincrawl

Description

@skincrawl

Hi!

I'm having trouble building this on Arch Linux with an RX 6700 XT. I am following the instructions on Github.

I cloned the repo, did git submodule update and did

cmake -S . -B build -DCMAKE_BUILD_TYPE=Release -DJAVA_PROJECT_ROOT_DIR=.. -DUSE_AMD=ON -DMCVR_ENABLE_NRD=ON -DCMAKE_POLICY_VERSION_MINIMUM=3.5

Without the last argument that I added it gives this error:

CMake Error at extern/FidelityFX-SDK/sdk/tools/ffx_shader_compiler/libs/tiny-process-library/CMakeLists.txt:23 (cmake_minimum_required):
  Compatibility with CMake < 3.5 has been removed from CMake.

  Update the VERSION argument <min> value.  Or, use the <min>...<max> syntax
  to tell CMake that the project requires at least <min> but has been updated
  to work with policies introduced by <max> or earlier.

  Or, add -DCMAKE_POLICY_VERSION_MINIMUM=3.5 to try configuring anyway.

So that's why I added that. Then it says:

-- Build files have been written to: /home/user/.local/share/ModrinthApp/profiles/AUR_Modrinth/radiance/MCVR/build

I had put MCVR in the radiance directory, so that's why -DJAVA_PROJECT_ROOT_DIR=..

Then I did cmake --build build -j as per the instructions but every time I get:

terminate called after throwing an instance of 'std::length_error'
  what():  basic_string::_M_create

It fails at slightly different percentages, typically 76-79%. I have 32 GB RAM and a 6-core CPU, so I don't think hardware should be the issue.

Things I've tried:

I tried redoing everything with MCVR in my home directory, in case long paths were causing strings to be too long, but that didn't help.

I tried turning off FSR2 and 3, OF and FI in extern/FidelityFX-SDK/sdk/src/backends/vk/CMakeLists.txt, but it fails the same way regardless. You can turn them off in CMakeLists higher up in the project but for some reason it still goes through the permutations. And since NRD=ON is in the configuration command, it completely skips the settings in the top-level CMakeLists file. But since it fails even when you get it to skip a lot it doesn't really matter.

And of course always rm -rf build and redo the cmake -S . -B build command after making changes.

Sorry if I'm being a total noob, I'm not used to cmake build stuff. I can handle following instructions as long as there aren't random errors like this. D:

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