code: def _compile(self, obj, src, ext, cc_args, extra_postargs, pp_opts):
      compiler_so = self.compiler_so
      if sys.platform == "darwin":
          compiler_so = _osx_support.compiler_fixup(
              compiler_so, cc_args + extra_postargs
          )
      try:
          self.spawn(
              compiler_so + cc_args + [src, "-o", obj] + extra_postargs
          )
      except DistutilsExecError as msg:
          raise CompileError(msg)
  
file_path: catboost/contrib/tools/python3/src/Lib/distutils/unixccompiler.py
imports: import os, sys, re
  from distutils import sysconfig
  from distutils.dep_util import newer
  from distutils.ccompiler import CCompiler, gen_preprocess_options, gen_lib_options
  from distutils.errors import DistutilsExecError, CompileError, LibError, LinkError
  from distutils import log
label_desc: Use image node_id 2 for calling the UnixCCompiler obj's underlying member method code with example usage: obj._compile(obj, src, ext, cc_args, extra_postargs, pp_opts) without return types