[Scons-users] Error when passing from python 3.5.4 to python 3.6

Bill Deegan bill at baddogconsulting.com
Thu Jul 23 14:29:59 EDT 2020


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 <pierreluc.boily at gmail.com>
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 <
> pierreluc.boily at gmail.com> 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 <bill at baddogconsulting.com>
>> a écrit :
>>
>>> run with --debug=presub and paste
>>>
>>> On Wed, Jul 22, 2020 at 9:48 AM Pierre-Luc Boily <
>>> pierreluc.boily at gmail.com> 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 <
>>>> bill at baddogconsulting.com> a écrit :
>>>>
>>>>> Yes.
>>>>> Change it in your Environment() in your SConstruct/SConscripts..
>>>>>
>>>>> On Tue, Jul 21, 2020 at 1:16 PM Pierre-Luc Boily <
>>>>> pierreluc.boily at gmail.com> 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 <
>>>>>> pierreluc.boily at gmail.com> 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 <merlin66b at gmail.com>
>>>>>>> a écrit :
>>>>>>>
>>>>>>>>
>>>>>>>> On Sat, 18 Jul 2020 at 00:35, Pierre-Luc Boily <
>>>>>>>> pierreluc.boily at gmail.com> 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 <
>>>>>>>> pierreluc.boily at gmail.com> 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 <
>>>>>>>>> bill at baddogconsulting.com> 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 <
>>>>>>>>>> pierreluc.boily at gmail.com> 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
>>>>>>>>>>> Scons-users at scons.org
>>>>>>>>>>> https://pairlist4.pair.net/mailman/listinfo/scons-users
>>>>>>>>>>>
>>>>>>>>>> _______________________________________________
>>>>>>>>>> Scons-users mailing list
>>>>>>>>>> Scons-users at scons.org
>>>>>>>>>> https://pairlist4.pair.net/mailman/listinfo/scons-users
>>>>>>>>>>
>>>>>>>>> _______________________________________________
>>>>>>>>> Scons-users mailing list
>>>>>>>>> Scons-users at scons.org
>>>>>>>>> https://pairlist4.pair.net/mailman/listinfo/scons-users
>>>>>>>>>
>>>>>>>> _______________________________________________
>>>>>>>> Scons-users mailing list
>>>>>>>> Scons-users at scons.org
>>>>>>>> https://pairlist4.pair.net/mailman/listinfo/scons-users
>>>>>>>>
>>>>>>> _______________________________________________
>>>>>> Scons-users mailing list
>>>>>> Scons-users at scons.org
>>>>>> https://pairlist4.pair.net/mailman/listinfo/scons-users
>>>>>>
>>>>> _______________________________________________
>>>>> Scons-users mailing list
>>>>> Scons-users at scons.org
>>>>> https://pairlist4.pair.net/mailman/listinfo/scons-users
>>>>>
>>>> _______________________________________________
>>>> Scons-users mailing list
>>>> Scons-users at scons.org
>>>> https://pairlist4.pair.net/mailman/listinfo/scons-users
>>>>
>>> _______________________________________________
>>> Scons-users mailing list
>>> Scons-users at scons.org
>>> https://pairlist4.pair.net/mailman/listinfo/scons-users
>>>
>> _______________________________________________
> Scons-users mailing list
> Scons-users at scons.org
> https://pairlist4.pair.net/mailman/listinfo/scons-users
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://pairlist4.pair.net/pipermail/scons-users/attachments/20200723/1807cc45/attachment-0001.html>


More information about the Scons-users mailing list