Skip to content

Unexpected version display from static binary #1313

Open
@sarnold

Description

@sarnold

Static binary workflow from git checkouts of libpcap-1.10.5 and tcpdump-4.99.5 in github container muslcc/x86_64:x86_64-linux-musl using "local libpcap" where both git checkouts are side-by-side:

$ tree -d -L1 libpcap/ tcpdump/
libpcap/
├── ChmodBPF
├── cmake
├── doc
├── missing
├── pcap
├── rpcapd
├── testprogs
└── tests
tcpdump/
├── cmake
├── doc
├── missing
└── tests

Where config.h for each contains:

#define PACKAGE_NAME "pcap"
#define PACKAGE_STRING "pcap 1.10.5"
#define PACKAGE_TARNAME "pcap"
#define PACKAGE_VERSION "1.10.5"

and

#define PACKAGE_NAME "tcpdump"
#define PACKAGE_STRING "tcpdump 4.99.5"
#define PACKAGE_TARNAME "tcpdump"
#define PACKAGE_VERSION "4.99.5"

Running the resultant binary has unexpected output:

$ ./tcpdump --version
tcpdump version 1.10.5
libpcap version unknown
64-bit build, 64-bit time_t

Built using the scripts and workflows on the tcpdump-499 branch here: https://github.com/VCTLabs/static-toolbox (the latest release page has the tcpdump artifacts.

Some Alpine container build tool versions:

(4/89) Installing autoconf (2.71-r0)
(5/89) Installing automake (1.16.3-r0)
(6/89) Installing bison (3.7.6-r0)
(17/89) Installing libgcc (10.3.1_git20210424-r2)
(19/89) Installing libstdc++ (10.3.1_git20210424-r2)
(21/89) Installing cmake (3.20.6-r0)
(37/89) Installing gmp (6.2.1-r1)
(38/89) Installing libgmpxx (6.2.1-r1)
(41/89) Installing linux-headers (5.10.41-r0)
(57/89) Installing make (4.3-r0)
(58/89) Installing patch (2.7.6-r7)
(68/89) Installing libcap-ng (0.8.2-r0)

I also get the same version result building manually on a current Gentoo desktop.

If building from master, I get a a different unexpected result:

$ ./tcpdump --version
tcpdump version 1.11.0-PRE-GIT
libpcap version 1.11.0-PRE-GIT (with TPACKET_V3)
64-bit build, 64-bit time_t
  • This is not a security issue.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions