The *regexp_[n]match* routines are C routines from tools90 library; but they are not used within the ROPP... However, the strings module (strings.f90 in the strings subdirectory) is simply a copy of the respective interface file from that library. It does contain this:
!-----------------------------------------------------------------------
! 2.1 Fortran 77 interface
!-----------------------------------------------------------------------
logical, external :: bregexp_match, bregexp_nmatch
logical, external :: eregexp_match, eregexp_nmatch
So I assume that g95 doesn't like externals defined, even if they are never used:-(
I suggest I replace the strings.f90 in ROPP with a stripped down version of the original file instead of the full one.