[Top][All Lists]

[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 ( .
> 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/ __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 to: -fPIC $(AM_CFLAGS)
This is correct I think according to:

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

 -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.


reply via email to

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