F-Stack / f-stack

F-Stack is an user space network development kit with high performance based on DPDK, FreeBSD TCP/IP stack and coroutine API.
http://www.f-stack.org
Other
3.87k stars 899 forks source link

Fix netstat tool compilation on linux #843

Closed tarasko closed 1 month ago

jfb8856606 commented 1 month ago

Show your compilation platform. I didn't find this problem on x86_64 and ubuntu-24.04.

tarasko commented 1 month ago

Show your compilation platform. I didn't find this problem on x86_64 and ubuntu-24.04.

Hm, interesting. I was compiling on ubuntu 22.04 x86_64

$ uname -a
Linux *** 6.11.1 #1 SMP PREEMPT_DYNAMIC Thu Oct  3 20:37:00 CEST 2024 x86_64 x86_64 x86_64 GNU/Linux
$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description:    Ubuntu 22.04.5 LTS
Release:    22.04
Codename:   jammy

My ubuntu has the following bash, awk and make versions:

$ bash --version
GNU bash, version 5.1.16(1)-release (x86_64-pc-linux-gnu)

$ awk -W version
mawk 1.3.4 20200120

$ make -v
GNU Make 4.3
Built for x86_64-pc-linux-gnu

I'm not sure what is going on regarding escaping special symbols here. It seems like escaping is done by awk, but also by /bin/sh or /bin/bash?

Most likely my check for uname Linux is too broad and instead there should be a check for a specific shell or awk. I don't have FreeBSD to check what is used there to run that target.

jfb8856606 commented 1 month ago

There is something wrong with mawk, so we added some instructions in README:

# On Ubuntu, use gawk instead of the default mawk.
#sudo apt-get install gawk  # or execute `sudo update-alternatives --config awk` to choose gawk.