Fix searching for ld_linux executable on 64 bit machines

On some machines we can have more ld_linux executables specified
in /usr/bin/ldd file. This patch fixes how we search for the file.
This commit is contained in:
Martin Gracik 2010-02-25 17:59:49 +01:00
parent 4c34d98661
commit 79222bab6c

View File

@ -356,11 +356,14 @@ class Linker(object):
ld_linux = m.group("ld_linux") ld_linux = m.group("ld_linux")
break break
if ld_linux is None: if ld_linux:
ld_linux = filter(os.path.isfile, ld_linux.split())
if not ld_linux:
raise LinkerError("cannot find the ld_linux executable") raise LinkerError("cannot find the ld_linux executable")
self.lddcmd = "LD_LIBRARY_PATH={0} {1} --list" self.lddcmd = "LD_LIBRARY_PATH={0} {1} --list"
self.lddcmd = self.lddcmd.format(libdirs, ld_linux) self.lddcmd = self.lddcmd.format(libdirs, ld_linux[0])
self.pattern = re.compile(r"^[-._/a-zA-Z0-9]+\s=>\s" self.pattern = re.compile(r"^[-._/a-zA-Z0-9]+\s=>\s"
r"(?P<lib>[-._/a-zA-Z0-9]+)" r"(?P<lib>[-._/a-zA-Z0-9]+)"