I had a customer request for a compiled P4 binary for Raspberry Pi. Since, Perforce removed ARM binaries in 2016, I thought I would try with the currently available p4 source.
You will need to follow the instructions for build and installation for the Linux version of p4. How ever on my system the SSL libraries ended up in /usr/lib/arm-linux-gnueabihf. You will have to account for that when building with jam.
This is a 2018.2 version that compiled with many errors on Raspberry PI OS on a Raspberry Pi 3 Model B+. But, most of it compiled except the SSL modules. SSL is likely to not work because of some commented functions. I commented them out to allow the compile to complete. I don't have a lot of time to investigate, but what I have works against a 2020.2 server in non-SSL connections. It is not thoroughly tested, but it does what most people would want it to do (sync, add, edit, delete, revert).
PRETTY_NAME="Raspbian GNU/Linux 9 (stretch)"
NAME="Raspbian GNU/Linux"
VERSION_ID="9"
VERSION="9 (stretch)"
VERSION_CODENAME=stretch
ID=raspbian
ID_LIKE=debian
HOME_URL="http://www.raspbian.org/"
SUPPORT_URL="http://www.raspbian.org/RaspbianForums"
BUG_REPORT_URL="http://www.raspbian.org/RaspbianBugs"
This compiled with few warnings, but no errors with the following command:
jam -sOSVER=26 -sSMARTHEAP=0 -sGCCVER=8.3.0 -sSSLLIBDIR=/usr/lib/arm-linux-gnueabihf/ -sSSLINCDIR=/usr/include/ p4
PRETTY_NAME="Raspbian GNU/Linux 10 (buster)"
NAME="Raspbian GNU/Linux"
VERSION_ID="10"
VERSION="10 (buster)"
VERSION_CODENAME=buster
ID=raspbian
ID_LIKE=debian
HOME_URL="http://www.raspbian.org/"
SUPPORT_URL="http://www.raspbian.org/RaspbianForums"
BUG_REPORT_URL="http://www.raspbian.org/RaspbianBugs"
This is compiled successfully after commenting a ramdisk parameter in p4/src/sys/filespace.cc on a Raspberry Pi 4B.
jam -sOSVER=26 -sSMARTHEAP=0 -sGCCVER=8.3.0 -sSSLLIBDIR=/usr/lib/arm-linux-gnueabihf/ -sSSLINCDIR=/usr/include/ p4
PRETTY_NAME="Raspbian GNU/Linux 11 (bullseye)"
NAME="Raspbian GNU/Linux"
VERSION_ID="11"
VERSION="11 (bullseye)"
VERSION_CODENAME=bullseye
ID=raspbian
D_LIKE=debian
HOME_URL="http://www.raspbian.org/"
SUPPORT_URL="http://www.raspbian.org/RaspbianForums"
BUG_REPORT_URL="http://www.raspbian.org/RaspbianBugs"
This is compiled successfully after commenting a ramdisk parameter in p4/src/sys/filespace.cc on a Raspberry Pi 4B.
jam -sOSVER=26 -sSMARTHEAP=0 -sGCCVER=8.3.0 -sSSLLIBDIR=/usr/lib/arm-linux-gnueabihf/ -sSSLINCDIR=/usr/include/ p4
PRETTY_NAME="Raspbian GNU/Linux 11 (bullseye)"
NAME="Raspbian GNU/Linux"
VERSION_ID="11"
VERSION="11 (bullseye)"
VERSION_CODENAME=bullseye
ID=raspbian
D_LIKE=debian
HOME_URL="http://www.raspbian.org/"
SUPPORT_URL="http://www.raspbian.org/RaspbianForums"
BUG_REPORT_URL="http://www.raspbian.org/RaspbianBugs"
This is compiled successfully after commenting some decompression code in deflate.c for Apple Silicon. Verified to run on Raspberry Pi 5.
jam -sOSVER=26 -sSMARTHEAP=0 -sGCCVER=8.3.0 -sSSLLIBDIR=/usr/lib/aarch64-linux-gnu/ -sSSLINCDIR=/usr/include/ p4
PRETTY_NAME="Debian GNU/Linux 12 (bookworm)"
NAME="Debian GNU/Linux"
VERSION_ID="12"
VERSION="12 (bookworm)"
VERSION_CODENAME=bookworm
ID=debian
HOME_URL="https://www.debian.org/"
SUPPORT_URL="https://www.debian.org/support"
BUG_REPORT_URL="https://bugs.debian.org/"
There is no support for any version of these binaries. It was created as an experiment. Any modified source files are provided (not necessary for 2021.2). You will need to get the original source from ftp.perforce.com and replace the modified files (if necessary). I've also included a compiled version of Jam 2.6.1 also. You will need it to build p4. However, do to changes in Raspberry OS you might need to build Jam before it will run. Please feel free to use it or change it as required.
Jam can be found here: https://workshop.perforce.com/projects/perforce_software-jam