textcomp not required since 2021
By default, gensymb errors if \perthousand or \micro is used without textcomp. However the textcomp commands were incorporated into the kernel in the 2021-06-01 release (see ltnews33). Indeed, if one removes all \@ifpackageloaded{textcomp} and leaves only the "true" branch in gensymb.sty, then everything works fine without loading textcomp.