rive-app / rive-app/rive-runtime

Incomplete instructions and build issues

Open
#7 9 comments 10 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
C++
Stars
1.2k
Forks
121
PR merge metrics
No merged PRs in 30d

Description

Trying to compile following the README.md, I can into the following problems:

  • The git clone command shows the use of the SSH protocol. This results in a git@github.com: permission denied (publickey) error for me. Using git clone https://github.com/rive-app/rive-renderer works.
  • Using git clone --resurve-submodules https://... fails with the same error. Changing .gitmodules to url = https://github.com/rive-app/rive-cpp.git and then running git submodule update --init --recursive helped.
  • The Build GLFW step requires CMake. A standard Xcode installation does not come with a bundled CMake (at least not in v12.4), it needs to be installed separately and added to the PATH to avoid ./make_glfw.sh: line 24: cmake: command not found
  • The Call Premake & Build step doesn't mention at what path to run the commands. It can be deduced that it must be the rive-renderer folder, though.
  • Running the ... premake5 gmake2 ... command fails with Error: ...renderer/submodules/rive-cpp/build/rive_build_config.lua:323: attempts to concatenate a nil value (global 'iphoneos_sysroot'). I'm not familiar enough with Lua/premake but it seems strange that the code where the concatenation happens is executed despite filter({ 'system:ios', ... }). I worked around the problem by adding or '' in build/rive_build_config.lua where the sysroot variables are set.
  • path_fiddle is in the rive_renderer folder, not in out/release.
  • The metal utility is required, which means you need a full Xcode installation, not only the Command Line Tools for Xcode. I can't install Xcode on the device in question and I'm not even sure if the latest available Xcode for the outdated platform includes the metal utility so I cannot check for more issues with the compilation.

The system I tried the above on was a MacBook Air from 2014 running Catalina, Intel CPU. This may not be a representative device but I think all of the above papercuts equally apply to newer devices and OS versions.


On Windows, the first two bullet points apply as well. Other issues I encountered:

  • To run make make_glfw.sh, you can use Git Bash. But it doesn't have the touch command which is used in renderer/shaders/Makefile. I substituted @touch $(MINIFY_STAMP) with echo "" > $(MINIFY_STAMP).
  • The premake command needs to be different to use the Microsoft toolchain. The environment variable needs to be set differently - I used $Env:PREMAKE_PATH="C:/<some-path>/submodules/rive-cpp/build" in PowerShell. The generator needs to be set according to the installed Visual Studio version, e.g. premake5 vs2019 --toolset msc ... instead of premake gmake2 ....
  • There were issues with the path_fiddle target that I worked around by setting the C++ standard to C++20 and disabling to treat warnings as errors (/WX-) in Visual Studio for the rive.sln. Using vcvars64.bat, everything compiled successfully with msbuild .\rive.sln and the path_fiddle.exe works.

I'd appreciate it if you could share the commands you use to compile for Windows. Do you use MinGW?

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Review README.md and the referenced .gitmodules, make_glfw.sh, renderer/shaders/Makefile, and build/rive_build_config.lua. Reproduce the documented macOS and Windows build steps, then update the instructions with prerequisites, paths, commands, and platform-specific workarounds. Done means a newcomer can follow the README and reach a successful build on each supported platform.

Written by the indexing model from the issue text.

Assessment

Tech stack
cmake, cpp, git, powershell, shell
Domain
build-system, documentation
Issue type
Documentation
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.