From: Joe Guo Date: Thu, 14 Feb 2019 22:23:17 +0000 (+1300) Subject: wafsamba/symbols: always split Popen output by bytes X-Git-Tag: ldb-1.6.1~80 X-Git-Url: http://git.samba.org/?a=commitdiff_plain;h=4843a27bbc2f2017314ad9508d61ac4c44330e77;p=samba.git wafsamba/symbols: always split Popen output by bytes In py3, `wafsamba.duplicate_symbols` test may fail: ... elfpipe = subprocess.Popen(['readelf', '--dynamic', binname], stdout=subprocess.PIPE).stdout ... File "./buildtools/wafsamba/symbols.py", line 153, in get_libs rpath.extend(m.group(1).split(":")) TypeError: a bytes-like object is required, not 'str' Because Popen will always return bytestr even in py3, and ":" is a unicode str in py3. Change ":" to b":" to fix. Signed-off-by: Joe Guo Reviewed-by: Alexander Bokovoy Reviewed-by: Andrew Bartlett --- diff --git a/buildtools/wafsamba/symbols.py b/buildtools/wafsamba/symbols.py index 4eab8e4a059..505c0bac7ea 100644 --- a/buildtools/wafsamba/symbols.py +++ b/buildtools/wafsamba/symbols.py @@ -146,7 +146,8 @@ def get_libs(bld, binname): libs.add(m.group(1)) m = re_rpath.search(line) if m: - rpath.extend(m.group(1).split(":")) + # output from Popen is always bytestr even in py3 + rpath.extend(m.group(1).split(b":")) ret = set() for lib in libs: