Your problem is that you're trying to install to system directories, which (quite consistently) you can't as unprivileged user (that's the whole idea).
So, change that installation target directory!
https://github.com/zsh-users/zsh/blob/master/INSTALL is your reference.
the configure script comes with a help command:
./configure --help will tell you you can change the installation prefix.
This is simply done using ./configure --prefix=/home/ren/prefix, assuming there's a directory /home/ren/prefix that you want to install things into.
Then, you just continue normally. You will have to, afterwards, tell your system that there's executables you want to use in /home/ren/prefix/bin, i.e. export PATH=/home/ren/prefix/bin:$PATH. You also need to tell it that there's libraries, for example in /home/ren/prefix/lib64 (you need to check that path yourself); export LD_LIBRARY_PATH=/home/ren/prefix/lib64:$LD_LIBRARY_PATH. Afterwards, you can just run your freshly compiled zsh:
$> zsh
yay!
Generally, I think compiling your shells on your own system should not be high on your priority list. You can install that using your package manager, much more sanely. If you just want to try things out, you can use podman or docker (just replace podman with docker in that case) to just try to run containers, in which you are root, without being root on the system.
podman run -it --rm debian:11
root@abcdef123:/# apt update
root@abcdef123:/# apt install -y zsh
root@abcdef123:/# zsh
abcdef123:/# ## this is now zsh
INSTALLdocument in the repository? It starts by saying to run theconfigurescript. You may want to do that, but with the--helpoption to read more about howconfigure --prefix=pathnameworks (which is also mentioned in theINSTALLdocument).configure, thenmakewould not complain withNo rule to make target 'install'. Stop.INSTALL, you should then first run./Util/preconfig.