coreutils
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Question about stdbuf on OpenWRT


From: Pádraig Brady
Subject: Re: Question about stdbuf on OpenWRT
Date: Sun, 18 Jun 2017 12:08:10 -0700
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101 Thunderbird/45.8.0

On 17/06/17 22:40, Nicholas Fitzkee wrote:
> Hi all,
> 
> I'm trying to use stdbuf on OpenWRT and I'm having some problems getting the
> correct behavior.  As I'm learning, cross-compiling is not easy, so I'm not
> sure if this is a bug or if I'm simply doing something wrong.  Probably the
> latter.
> 
> My application is rather convoluted, but I found a very nice test case on
> the openwrt website (https://github.com/openwrt/packages/issues/1674) .
> Running the following command buffers icmp entries when passed into awk:
> 
> tcpdump -eni eth0 -v icmp | awk '{print $1}'
> 
> If I ping an external website, the output of tcpdump is buffered so that awk
> prints several lines at a time.

Note stdbuf only controls stdio buffering.
I think tcpdump has other internal buffering for efficiency
so to disable that you probably have to pass the --immediate-mode
option to tcpdump?

> The following command should fix this:
> 
> stdbuf -oL tcpdump -eni eth0 -v icmp | awk '{print $1}'
> 
> On my router, I get the following error message:
> 
> root@DD-WRT:/opt/bin# stdbuf -oL tcpdump -eni eth0 icmp
> Error relocating /opt/bin/libstdbuf.so: __fprintf_chk: symbol not found

Blerg. Yes this looks like a cross compile issue.
Specifically it looks like you're cross compiling with the FORTIFY_SOURCE
in your CFLAGS, while support for that is not present in your libc.
Note we set CFLAGS for libstdbuf.so to: -fPIC $(AM_CFLAGS)
This is correct I think according to:
https://www.gnu.org/software/automake/manual/html_node/Flag-Variables-Ordering.html

So I'd look at getting these into the CFLAGS somehow when compiling the shared 
lib:

 -fno-stack-protector -D_FORTIFY_SOURCE=0

> root@DD-WRT:/opt/bin# stdbuf -oL date
> Sat Jun 17 23:45:49 CDT 2017

It's surprising that worked.

cheers,
Pádraig



reply via email to

[Prev in Thread] Current Thread [Next in Thread]