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

Reply via email to