By default PAL is set up to use the ERFA variant of SOFA. ERFA is an approved redistribution of the SOFA code using a BSD-license and renamed function calls. Whereas SOFA routines have a iau prefix the ERFA equivalents have a era prefix. The PAL build script will try to detect which of ERFA and SOFA is available. Wherever SOFA is mentioned in this document the ERFA equivalent can be substituted.
ERFA can be obtained from https://github.com/liberfa/erfa.