Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Provide a statically compiled fio binary or appimage containing faio #1832

Open
snail2sky opened this issue Oct 23, 2024 · 6 comments
Open

Comments

@snail2sky
Copy link

Currently, it is too troublesome to run fio on different Linux distributions. Different operating systems rely on different libraries.
Moreover, sometimes it is still an offline environment, and there is no way to download fio through the software package warehouse. Therefore, I hope the author can provide a static compiled version or appimage version of fio.

@russfellows
Copy link

I 2nd and 3rd this recommendation. One MAJOR issue with FIO, is that there is no documented method for how to install the necessary libraries required for building FIO with support for various I/O engines. Ideally, a statically linked FIO would be configured with all I/O engines, solving a multitude of issues for users wishing to use I/O engines that are not easily configured (nor documented as to how to do so), for RDMA, NFS, HTTP, etc. etc. Again, a statically linked FIO would solve this need.

@axboe
Copy link
Owner

axboe commented Dec 29, 2024

Anyone can setup a build system for this and have it generate binaries every time a release is tagged. It's not something I'm personally interested in doing, but would be happy to see someone else do it.

@vincentkfu
Copy link
Collaborator

One of our CI scripts installs various libraries for Debian- and RedHat-based distributions to enable a good number of ioengines:

https://github.com/axboe/fio/blob/master/ci/actions-install.sh

@russfellows
Copy link

Vincent, I see the actions. However, there are a dearth of ioengines installed in these definitions. None of them include http, few include nfs, rdma, etc. etc. These current actions install a very limited, and different set of ioengines on various platforms, which is not at all the intention of this thread. The intent is quite the opposite, which is to have a multi (linux) platform set of fio executables that are statically linked, and include all ioengines possible.

@HuangShumin
Copy link
Contributor

I suffer from running fio on different arch&distro as well, a statically-linked binary with rdma/nfs engine is required.
Personally I use latest Debian 12.8 to build fio statically, however some weird performance issue appeared. Maybe I should try building fio statically with RHEL-like distro.

@vincentkfu
Copy link
Collaborator

http builds are broken: #1810
All the CI platforms except Windows include nfs.
The Debian-based distributions include rdma.

I have no objection to the original purpose of this ticket. Until someone does the work to resolve it, feel free to inspect the CI scripts in case they install a library for an ioengine that you need.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

5 participants