On 04/25/2013 07:08 PM, Peng Yu wrote: > Hi, > > I see stdbuf available in coreutils. > > http://www.gnu.org/software/coreutils/manual/html_node/stdbuf-invocation.html > > But I don't find it in my system. Was stdbuf just introduced recently? > Or there is something wrong with my installation? > > ~$ wc --version > wc (GNU coreutils) 8.21 > Copyright (C) 2013 Free Software Foundation, Inc. > License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>. > This is free software: you are free to change and redistribute it. > There is NO WARRANTY, to the extent permitted by law. > > Written by Paul Rubin and David MacKenzie. > ~$ which stdbuf 2> /dev/null || echo $? > 1 > ~$ uname -o > Darwin
So there are various ways to support shared libs on systems, and I wanted to keep the build as simple as possible. stdbuf uses LD_PRELOAD to load a shared lib to adjust the buffering for the specified program, so we'd need to have access to a darwin system for example to test that this or an equivalent mechanism works. Specific support that's checked for at build time is; In configure.ac we check that it's an ELF system with GCC. Also in src/local.mk we add the -fPIC -shared flags to GCC. Note I think newer GCC on Mac OS X support the -shared option, while older versions required some other flag. thanks, Pádraig.
