shlex.split cannot handle bytes, and since python3 does not ignore anymore the b prefix of the strings (to the contrary of python 2.x), shlex.split will fail like this:
opts += shlex.split(output)
File "X/shlex.py", line 276, in split
File "X/shlex.py", line 266, in next
File "X/shlex.py", line 93, in get_token
File "X/shlex.py", line 121, in read_token
AttributeError: 'bytes' object has no attribute 'read'
Thus it's required to decode the string.
Fix for python3 (ST3)
Use helper encode/decode functions. #216
Won't that break ST2? I've changed it to use the helper functions I created to manage the differences between st2 and st3 instead. Could you try and see if that works for you?
Forgot to actually import the s versions of encode/decode. #216
Merge branch 'master' of github.com:vigsterkr/SublimeClang
this patch works fine as well... thnx