<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def find_binutils_libs(self, libdir, lib_ext):
 """Find Binutils libraries."""

        bfd_expr = re.compile("(lib(?:bfd)|(?:opcodes))(.*?)\%s" % lib_ext )
        libs = {}
        for root, dirs, files in os.walk(libdir):
            for f in files:
                m = bfd_expr.search(f)
                if m:
                    lib, version = m.groups()
                    fp = os.path.join(root, f)
                    if version in libs:
                        libs[ version ].append( fp )
                    else:
                        libs[ version ] = [fp,]

        # first, search for multiarch files.
        # check if we found more than one version of the multiarch libs.
        multiarch_libs = dict( [(v,_l) for v, _l in libs.items() \
            if v.find("multiarch") != -1 ] )
        if len(multiarch_libs) > 1:
        	print "[W] Multiple binutils versions detected. Trying to build with default..."
            	return multiarch_libs.values()[0]
        if len(multiarch_libs) == 1:
            return multiarch_libs.values()[0]
        # or use the default libs, or .. none
        return libs.get("",[])