On 2019/10/16 18:10, Johan Corveleyn wrote:
> Python 3 for the build and test process is only supported on *nix, not
on Windows.

[[[
Traceback (most recent call last):
   File "win-tests.py", line 134, in <module>
     cp.items('options'))
   File "build\generator\gen_win_dependencies.py", line 306, in __init__
     self.find_libraries(False)
   File "build\generator\gen_win_dependencies.py", line 327, in find_libraries
     self._find_jdk(show_warnings)
   File "build\generator\gen_win_dependencies.py", line 1085, in _find_jdk
     vermatch = re.search(r'(([0-9]+(\.[0-9]+)+)(_[._0-9]+)?)', line, re.M)
   File "C:\Python37\lib\re.py", line 183, in search
     return _compile(pattern, flags).search(string)
TypeError: cannot use a string pattern on a bytes-like object
]]]

The fix is probably easy, but I'm just noting it here so we don't get
ahead of ourselves.


It seems the change addressing for it on swig-py3 branch is a part of
r1822485, the hunks attached.
--
Yasuhito FUTATSUKI <futat...@poem.co.jp>
Index: gen_win_dependencies.py
===================================================================
--- gen_win_dependencies.py     (revision 1822484)
+++ gen_win_dependencies.py     (revision 1822485)
@@ -1069,7 +1122,7 @@
     try:
       outfp = subprocess.Popen([os.path.join(jdk_path, 'bin', 'javah.exe'),
                                '-version'], stdout=subprocess.PIPE).stdout
-      line = outfp.read()
+      line = outfp.read().decode('utf8')
       if line:
         vermatch = re.search(r'"(([0-9]+(\.[0-9]+)+)(_[._0-9]+)?)"', line, 
re.M)
       else:
@@ -1127,7 +1180,7 @@
     try:
       fp = subprocess.Popen([self.swig_exe, '-version'],
                             stdout=subprocess.PIPE).stdout
-      txt = fp.read()
+      txt = fp.read().decode('utf8')
       if txt:
         vermatch = re.search(r'^SWIG\ Version\ (\d+)\.(\d+)\.(\d+)', txt, re.M)
       else:
@@ -1155,7 +1208,7 @@
     try:
       fp = subprocess.Popen([self.swig_exe, '-swiglib'],
                             stdout=subprocess.PIPE).stdout
-      lib_dir = fp.readline().strip()
+      lib_dir = fp.readline().decode('utf8').strip()
       fp.close()
     except OSError:
       lib_dir = None

Reply via email to