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

Bill Deegan bill at baddogconsulting.com
Sun Mar 11 21:27:20 EDT 2018


HRm... all the other specified paths aren't going to fly on my machine..
Are they needed to build and/or see the issue?

On Sun, Mar 11, 2018 at 6:26 PM, Bill Deegan <bill at baddogconsulting.com>
wrote:

> Andrew,
>
> You should be able to omit SCONS_LIB_DIR in the following:
>
> SCONS_LIB_DIR=$(pwd)/../../oss/scons/src/engine /usr/local/bin/python3
> ../../oss/scons/src/script/scons.py
>
> So just:
> /usr/local/bin/python3 ../../oss/scons/src/script/scons.py
>
> Should work, unless you have scons installed in that python3 tree
>
> I'll clone your repo and take a look.
>
> -Bill
>
>
>
> On Sun, Mar 11, 2018 at 5:33 PM, Andrew C. Morrow <
> andrew.c.morrow at gmail.com> wrote:
>
>>
>> Hi Bill -
>>
>> Unfortunately, not yet.
>>
>> I just ran into this on Tuesday, spent a little time trying to debug it
>> and failing, and then I wasn't working on it for a few days. When I saw the
>> post here with the same error I chimed in since perhaps it is a related
>> issue.
>>
>> While I could try to work on a smaller repro, I wonder if a better
>> approach would be to monkey with the exception throwing mechanism or base
>> exception type so we can log a stacktrace or do something else when the
>> error occurs? Otherwise, since we don't get a backtrace and
>> --debug=stacktrace does nothing, it is quite hard to see a way to debug it.
>> I'm not the best at py debugging, so I'm happy to try out any suggestions
>> you might have for how to hook into the error when it happens.
>>
>> Thanks,
>> Andrew
>>
>>
>> On Sun, Mar 11, 2018 at 7:33 PM, Bill Deegan <bill at baddogconsulting.com>
>> wrote:
>>
>>> Nothing smaller than the whole mongodb build tree?..
>>>
>>> On Sun, Mar 11, 2018 at 4:26 PM, Andrew C. Morrow <
>>> andrew.c.morrow at gmail.com> wrote:
>>>
>>>>
>>>> Hi Bill -
>>>>
>>>> Here is a repro for me.
>>>>
>>>> You will need to clone https://github.com/acmorrow/mo
>>>> ngo/tree/SERVER-32295. This is a work-in-progress branch for adding
>>>> py3 support to the mongodb build system. I'm using SCons from git,
>>>> currently checked out to 867f762f6c1e23524cd1b0262b8e93e822b23d0c. I'm
>>>> using python 3.6.4 from homebrew on OS X 10.13.
>>>>
>>>> The following command fails:
>>>>
>>>> $ SCONS_LIB_DIR=$(pwd)/../../oss/scons/src/engine
>>>> /usr/local/bin/python3 ../../oss/scons/src/script/scons.py -j8
>>>> --dbg=on --opt=off --ssl --link-model=dynamic CPPPATH="/usr/local/include
>>>> /usr/local/include/libbson-1.0 /usr/local/include/libmongoc-1.0
>>>> /usr/local/opt/openssl/include" LIBPATH="/usr/local/lib
>>>> /usr/local/opt/openssl/lib" --implicit-cache MONGO_VERSION=3.7.1-pre
>>>> --variables-files= --cache
>>>> scons: Reading SConscript files ...
>>>> Mkdir("build/scons")
>>>> scons version: __VERSION__
>>>> python version: 3 6 4 final 0
>>>> Checking whether the C compiler works... yes
>>>> Checking whether the C++ compiler works... yes
>>>> Checking that the C++ compiler can link a C++ program... yes
>>>> Checking if C++ compiler "g++" is GCC... no
>>>> Checking if C++ compiler "g++" is clang... yes
>>>> Checking if C compiler "gcc" is clang... yes
>>>> Detected a x86_64 processor
>>>> Checking if target OS macOS is supported by the toolchain... yes
>>>> Checking if C compiler is clang 3.8 (or Apple XCode 8.3.2) or newer...*TypeError
>>>> : sequence item 0: expected str instance, bytes found*
>>>>
>>>> If I remove the --cache argument, the build runs (at least, it gets a
>>>> lot further along, making it all the way through configure and starting to
>>>> build targets, before failing for other reasons):
>>>>
>>>> SCONS_LIB_DIR=$(pwd)/../../oss/scons/src/engine /usr/local/bin/python3
>>>> ../../oss/scons/src/script/scons.py -j8 --dbg=on --opt=off --ssl
>>>> --link-model=dynamic CPPPATH="/usr/local/include
>>>> /usr/local/include/libbson-1.0 /usr/local/include/libmongoc-1.0
>>>> /usr/local/opt/openssl/include" LIBPATH="/usr/local/lib
>>>> /usr/local/opt/openssl/lib" --implicit-cache MONGO_VERSION=3.7.1-pre
>>>> --variables-files=
>>>> scons: Reading SConscript files ...
>>>> Mkdir("build/scons")
>>>> scons version: __VERSION__
>>>> python version: 3 6 4 final 0
>>>> Checking whether the C compiler works... yes
>>>> Checking whether the C++ compiler works... yes
>>>> Checking that the C++ compiler can link a C++ program... yes
>>>> Checking if C++ compiler "g++" is GCC... no
>>>> Checking if C++ compiler "g++" is clang... yes
>>>> Checking if C compiler "gcc" is clang... yes
>>>> Detected a x86_64 processor
>>>> Checking if target OS macOS is supported by the toolchain... yes
>>>> Checking if C compiler is clang 3.8 (or Apple XCode 8.3.2) or
>>>> newer...yes
>>>> Checking if C++ compiler is clang 3.8 (or Apple XCode 8.3.2) or
>>>> newer...yes
>>>> Checking for sufficient macOS target version minimum... yes
>>>> Checking if C compiler supports -Wno-unused-local-typedefs... yes
>>>> Checking if C compiler supports -Wno-unused-function... yes
>>>> Checking if C compiler supports -Wno-unused-private-field... yes
>>>> Checking if C compiler supports -Wno-deprecated-declarations... yes
>>>> Checking if C compiler supports -Wno-tautological-constant-out-of-range-compare...
>>>> yes
>>>> Checking if C compiler supports -Wno-unused-const-variable... yes
>>>> Checking if C compiler supports -Wno-unused-but-set-variable... no
>>>> ...
>>>>
>>>> Can you give that a try and see it you can repro? I'll bet it probably
>>>> is something incomplete in the py3 port on the mongodb side, rather than
>>>> the SCons side, but without a stacktrace it is proving hard to find.
>>>>
>>>> Thanks,
>>>> Andrew
>>>>
>>>>
>>>>
>>>> On Sun, Mar 11, 2018 at 11:59 AM, Bill Deegan <
>>>> bill at baddogconsulting.com> wrote:
>>>>
>>>>> Can someone provide a small reproducer?
>>>>>
>>>>> -Bill
>>>>>
>>>>> On Sun, Mar 11, 2018 at 3:42 AM, Dave Plater <dplater.list at gmail.com>
>>>>> wrote:
>>>>>
>>>>>>
>>>>>>
>>>>>> On 10/03/18 22:26, Bill Deegan wrote:
>>>>>>
>>>>>>> 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
>>>>>>>
>>>>>>>
>>>>>> Hi Bill, it doesn't resolve the issue but I did go further and
>>>>>> inserted a couple of print statements into TryBuild where it goes wrong.
>>>>>> The result of (the first line is about line 584 in SConf.py):
>>>>>>             nodes = builder(target = target, source = source)
>>>>>>             print("\nnodes = ",nodes)
>>>>>>             if not SCons.Util.is_List(nodes):
>>>>>>                 nodes = [nodes]
>>>>>>                 print("\n[nodes] = ",nodes)
>>>>>>             nodesToBeBuilt.extend(nodes)
>>>>>>             result = self.BuildNodes(nodesToBeBuilt)
>>>>>>             print("\nresult = ",result)
>>>>>>
>>>>>> This results in :
>>>>>>  Checking for a working C-compiler TryLink
>>>>>>
>>>>>>  nodes =  ['cache/conftest_0']
>>>>>>
>>>>>>  TypeError : sequence item 0: expected str instance, bytes found
>>>>>>
>>>>>> Thanks
>>>>>> Dave
>>>>>>
>>>>>
>>>>>
>>>>> _______________________________________________
>>>>> 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/20180311/148dd38d/attachment-0001.html>


More information about the Scons-users mailing list