Re: Error when passing from python 3.5.4 to python 3.6
Pierre-Luc Boily <[email protected]>
| Newsgroups | gmane.comp.programming.tools.scons.user |
|---|---|
| Message-ID | <CACTRa=t9jZroS8LDy=vTWXnzg2JSeE4MX7nrjhoewaRxCU+m5w@mail.gmail.com> |
I tried to make it as small as possible : https://github.com/peterphonic/scons_qt_example. It might not be as tiny as you asked, but I hope small enough. In this example, scons tries to compile uic_ASREngineWidget.cc, but this file is not generated because it is not part of the QT_UICCOM tool chain. SO, scons complain that the file doesn't exist (which is what I am trying to do!) At the end, what i'd like to to, is to generate the file ui_ASREngineWidget.h only. This is what we were doing with the qt4 and qt5 tools... You will need a qt 5 folder. I shared mine with you from one drive : https://adacelcanada-my.sharepoint.com/:u:/g/personal/pboily_adacel_com/EQcBYZhknBhNqnhV3-dVNRABgF3S3JzjmOhAUEaKIqb3dQ?e=Cfigdy Le jeu. 23 juill. 2020, à 15 h 02, Pierre-Luc Boily < [email protected]> a écrit : > Could you point me out the link please? On the issues page? > https://github.com/SCons/scons/issues ? > > Le jeu. 23 juill. 2020, à 14 h 30, Bill Deegan <[email protected]> > a écrit : > >> Can you push up a TINY example to github so we can try running it? >> >> On Thu, Jul 23, 2020 at 11:18 AM Pierre-Luc Boily < >> [email protected]> wrote: >> >>> I progressed a bit, >>> >>> If I do this : >>> >>> env['QT_UICCOM'] = [['$QT_UIC', '$QT_UICDECLFLAGS', '-o', >>> '${TARGETS[0]}', '$SOURCE']] >>> >>> It works a little bit better, the action is not truncated anymore. >>> >>> But somehow, somewhere, scons still have the original tool chain with 3 >>> actions. See traces below : >>> >>> scons: Reading SConscript files ... >>> scons: done reading SConscript files. >>> scons: Building targets ... >>> Building build\sr\speech\ASREngineSpawner\ui_ASREngineWidget.h with >>> action: >>> UnlinkFunc(target, source, env) >>> Building build\sr\speech\ASREngineSpawner\ui_ASREngineWidget.h and >>> build\sr\speech\ASREngineSpawner\uic_ASREngineWidget.cc and >>> build\sr\speech\ASREngineSpawner\moc_ASREngineWidget.cc with action: >>> $QT_UIC $QT_UICDECLFLAGS -o ${TARGETS[0]} $SOURCE >>> C:\svn\3rdParty\3rdPartyPackages\Qt-5.12.1_vs2017\5.12.1\msvc2017\bin\uic >>> -o build\sr\speech\ASREngineSpawner\ui_ASREngineWidget.h >>> sr\speech\ASREngineSpawner\ASREngineWidget.ui >>> scons: >>> `build\sr\speech\ASREngineSpawner\MSVC14.1\x86\release\ASREngineSpawner.obj' >>> is up to date. >>> scons: done building targets. >>> >>> Even if ui_ASREngineWidget.h has been generated, the next build is not >>> up to date, because scons tries to generate uic_ASREngineWidget.cc, even >>> if the generation of this file has been removed from QT_UICCOM. >>> >>> Le jeu. 23 juill. 2020, à 08 h 52, Pierre-Luc Boily < >>> [email protected]> a écrit : >>> >>>> scons: Reading SConscript files ... >>>> scons: done reading SConscript files. >>>> scons: Building targets ... >>>> Building build\sr\speech\ASREngineSpawner\ASREngineWidget.h and >>>> build\sr\speech\ASREngineSpawner\uic_ASREngineWidget.cc and >>>> build\sr\speech\ASREngineSpawner\moc_ASREngineWidget.cc with action: >>>> $QT_BINPATH\uic >>>> >>>> C:\svn\3rdParty\3rdPartyPackages\Qt-5.12.1_vs2017\5.12.1\msvc2017\bin\uic >>>> >>>> What I am trying to do (override QT_UICCOM ) by doing this : >>>> >>>> env['QT_UICCOM'] = env['QT_UICCOM'][0] >>>> >>>> is clearly not working >>>> >>>> >>>> Le mer. 22 juill. 2020, à 21 h 06, Bill Deegan < >>>> [email protected]> a écrit : >>>> >>>>> run with --debug=presub and paste >>>>> >>>>> On Wed, Jul 22, 2020 at 9:48 AM Pierre-Luc Boily < >>>>> [email protected]> wrote: >>>>> >>>>>> Not the first time and I guess not the last, but I think I don't see >>>>>> something that should be easy. From QT_UICCOM, I only need the first >>>>>> action. So, what I try to do is to override QT_UICCOM with QT_UICCOM[0], >>>>>> but this is not working, the uic action is truncated. >>>>>> >>>>>> If you look at the trace below, The result of the print of >>>>>> QT_UICCOM[0] is not the same as if I print the whole QT_UICCOM list. I >>>>>> mean, QT_UICCOM contains commas between arguments. QT_UICCOM[0] >>>>>> arguments are not separated by command. I am suspecting it could be my >>>>>> problem. >>>>>> >>>>>> Traces: >>>>>> ------------------------------- >>>>>> scons: Reading SConscript files ... >>>>>> >>>>>> [['$QT_UIC', '$QT_UICDECLFLAGS', '-o', '${TARGETS[0]}', '$SOURCE'], >>>>>> ['$QT_UIC', '$QT_UICIMPLFLAGS', '-impl', '${TARGETS[0].file}', '-o', >>>>>> '${TARGETS[1]}', '$SOURCE'], ['$QT_MOC', '$QT_MOCFROMHFLAGS', '-o', >>>>>> '${TARGETS[2]}', '${TARGETS[0]}']] >>>>>> >>>>>> $QT_UIC $QT_UICDECLFLAGS -o ${TARGETS[0]} $SOURCE >>>>>> >>>>>> scons: done reading SConscript files. >>>>>> scons: Building targets ... >>>>>> C:\svn\3rdParty\3rdPartyPackages\Qt-5.12.1_vs2017\5.12.1\msvc2017\bin\uic >>>>>> UIC_ARG_IS_MISSING_HERE >>>>>> --------------------------------- >>>>>> >>>>>> >>>>>> Code : >>>>>> >>>>>> print('') >>>>>> print(env['QT_UICCOM']) >>>>>> print('') >>>>>> print(env['QT_UICCOM'][0]) >>>>>> print('') >>>>>> >>>>>> env['QT_UICCOM'] = env['QT_UICCOM'][0] >>>>>> >>>>>> lib_tgt = env.Library(target='lib', >>>>>> source=['ASREngineSpawner.cpp', 'ProcessManager.cpp', 'ASREngineWidget.ui']) >>>>>> >>>>>> >>>>>> Le mar. 21 juill. 2020, à 19 h 34, Bill Deegan < >>>>>> [email protected]> a écrit : >>>>>> >>>>>>> Yes. >>>>>>> Change it in your Environment() in your SConstruct/SConscripts.. >>>>>>> >>>>>>> On Tue, Jul 21, 2020 at 1:16 PM Pierre-Luc Boily < >>>>>>> [email protected]> wrote: >>>>>>> >>>>>>>> The problem is still there with scons 4.0.1, but I decided to use >>>>>>>> qt tool that ships with scons. I was not even aware of this, we were using >>>>>>>> the external tool since forever.... >>>>>>>> >>>>>>>> But I still do have a weird problem. It looks like scons Uic does >>>>>>>> something that I don't need, the -impl option. It looks like it is not >>>>>>>> part of the Uic application that ships with my version of qt. Is there a >>>>>>>> way to remove the --impl from 'QT_UICCOM': ? >>>>>>>> >>>>>>>> scons: done reading SConscript files. >>>>>>>> scons: Building targets ... >>>>>>>> C:\svn\3rdParty\3rdPartyPackages\Qt-5.12.1_vs2017\5.12.1\msvc2017\bin\uic >>>>>>>> -o build\sr\speech\ASREngineSpawner\ASREngineWidget.h >>>>>>>> sr\speech\ASREngineSpawner\ASREngineWidget.ui >>>>>>>> C:\svn\3rdParty\3rdPartyPackages\Qt-5.12.1_vs2017\5.12.1\msvc2017\bin\uic >>>>>>>> -impl ASREngineWidget.h -o >>>>>>>> build\sr\speech\ASREngineSpawner\uic_ASREngineWidget.cc >>>>>>>> sr\speech\ASREngineSpawner\ASREngineWidget.ui >>>>>>>> Unknown option 'impl'. >>>>>>>> scons: *** [build\sr\speech\ASREngineSpawner\ASREngineWidget.h] >>>>>>>> Error 1 >>>>>>>> scons: building terminated because of errors. >>>>>>>> PS C:\SVN\products\faa_mx\integ-newScons.4.0> >>>>>>>> PS C:\SVN\products\faa_mx\integ-newScons.4.0> >>>>>>>> PS C:\SVN\products\faa_mx\integ-newScons.4.0> >>>>>>>> PS C:\SVN\products\faa_mx\integ-newScons.4.0> >>>>>>>> PS C:\SVN\products\faa_mx\integ-newScons.4.0> >>>>>>>> PS C:\SVN\products\faa_mx\integ-newScons.4.0> >>>>>>>> C:\svn\3rdParty\3rdPartyPackages\Qt-5.12.1_vs2017\5.12.1\msvc2017\bin\uic >>>>>>>> -help >>>>>>>> Usage: >>>>>>>> C:\svn\3rdParty\3rdPartyPackages\Qt-5.12.1_vs2017\5.12.1\msvc2017\bin\uic.exe >>>>>>>> [options] [uifile] >>>>>>>> Qt User Interface Compiler version 5.12.1 >>>>>>>> >>>>>>>> Options: >>>>>>>> -?, -h, --help Displays this help. >>>>>>>> -v, --version Displays version information. >>>>>>>> -d, --dependencies Display the dependencies. >>>>>>>> -o, --output <file> Place the output into <file> >>>>>>>> -p, --no-protection Disable header protection. >>>>>>>> -n, --no-implicit-includes Disable generation of >>>>>>>> #include-directives. >>>>>>>> -s, --no-stringliteral Deprecated. The use of this option >>>>>>>> won't take >>>>>>>> any effect. >>>>>>>> --postfix <postfix> Postfix to add to all generated >>>>>>>> classnames. >>>>>>>> --tr, --translate <function> Use <function> for i18n. >>>>>>>> --include <include-file> Add #include <include-file> to >>>>>>>> <file>. >>>>>>>> -g, --generator <java|cpp> Select generator. >>>>>>>> --idbased Use id based function for i18n >>>>>>>> >>>>>>>> Le lun. 20 juill. 2020, à 23 h 45, Pierre-Luc Boily < >>>>>>>> [email protected]> a écrit : >>>>>>>> >>>>>>>>> Thx. Ill try with scons 4 and with the qt tool that ships with >>>>>>>>> scons. Let you know... >>>>>>>>> >>>>>>>>> Le lun. 20 juill. 2020, à 08 h 37, Thomas Berg < >>>>>>>>> [email protected]> a écrit : >>>>>>>>> >>>>>>>>>> >>>>>>>>>> On Sat, 18 Jul 2020 at 00:35, Pierre-Luc Boily < >>>>>>>>>> [email protected]> wrote: >>>>>>>>>> >>>>>>>>>>> I was pretty sure the problem was in qt5 tool and not in scons ? >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>> That could very well be, but volunteers who devote their spare >>>>>>>>>> time to help may have a policy to only start helping you when you have >>>>>>>>>> upgraded to the latest version. In general it avoids wasting time on >>>>>>>>>> already solved issues. >>>>>>>>>> >>>>>>>>>> It could be that upgrading doesn't help, but things may also have >>>>>>>>>> happened in SCons that could affect this. If you still see the problem >>>>>>>>>> after upgrading you'll likely get the help you need. >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> >>>>>>>>>>> File >>>>>>>>>>> "C:\SVN\3rdParty\devTool\site_scons\site_tools\qt5_init.py", line 373: >>>>>>>>>>> cpp, cpp_contents, out_sources) >>>>>>>>>>> File >>>>>>>>>>> "C:\SVN\3rdParty\devTool\site_scons\site_tools\qt5_init.py", line 229: >>>>>>>>>>> if cpp and re.search(inc_moc_cpp, cpp_contents, re.M): >>>>>>>>>>> File "C:\Python\Python3.6.8\lib\re.py", line 182: >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>> Regarding the error, it's similar to an issue I saw myself when >>>>>>>>>> switching to python 3. SCons has two ways to get the content of a file, one >>>>>>>>>> returns text (python unicode), and the other returns bytes. If that's the >>>>>>>>>> problem, swapping out calls to get_contents() with get_text_contents() >>>>>>>>>> might help in the tool source code. >>>>>>>>>> >>>>>>>>>> I see you are using an external qt tool instead of the one that >>>>>>>>>> ships with scons. I think the qt tool that ships with scons supports Qt5 >>>>>>>>>> now, so you could consider trying it instead of this possibly unmaintained >>>>>>>>>> tool. >>>>>>>>>> >>>>>>>>>> Cheers, >>>>>>>>>> Thomas >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> On Sat, 18 Jul 2020 at 00:35, Pierre-Luc Boily < >>>>>>>>>> [email protected]> wrote: >>>>>>>>>> >>>>>>>>>>> I was pretty sure the problem was in qt5 tool and not in scons ? >>>>>>>>>>> >>>>>>>>>>> File >>>>>>>>>>> "C:\SVN\3rdParty\devTool\site_scons\site_tools\qt5_init.py", line 373: >>>>>>>>>>> cpp, cpp_contents, out_sources) >>>>>>>>>>> File >>>>>>>>>>> "C:\SVN\3rdParty\devTool\site_scons\site_tools\qt5_init.py", line 229: >>>>>>>>>>> if cpp and re.search(inc_moc_cpp, cpp_contents, re.M): >>>>>>>>>>> File "C:\Python\Python3.6.8\lib\re.py", line 182: >>>>>>>>>>> >>>>>>>>>>> Le ven. 17 juill. 2020, à 15 h 48, Bill Deegan < >>>>>>>>>>> [email protected]> a écrit : >>>>>>>>>>> >>>>>>>>>>>> Please update your SCons version to 4.0.1 and retry. >>>>>>>>>>>> Note if you've installed scons via pip, you should pip >>>>>>>>>>>> uninstall scons, and then pip install scons as there's a windows specific >>>>>>>>>>>> pip+scons issue. >>>>>>>>>>>> >>>>>>>>>>>> On Fri, Jul 17, 2020 at 9:09 AM Pierre-Luc Boily < >>>>>>>>>>>> [email protected]> wrote: >>>>>>>>>>>> >>>>>>>>>>>>> Hello, >>>>>>>>>>>>> >>>>>>>>>>>>> Sorry to post this here, this is not direclty linked to scons, >>>>>>>>>>>>> but to qt5 >>>>>>>>>>>>> tools. I thought that maybe someone faced this problem before >>>>>>>>>>>>> in the scons >>>>>>>>>>>>> code. >>>>>>>>>>>>> >>>>>>>>>>>>> >>>>>>>>>>>>> https://bitbucket.org/dirkbaechle/scons_qt5/issues/14/from-python-354-to-368-raise-sourceerror >>>>>>>>>>>>> >>>>>>>>>>>>> python : 3.6.8 >>>>>>>>>>>>> scons : 3.0.5 >>>>>>>>>>>>> os : windows 10 >>>>>>>>>>>>> >>>>>>>>>>>>> Trying to update my python from 3.5.4 to 3.6.8 version and I >>>>>>>>>>>>> stumbled on the >>>>>>>>>>>>> exception below. I found something similar to this page : >>>>>>>>>>>>> >>>>>>>>>>>>> https://stackoverflow.com/questions/58328587/python-3-7-4-re-error-bad-escape-s-at-position-0 >>>>>>>>>>>>> . >>>>>>>>>>>>> but I don`t understand... : >>>>>>>>>>>>> >>>>>>>>>>>>> PS C:\SVN\products\faa_mx\integ> scons -n >>>>>>>>>>>>> scons: Reading SConscript files ... >>>>>>>>>>>>> error: bad escape \m at position 37: >>>>>>>>>>>>> File "C:\SVN\products\faa_mx\integ\SConstruct", line 30: >>>>>>>>>>>>> sc_manager.build() >>>>>>>>>>>>> File >>>>>>>>>>>>> >>>>>>>>>>>>> "C:\SVN\products\faa_mx\integ\cm\env\scons\utilities\sconscriptManager.py", >>>>>>>>>>>>> line 44: >>>>>>>>>>>>> duplicate=0) >>>>>>>>>>>>> File >>>>>>>>>>>>> >>>>>>>>>>>>> "c:\python\python3.6.8\lib\site-packages\scons\SCons\Script\SConscript.py", >>>>>>>>>>>>> line 668: >>>>>>>>>>>>> return method(*args, **kw) >>>>>>>>>>>>> File >>>>>>>>>>>>> >>>>>>>>>>>>> "c:\python\python3.6.8\lib\site-packages\scons\SCons\Script\SConscript.py", >>>>>>>>>>>>> line 605: >>>>>>>>>>>>> return _SConscript(self.fs, files, **subst_kw) >>>>>>>>>>>>> File >>>>>>>>>>>>> >>>>>>>>>>>>> "c:\python\python3.6.8\lib\site-packages\scons\SCons\Script\SConscript.py", >>>>>>>>>>>>> line 286: >>>>>>>>>>>>> exec(compile(scriptdata, scriptname, 'exec'), >>>>>>>>>>>>> call_stack[-1].globals) >>>>>>>>>>>>> File >>>>>>>>>>>>> >>>>>>>>>>>>> "C:\SVN\products\faa_mx\integ\sr\speech\ASREngineSpawner\ASREngineSpawner.sc", >>>>>>>>>>>>> line 12: >>>>>>>>>>>>> lib_tgt = env.build_library(envService, >>>>>>>>>>>>> ['ASREngineSpawner.cpp', >>>>>>>>>>>>> 'ProcessManager.cpp'] + env.Glob('.ui')) >>>>>>>>>>>>> File >>>>>>>>>>>>> >>>>>>>>>>>>> "C:\SVN\products\faa_mx\integ\cm\env\scons\adacelBuilders\pseudoBuilders.py", >>>>>>>>>>>>> line 95: >>>>>>>>>>>>> source=tgt) >>>>>>>>>>>>> File >>>>>>>>>>>>> "c:\python\python3.6.8\lib\site-packages\scons\SCons\Environment.py", >>>>>>>>>>>>> line 260: >>>>>>>>>>>>> return MethodWrapper.call(self, target, source, *args, **kw) >>>>>>>>>>>>> File >>>>>>>>>>>>> "c:\python\python3.6.8\lib\site-packages\scons\SCons\Environment.py", >>>>>>>>>>>>> line 224: >>>>>>>>>>>>> return self.method(*nargs, **kwargs) >>>>>>>>>>>>> File >>>>>>>>>>>>> "c:\python\python3.6.8\lib\site-packages\scons\SCons\Builder.py", line >>>>>>>>>>>>> 645: >>>>>>>>>>>>> return self.execute(env, target, source, OverrideWarner(kw), >>>>>>>>>>>>> ekw) >>>>>>>>>>>>> File >>>>>>>>>>>>> "c:\python\python3.6.8\lib\site-packages\scons\SCons\Builder.py", line >>>>>>>>>>>>> 564: >>>>>>>>>>>>> tlist, slist = self.create_nodes(env, target, source) >>>>>>>>>>>>> File >>>>>>>>>>>>> "c:\python\python3.6.8\lib\site-packages\scons\SCons\Builder.py", line >>>>>>>>>>>>> 528: >>>>>>>>>>>>> target, source = self.emitter(target=tlist, source=slist, >>>>>>>>>>>>> env=env) >>>>>>>>>>>>> File >>>>>>>>>>>>> "c:\python\python3.6.8\lib\site-packages\scons\SCons\Builder.py", line >>>>>>>>>>>>> 353: >>>>>>>>>>>>> target, source = e(target, source, env) >>>>>>>>>>>>> File >>>>>>>>>>>>> "C:\SVN\3rdParty\devTool\site_scons\site_tools\qt5_init.py", line 373: >>>>>>>>>>>>> cpp, cpp_contents, out_sources) >>>>>>>>>>>>> File >>>>>>>>>>>>> "C:\SVN\3rdParty\devTool\site_scons\site_tools\qt5_init.py", line 229: >>>>>>>>>>>>> if cpp and re.search(inc_moc_cpp, cpp_contents, re.M): >>>>>>>>>>>>> File "C:\Python\Python3.6.8\lib\re.py", line 182: >>>>>>>>>>>>> return _compile(pattern, flags).search(string) >>>>>>>>>>>>> File "C:\Python\Python3.6.8\lib\re.py", line 301: >>>>>>>>>>>>> p = sre_compile.compile(pattern, flags) >>>>>>>>>>>>> File "C:\Python\Python3.6.8\lib\sre_compile.py", line 562: >>>>>>>>>>>>> p = sre_parse.parse(p, flags) >>>>>>>>>>>>> File "C:\Python\Python3.6.8\lib\sre_parse.py", line 855: >>>>>>>>>>>>> p = _parse_sub(source, pattern, flags & SRE_FLAG_VERBOSE, 0) >>>>>>>>>>>>> File "C:\Python\Python3.6.8\lib\sre_parse.py", line 416: >>>>>>>>>>>>> not nested and not items)) >>>>>>>>>>>>> File "C:\Python\Python3.6.8\lib\sre_parse.py", line 502: >>>>>>>>>>>>> code = _escape(source, this, state) >>>>>>>>>>>>> File "C:\Python\Python3.6.8\lib\sre_parse.py", line 401: >>>>>>>>>>>>> raise source.error("bad escape %s" % escape, len(escape)) >>>>>>>>>>>>> >>>>>>>>>>>>> >>>>>>>>>>>>> >>>>>>>>>>>>> >>>>>>>>>>>>> -- >>>>>>>>>>>>> Sent from: >>>>>>>>>>>>> http://scons.1086193.n5.nabble.com/Users-f16930.html >>>>>>>>>>>>> _______________________________________________ >>>>>>>>>>>>> Scons-users mailing list >>>>>>>>>>>>> [email protected] >>>>>>>>>>>>> https://pairlist4.pair.net/mailman/listinfo/scons-users >>>>>>>>>>>>> >>>>>>>>>>>> _______________________________________________ >>>>>>>>>>>> Scons-users mailing list >>>>>>>>>>>> [email protected] >>>>>>>>>>>> https://pairlist4.pair.net/mailman/listinfo/scons-users >>>>>>>>>>>> >>>>>>>>>>> _______________________________________________ >>>>>>>>>>> Scons-users mailing list >>>>>>>>>>> [email protected] >>>>>>>>>>> https://pairlist4.pair.net/mailman/listinfo/scons-users >>>>>>>>>>> >>>>>>>>>> _______________________________________________ >>>>>>>>>> Scons-users mailing list >>>>>>>>>> [email protected] >>>>>>>>>> https://pairlist4.pair.net/mailman/listinfo/scons-users >>>>>>>>>> >>>>>>>>> _______________________________________________ >>>>>>>> Scons-users mailing list >>>>>>>> [email protected] >>>>>>>> https://pairlist4.pair.net/mailman/listinfo/scons-users >>>>>>>> >>>>>>> _______________________________________________ >>>>>>> Scons-users mailing list >>>>>>> [email protected] >>>>>>> https://pairlist4.pair.net/mailman/listinfo/scons-users >>>>>>> >>>>>> _______________________________________________ >>>>>> Scons-users mailing list >>>>>> [email protected] >>>>>> https://pairlist4.pair.net/mailman/listinfo/scons-users >>>>>> >>>>> _______________________________________________ >>>>> Scons-users mailing list >>>>> [email protected] >>>>> https://pairlist4.pair.net/mailman/listinfo/scons-users >>>>> >>>> _______________________________________________ >>> Scons-users mailing list >>> [email protected] >>> https://pairlist4.pair.net/mailman/listinfo/scons-users >>> >> _______________________________________________ >> Scons-users mailing list >> [email protected] >> https://pairlist4.pair.net/mailman/listinfo/scons-users >> > _______________________________________________ Scons-users mailing list [email protected] https://pairlist4.pair.net/mailman/listinfo/scons-users