[svn.haxx.se] · SVN Dev · SVN Users · SVN Org · TSVN Dev · TSVN Users · Subclipse Dev · Subclipse Users · this month's index

Re: "gen-make.py --debug" with Python 3 fails with TypeError

From: Johan Corveleyn <jcorvel_at_gmail.com>
Date: Wed, 22 Apr 2020 23:08:41 +0200

On Wed, Apr 22, 2020 at 10:09 PM Daniel Shahaf <d.s_at_daniel.shahaf.name>
wrote:

> Johan Corveleyn wrote on Wed, 22 Apr 2020 19:16 +00:00:
> > Running "gen-make.py --debug" with Python 3 fails with:
> >
> > [[[
> > Traceback (most recent call last):
> > File "gen-make.py", line 326, in <module>
> > main(conf, gentype, skip_depends=skip, other_options=rest.list)
> > File "gen-make.py", line 73, in main
> > sorted_targets = list(target_dict.keys()); sorted_targets.sort()
> > TypeError: '<' not supported between instances of 'ObjectFile' and
> 'ObjectFile'
> > ]]]
>
> Does this help? It seems it just prints that stuff to stdout?
>
> [[[
> Index: gen-make.py
> ===================================================================
> --- gen-make.py (revision 1876852)
> +++ gen-make.py (working copy)
> @@ -70,7 +70,8 @@ def main(fname, gentype, verfname=None,
>
> if ('--debug', '') in other_options:
> for dep_type, target_dict in generator.graph.deps.items():
> - sorted_targets = list(target_dict.keys()); sorted_targets.sort()
> + sorted_targets = list(target_dict.keys())
> + sorted_targets.sort(key = lambda dep: dep.filename)
> for target in sorted_targets:
> print(dep_type + ": " + _objinfo(target))
> for source in target_dict[target]:
> ]]]
>

Thanks, but now it fails earlier with this error (same with Yasuhito's
attempt, which is equivalent I guess):

[[[
        python gen-make.py --debug
 --with-httpd=C:\research\svn\dev\deps\httpd-2.4.43
--with-serf=C:\research\svn\dev\deps\serf-1.3.9
--with-openssl=C:\research\svn\dev\deps\openssl-1.1.1f
--with-sqlite=C:\research\svn\dev\deps\sqlite-amalgamation-3.31.1.0
--with-zlib=C:\research\svn\dev\deps\zlib-1.2.11
--with-swig=C:\research\swigwin-3.0.12 --with-py3c=C:\research\py3c
--with-jdk="C:\Program Files (x86)\AdoptOpenJDK\jdk-11.0.6.10-hotspot"
--with-junit=C:\research\svn\dev\deps\junit-4.12\junit.jar
--vsnet-version=2019 -t vcproj 2>&1 | tee log.gen-make
Generating for Visual Studio 2019

Found apr 1.6.5
Found apr-util 1.6.1
Found apr_memcache 1.6.1
Found expat 2.2.9
Found httpd 2.4.43
Found java-sdk 11.0.6
Found mod_dav 2.4.43
Found openssl 1.1.1f
Found perl 5.30.2
Found py3c 1.0
Found python 3.7.7
Found ruby 2.7.0
Found serf 1.3.9
Found sqlite 3.31.1
Found swig 3.0.12
Found zlib 1.2.11
Using bundled lz4 1.7.5
Using bundled utf8proc 2.1.0
Traceback (most recent call last):
  File "gen-make.py", line 327, in <module>
    main(conf, gentype, skip_depends=skip, other_options=rest.list)
  File "gen-make.py", line 74, in main
    sorted_targets.sort(key = lambda dep: dep.filename)
  File "gen-make.py", line 74, in <lambda>
    sorted_targets.sort(key = lambda dep: dep.filename)
AttributeError: 'str' object has no attribute 'filename'
]]]

Before this patch I first got a bunch of output before failing:

[[[
        python gen-make.py --debug
 --with-httpd=C:\research\svn\dev\deps\httpd-2.4.43
--with-serf=C:\research\svn\dev\deps\serf-1.3.9
--with-openssl=C:\research\svn\dev\deps\openssl-1.1.1f
--with-sqlite=C:\research\svn\dev\deps\sqlite-amalgamation-3.31.1.0
--with-zlib=C:\research\svn\dev\deps\zlib-1.2.11
--with-swig=C:\research\swigwin-3.0.12 --with-py3c=C:\research\py3c
--with-jdk="C:\Program Files (x86)\AdoptOpenJDK\jdk-11.0.6.10-hotspot"
--with-junit=C:\research\svn\dev\deps\junit-4.12\junit.jar
--vsnet-version=2019 -t vcproj 2>&1 | tee log.gen-make
Generating for Visual Studio 2019

Found apr 1.6.5
Found apr-util 1.6.1
Found apr_memcache 1.6.1
Found expat 2.2.9
Found httpd 2.4.43
Found java-sdk 11.0.6
Found mod_dav 2.4.43
Found openssl 1.1.1f
Found perl 5.30.2
Found py3c 1.0
Found python 3.7.7
Found ruby 2.7.0
Found serf 1.3.9
Found sqlite 3.31.1
Found swig 3.0.12
Found zlib 1.2.11
Using bundled lz4 1.7.5
Using bundled utf8proc 2.1.0
DT_INSTALL: 'apache-mod'
  TargetApacheMod: mod_authz_svn subversion/mod_authz_svn/mod_authz_svn.dll
  TargetApacheMod: mod_dav_svn subversion/mod_dav_svn/mod_dav_svn.dll
DT_INSTALL: 'bdb-lib'
  TargetFsModule: libsvn_fs_base
subversion/libsvn_fs_base/libsvn_fs_base-1.dll
DT_INSTALL: 'bdb-test'
  TargetExe: changes-test subversion/tests/libsvn_fs_base/changes-test.exe
  TargetExe: fs-base-test subversion/tests/libsvn_fs_base/fs-base-test.exe
  TargetExe: strings-reps-test
subversion/tests/libsvn_fs_base/strings-reps-test.exe
DT_INSTALL: 'bin'
  TargetExe: svn subversion/svn/svn.exe
  TargetExe: svnadmin subversion/svnadmin/svnadmin.exe
...
  TargetExe: svnraisetreeconflict
tools/dev/svnraisetreeconflict/svnraisetreeconflict.exe
  TargetExe: x509-parser tools/dev/x509-parser.exe
========================================================================
Traceback (most recent call last):
  File "gen-make.py", line 326, in <module>
    main(conf, gentype, skip_depends=skip, other_options=rest.list)
  File "gen-make.py", line 73, in main
    sorted_targets = list(target_dict.keys()); sorted_targets.sort()
TypeError: '<' not supported between instances of 'ObjectFile' and
'ObjectFile'
]]]

-- 
Johan
Received on 2020-04-22 23:09:03 CEST

This is an archived mail posted to the Subversion Dev mailing list.