On Wed, Sep 18, 2019 at 12:08 PM Branko Čibej <br...@apache.org> wrote: > > On 18.09.2019 09:20, Johan Corveleyn wrote: > > On Wed, Sep 18, 2019 at 5:36 AM Branko Čibej <br...@apache.org> wrote: > >> On 18.09.2019 02:48, Johan Corveleyn wrote: > >>> On Mon, Sep 2, 2019 at 11:45 AM Julian Foad <julianf...@apache.org> wrote: > >>>>> Troy Curtis Jr wrote: > >>>>>> James McCoy wrote: > >>>>>>> Finishing(?) and merging the Python3 support would be ideal. That > >>>>>>> would > >>>>>>> give one release for broader feedback before being in an LTS release. > >>>>>> It needs to get reintegrated with trunk again with the latest changes, > >>>>>> but the linux side of the house was looking good. It was in trying to > >>>>>> get my Windows Dev environment back up and running again that got me > >>>>>> frustrated and gave me an excuse to wander off doing other things... > >>>>>> IIRC, there is a build issue with the Py2 bindings in that branch on > >>>>>> Windows, but I never got far enough to check it out. > >>>>>> If there was someone who could help out on the Windows side, I can > >>>>>> jump in and get the branch up to trunk and retested in order to get > >>>>>> this thing over the finish line. > >>>> Johan Corveleyn wrote: > >>>>> I might be able to devote some time to this in the coming week(s), if > >>>>> you can tell me what I need to do / test / validate / ... :-). > >>>> Until Troy says something more specific, if you could switch to the > >>>> branch, catch-up merge from trunk, and see how much works on Py3 and on > >>>> Py2, that would be helpful. > >>> I'm sorry I missed the 1.13.x-branch deadline, but I finally got > >>> around to playing with the swig-py3 branch on Windows. > >>> Downloaded the latest Python release: 3.7.4. And using swig 3.0.12. > >>> > >>> Of course I didn't reread INSTALL, so I first ran into: > >>> > >>> [[[ > >>> WARNING: "C:\research\svn\dev\swig-py3\py3c\include\py3c.h" not found > >>> Use "--with-py3c" to configure py3c location. > >>> ]]] > >>> > >>> No problem, after downloading py3c from Github, and adding > >>> --with-py3c, I can start building it. > >>> > >>> However, I ran into the following error: > >>> > >>> [[[ > >>> c:\python37\include\pytime.h(123): error C4115: 'timeval': named type > >>> definition in parentheses > >>> [C:\research\svn\dev\swig-py3\build\win32\vcnet-vcproj\libsvn_swig_py.vcxproj] > >>> ]]] > >> That makes no sense, my copy of pytime.h on Windows for Python 3.7.4 has > >> this on line 123: > >> > >> PyAPI_FUNC(int) _PyTime_FromTimeval(_PyTime_t *tp, struct timeval *tv); > >> > >> > >> Looks like perfectly valid C to me. So we'll need a bit more context to > >> see where the actual error is coming from. > > Not at my pc right now (I'll check again tonight), but from memory: I > > think my copy of pytime.h looks the same. Line 123 seems to be the > > first usage of 'timeval' though ... Is it possible that some include > > is missing, so there is no declaration of the timeval struct type? > > > You do *not* need a definition of 'struct foo' in order to use a 'struct > foo*' pointer. So, no, that's not the problem.
Hmm, okay, just tried again ... same problem. Here is some more output: [[[ C:\research\svn\dev\swig-py3> msbuild subversion_vcnet.sln /nologo /v:q /p:Configuration=release /t:__SWIG_PYTHON__ c:\python37\include\pytime.h(123): error C4115: 'timeval': named type definition in parentheses [C:\research\svn\dev\swig-py3\build\win32\vcnet-vcproj\libsvn_swig_py.vcxproj] C:\research\svn\dev\swig-py3\subversion\bindings\swig\proxy\swig_python_external_runtime.swg(2459): warning C4459: declaration of 'swig_this' hides global declaration [C:\research\svn\dev\swig-py3\build\win32\vcnet-vcproj\libsvn_swig_py.vcxproj] C:\research\svn\dev\swig-py3\subversion\bindings\swig\proxy\swig_python_external_runtime.swg(2534): warning C4459: declaration of 'swig_this' hides global declaration [C:\research\svn\dev\swig-py3\build\win32\vcnet-vcproj\libsvn_swig_py.vcxproj] ..\..\..\subversion\bindings\swig\python\libsvn_swig_py\swigutil_py.c(2363): warning C4101: 'tmp': unreferenced local variable [C:\research\svn\dev\swig-py3\build\win32\vcnet-vcproj\libsvn_swig_py.vcxproj] ..\..\..\subversion\bindings\swig\python\libsvn_swig_py\swigutil_py.c(2772): warning C4018: '>': signed/unsigned mismatch [C:\research\svn\dev\swig-py3\build\win32\vcnet-vcproj\libsvn_swig_py.vcxproj] ]]] I tried with both the x86-64 and the x86 builds of Python 3.7.4 ... same result. Weird. I'm continuing to investigate. In other news, building the swig-py3 branch (after sync-merge from trunk) with Python 2.7.16 (and swig 3.0.12) was successful. Running the testsuite gives some failures though: [[[ Testing Release configuration on local repository. -- Running Swig Python tests -- ..............s..............EE........F....F........................................................................... .................................. ====================================================================== ERROR: test_conflict (client.SubversionClientTestCase) Test conflict api. ---------------------------------------------------------------------- Traceback (most recent call last): File "C:\research\svn\dev\swig-py3\subversion\bindings\swig\python\tests\client.py", line 593, in test_conflict conflict = client.conflict_get(trunk_path, self.client_ctx, pool) File "R:\test_release--swigpython\swig\pylib\libsvn\client.py", line 1642, in svn_client_conflict_get return _client.svn_client_conflict_get(*args) SubversionException: 155007 - 'R:\temp\tmpyeizeh-conflict\trunk' is not a working copy ====================================================================== ERROR: test_conflict (client.SubversionClientTestCase) Test conflict api. ---------------------------------------------------------------------- Traceback (most recent call last): File "C:\research\svn\dev\swig-py3\subversion\bindings\swig\python\tests\client.py", line 94, in tearDown self.temper.cleanup() File "C:\research\svn\dev\swig-py3\subversion\bindings\swig\python\tests\utils.py", line 44, in cleanup clean_func(target) File "R:\test_release--swigpython\swig\pylib\libsvn\core.py", line 8453, in svn_io_remove_dir return _core.svn_io_remove_dir(*args) SubversionException: 720032 - Can't remove 'R:\temp\tmpyeizeh-conflict\.svn\wc.db' 720032 - Can't remove file 'R:\temp\tmpyeizeh-conflict\.svn\wc.db': The process cannot access the file because it is being used by another process. ====================================================================== FAIL: test_merge_peg3 (client.SubversionClientTestCase) Test svn_client_merge_peg3. ---------------------------------------------------------------------- Traceback (most recent call last): File "C:\research\svn\dev\swig-py3\subversion\bindings\swig\python\tests\client.py", line 442, in test_merge_peg3 self.assertEqual(readme_text, b'This is a test.\n') AssertionError: 'This is a test.\r\n' != 'This is a test.\n' ====================================================================== FAIL: test_shelf (client.SubversionClientTestCase) Test shelf api. ---------------------------------------------------------------------- Traceback (most recent call last): File "C:\research\svn\dev\swig-py3\subversion\bindings\swig\python\tests\client.py", line 644, in test_shelf self.assertIn(new_subpath, statused_paths) AssertionError: 'trunk\\new-shelf-test.txt' not found in ['trunk/new-shelf-test.txt', 'trunk/new-shelf-test.txt', None] ---------------------------------------------------------------------- Ran 153 tests in 38.984s FAILED (failures=2, errors=2, skipped=1) Exception svn.core.SubversionException: SubversionException("Can't open file 'R:\\temp\\tmp9ubdal-client\\db\\fs-type': The system cannot find the path specified. ", 720003) in <bound method Temper.__del__ of <utils.Temper object at 0x02B8B4F0>> ignored [Test runner reported failure] ]]] (Running the swig-python tests on trunk, with Python 2.7.16, was fully successful) -- Johan