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
