Le 08/12/2019 à 18:52, Bruce Dubbs via blfs-dev a écrit :
> On 12/8/19 7:33 AM, Pierre Labastie via blfs-dev wrote:
> 
>> I did the bisection, and found that the commit which changed the behavior in
>> meson is 3db6dcb3b85.
>>
>> I Filed an issue[1] with meson, but they may as well tell that mutter devs
>> should change their meson.build files.
>>
>> For now, I suggest disabling the cogl_tests, or maybe issue this sed:
>>
>> sed -e 's@[./]*dev/stdout @@' \
>>      -e 's@meson-private/coredata.dat @@' \
>>      -i build.ninja
>>
>> after running meson and before running ninja. coredata.dat must also be
>> removed, because it appears to be posterior to build.ninja, so that meson is
>> run again when ninja starts, and the effect of the sed is lost...
>>
>> Pierre
>> [1]: https://github.com/mesonbuild/meson/issues/6315
> 
> It is interesting that the type of redirection matters.  If I do:
> 
>   meson --prefix=/usr -Dprofiler=false .. > file.log
> 
> then stdout shows up in build.ninja.  If I do:
> 
>   meson --prefix=/usr -Dprofiler=false .. 2>&1 | tee file.log
> 
> stdout is not found in build.ninja.  I guess I never saw the problem since my
> scripts use tee.
> 
> To me, the problem is definitely in meson.  The output should never change for
> something that bash does.
> 

The idea is simple: /dev/stdout is a symlink to /proc/self/fd/1, which is
itself a symlink to the real output stream. In the case of tee, stdout is a
pipe, so python's "os.path.isfile" returns false. in the case of the >
redirection, the output stream _is_ a file (isfile follows symlinks).

Meson folks seem to want to fix this

Pierre
-- 
http://lists.linuxfromscratch.org/listinfo/blfs-dev
FAQ: http://www.linuxfromscratch.org/blfs/faq.html
Unsubscribe: See the above information page

Reply via email to