[Scons-users] TryRun() problem with python3 scons-3.0.1

Bill Deegan bill at baddogconsulting.com
Sat Mar 10 15:26:44 EST 2018


Can you try changing:

outputStr = SCons.Util.to_str(output.get_contents())

to

outputStr = SCons.Util.to_str(output.get_text_contents())

in SCons/SConf.py around line 646 in TryRun()?
And see if that resolves the issue..

-Bill

On Fri, Mar 9, 2018 at 9:16 AM, Mats Wichmann <mats at wichmann.us> wrote:

> "true"? Darn autocorrect. Put it another way, let's see what is coming
> back from the calls, before it tips over with a type error.
>
>
> On March 8, 2018 10:06:24 PM PST, Mats Wichmann <mats at wichmann.us> wrote:
>>
>> Try stuffing some debug prints in after the true to see what came back.
>>
>> On March 8, 2018 10:02:17 PM PST, Dave Plater <dplater.list at gmail.com>
>> wrote:
>>>
>>>
>>>
>>> On 08/03/18 18:56, Bill Deegan wrote:
>>>
>>>>  Dave,
>>>>
>>>>  Can you run with --debug=stacktrace and share the stacktrace?
>>>>
>>>>  -Bill
>>>>
>>>
>>> Running with  --debug=stacktrace provides nothing more than when it's
>>> not present :
>>> Checking for a working C-compiler TypeError : sequence item 0: expected
>>> str instance, bytes found
>>>
>>> Thanks,
>>> Dave
>>>
>>>
>>>>  On Thu, Mar 8, 2018 at 5:59 AM, Dave Plater <dplater.list at gmail.com
>>>>  <mailto:dplater.list at gmail.com>> wrote:
>>>>
>>>>      Hi, I'm battling to find why these SConstruct sections fails with
>>>>      "TypeError : sequence item 0: expected str instance, bytes found"
>>>>
>>>>      def CompilerCheck( context ):
>>>>           context.Message( "Checking for a working C-compiler " )
>>>>           ret = context.TryRun( """
>>>>      #include <stdio.h>
>>>>
>>>>      int main() {
>>>>           printf( "Hello World!" );
>>>>           return 0;
>>>>      }""", '.c' ).decode('utf-8')[0]
>>>>           context.Result( ret )
>>>>
>>>>      or
>>>>
>>>>           if 'CFLAGS' in env:
>>>>               oldcf = env['CFLAGS']
>>>>           else:
>>>>               oldcf = ""
>>>>           env.Append(CFLAGS = '-std=c99')
>>>>           if conf.CheckLibWithHeader( "m", "math.h", "c", "lrint(3.2);"
>>>>      ).decode('utf-8'):
>>>>               HAVE_LRINT = 1
>>>>           else:
>>>>               HAVE_LRINT = 0
>>>>           if conf.CheckLibWithHeader( "m", "math.h", "c", "lrintf(3.2);"
>>>>      ).decode('utf-8'):
>>>>               HAVE_LRINTF = 1
>>>>           else:
>>>>               HAVE_LRINTF = 0
>>>>           env['HAVE_LRINT'] = HAVE_LRINT;
>>>>           env['HAVE_LRINTF'] = HAVE_LRINTF;
>>>>           env.Replace(CFLAGS=oldcf)
>>>>
>>>>      What am I doing wrong? I've tried suffixing .decode('utf-8') after
>>>>      the TryRun statement as well.
>>>>
>>>>      Thanks
>>>>      Dave Plater
>>>> ------------------------------
>>>>
>>>>      Scons-users mailing list
>>>>      Scons-users at scons.org <mailto:Scons-users at scons.org>
>>>>      https://pairlist4.pair.net/mailman/listinfo/scons-users
>>>>      <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
>>>
>>>
> --
> Sent from my Android device with K-9 Mail. Please excuse my brevity.
>
> _______________________________________________
> 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/20180310/e0aba86d/attachment.html>


More information about the Scons-users mailing list