Yeah, we should be able to provide a statically linked binary. It is interesting that the binary is dynamically linked. That must be caused by the way it gets built through beats-packer. When using the straight make crosscompile
target for the project it generates mostly all statically linked binaries.
$ make crosscompile
$ cd bin
$ file *
filebeat-darwin-386: Mach-O i386 executable
filebeat-darwin-amd64: Mach-O 64-bit x86_64 executable
filebeat-dragonfly-amd64: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), statically linked, not stripped
filebeat-freebsd-386: ELF 32-bit LSB executable, Intel 80386, version 1 (FreeBSD), statically linked, not stripped
filebeat-freebsd-amd64: ELF 64-bit LSB executable, x86-64, version 1 (FreeBSD), statically linked, not stripped
filebeat-freebsd-arm: ELF 32-bit LSB executable, ARM, EABI5 version 1 (FreeBSD), statically linked, not stripped
filebeat-linux-386: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), statically linked, not stripped
filebeat-linux-386-387: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), statically linked, not stripped
filebeat-linux-amd64: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), statically linked, not stripped
filebeat-linux-arm: ELF 32-bit LSB executable, ARM, EABI5 version 1 (SYSV), statically linked, not stripped
filebeat-linux-arm-arm5: ELF 32-bit LSB executable, ARM, EABI5 version 1 (SYSV), statically linked, not stripped
filebeat-linux-arm64: ELF 64-bit LSB executable, ARM aarch64, version 1 (SYSV), statically linked, not stripped
filebeat-linux-ppc64: ELF 64-bit MSB executable, 64-bit PowerPC or cisco 7500, version 1 (SYSV), statically linked, not stripped
filebeat-linux-ppc64le: ELF 64-bit LSB executable, 64-bit PowerPC or cisco 7500, version 1 (SYSV), statically linked, not stripped
filebeat-netbsd-386: ELF 32-bit LSB executable, Intel 80386, version 1 (NetBSD), statically linked, for NetBSD 5.99, not stripped
filebeat-netbsd-amd64: ELF 64-bit LSB executable, x86-64, version 1 (NetBSD), statically linked, for NetBSD 5.99, not stripped
filebeat-netbsd-arm: ELF 32-bit LSB executable, ARM, version 1 (NetBSD), statically linked, for NetBSD 5.99, not stripped
filebeat-openbsd-386: ELF 32-bit LSB executable, Intel 80386, version 1 (OpenBSD), statically linked, for OpenBSD, not stripped
filebeat-openbsd-amd64: ELF 64-bit LSB executable, x86-64, version 1 (OpenBSD), statically linked, for OpenBSD, not stripped
filebeat-openbsd-arm: ELF 32-bit LSB executable, ARM, version 1 (OpenBSD), statically linked, for OpenBSD, not stripped
filebeat-solaris-amd64: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib/amd64/ld.so.1, not stripped
filebeat-windows-386.exe: PE32 executable (console) Intel 80386 (stripped to external PDB), for MS Windows
filebeat-windows-amd64.exe: PE32+ executable (console) x86-64 (stripped to external PDB), for MS Windows
Looking at the binary from the download site I get:
$ curl https://download.elastic.co/beats/filebeat/filebeat-1.0.0-rc1-x86_64.tar.gz | tar xzv^C
$ file filebeat-1.0.0-rc1-x86_64/filebeat
filebeat-1.0.0-rc1-x86_64/filebeat: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, not stripped
I created the issue below to track the problem. In the meantime you could download a binary from S3, which has binaries for each change to the master branch.