diff --git a/setup.py b/setup.py
index a89511487f1984a9cd20adc3d0ea5ffb183fab83..cb852735f0ff5fe503d5e81edca1ba876d0b325b 100644
--- a/setup.py
+++ b/setup.py
@@ -116,7 +116,7 @@ if EXTRA_ENV_COMPILE_ARGS is None:
   elif 'win32' in sys.platform:
     EXTRA_ENV_COMPILE_ARGS += ' -D_PYTHON_MSVC'
   elif "linux" in sys.platform:
-    EXTRA_ENV_COMPILE_ARGS += ' -std=c++11 -fvisibility=hidden -fno-wrapv'
+    EXTRA_ENV_COMPILE_ARGS += ' -std=c++11 -std=gnu99 -fvisibility=hidden -fno-wrapv'
   elif "darwin" in sys.platform:
     EXTRA_ENV_COMPILE_ARGS += ' -fvisibility=hidden -fno-wrapv'
 
diff --git a/src/python/grpcio/commands.py b/src/python/grpcio/commands.py
index 4f072809c4741a35599f12d90a069f2866f26ad9..f4ccb1ab94c6a529b694062fdcd0bc100552a06f 100644
--- a/src/python/grpcio/commands.py
+++ b/src/python/grpcio/commands.py
@@ -284,9 +284,9 @@ class BuildExt(build_ext.build_ext):
                 stderr=subprocess.PIPE)
             make_out, make_err = make_process.communicate()
             if make_out and make_process.returncode != 0:
-                sys.stdout.write(make_out + '\n')
+                sys.stdout.write(str(make_out) + '\n')
             if make_err:
-                sys.stderr.write(make_err + '\n')
+                sys.stderr.write(str(make_err) + '\n')
             if make_process.returncode != 0:
                 raise Exception("make command failed!")