[Bug 290971] enabling libnfs option causes build failure in fio built from ports

From: <bugzilla-noreply_at_freebsd.org>
Date: Wed, 12 Nov 2025 12:29:06 UTC
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=290971

            Bug ID: 290971
           Summary: enabling libnfs option causes build failure in fio
                    built from ports
           Product: Ports & Packages
           Version: Latest
          Hardware: arm
                OS: Any
            Status: New
          Severity: Affects Only Me
          Priority: ---
         Component: Individual Port(s)
          Assignee: krion@FreeBSD.org
          Reporter: void@f-m.fm
          Assignee: krion@FreeBSD.org
             Flags: maintainer-feedback?(krion@FreeBSD.org)

Hi,

ports is at:
% doas git -C /usr/ports rev-list --count --first-parent HEAD
725588

OS built today 16.0-CURRENT #0 GENERIC-NODEBUG arm 1600004 1600004 (armv7)

fio with libnfs option enabled and built like so:

# make clean && make MAKE_JOBS_UNSAFE=yes

errors out here:

cc   -L/usr/local/lib -rdynamic -o fio crc/crc16.o crc/crc32.o
crc/crc32c-arm64.o crc/crc32c-intel.o crc/crc32c.o crc/crc64.o crc/crc7.o
crc/crct10dif_common.o crc/fnv.o crc/md5.o crc/murmur3.o crc/sha1.o
crc/sha256.o crc/sha3.o crc/sha512.o crc/test.o crc/xxhash.o lib/axmap.o
lib/bloom.o lib/flist_sort.o lib/gauss.o lib/getrusage.o lib/hweight.o
lib/ieee754.o lib/lfsr.o lib/memalign.o lib/memcpy.o lib/mountcheck.o
lib/num2str.o lib/output_buffer.o lib/pattern.o lib/prio_tree.o lib/rand.o
lib/rbtree.o lib/strntol.o lib/zipf.o gettime.o ioengines.o init.o stat.o log.o
time.o filesetup.o eta.o verify.o memory.o io_u.o parse.o fio_sem.o rwlock.o
pshared.o options.o fio_shared_sem.o smalloc.o filehash.o profile.o debug.o
engines/cpu.o engines/mmap.o engines/sync.o engines/null.o engines/net.o
engines/ftruncate.o engines/fileoperations.o engines/exec.o server.o client.o
iolog.o backend.o libfio.o flow.o cconv.o gettime-thread.o helpers.o json.o
idletime.o td_error.o profiles/tiobench.o profiles/act.o io_u_queue.o
filelock.o workqueue.o rate-submit.o optgroup.o helper_thread.o steadystate.o
zone-dist.o zbd.o dedupe.o dataplacement.o engines/nfs.o engines/posixaio.o
oslib/asprintf.o oslib/statx.o trim.o fio.o lex.yy.o y.tab.o -lfl -lz 
-lpthread -lm   -lpthread -lrt 
ld: error: undefined symbol: nfs_pwrite_async
>>> referenced by nfs.c
>>>               engines/nfs.o:(fio_libnfs_queue)

ld: error: undefined symbol: nfs_pread_async
>>> referenced by nfs.c
>>>               engines/nfs.o:(fio_libnfs_queue)

ld: error: undefined symbol: nfs_get_error
>>> referenced by nfs.c
>>>               engines/nfs.o:(fio_libnfs_queue)
>>> referenced by nfs.c
>>>               engines/nfs.o:(fio_libnfs_open)
>>> referenced by nfs.c
>>>               engines/nfs.o:(fio_libnfs_open)
>>> referenced 1 more times

ld: error: undefined symbol: nfs_service
>>> referenced by nfs.c
>>>               engines/nfs.o:(fio_libnfs_getevents)

ld: error: undefined symbol: nfs_get_fd
>>> referenced by nfs.c
>>>               engines/nfs.o:(fio_libnfs_getevents)

ld: error: undefined symbol: nfs_which_events
>>> referenced by nfs.c
>>>               engines/nfs.o:(fio_libnfs_getevents)

ld: error: undefined symbol: nfs_umount
>>> referenced by nfs.c
>>>               engines/nfs.o:(fio_libnfs_cleanup)

ld: error: undefined symbol: nfs_destroy_context
>>> referenced by nfs.c
>>>               engines/nfs.o:(fio_libnfs_cleanup)

ld: error: undefined symbol: nfs_open
>>> referenced by nfs.c
>>>               engines/nfs.o:(fio_libnfs_open)

ld: error: undefined symbol: nfs_init_context
>>> referenced by nfs.c
>>>               engines/nfs.o:(fio_libnfs_open)

ld: error: undefined symbol: nfs_parse_url_full
>>> referenced by nfs.c
>>>               engines/nfs.o:(fio_libnfs_open)

ld: error: undefined symbol: nfs_mount
>>> referenced by nfs.c
>>>               engines/nfs.o:(fio_libnfs_open)

ld: error: undefined symbol: nfs_destroy_url
>>> referenced by nfs.c
>>>               engines/nfs.o:(fio_libnfs_open)

ld: error: undefined symbol: nfs_close
>>> referenced by nfs.c
>>>               engines/nfs.o:(fio_libnfs_close)
cc: error: linker command failed with exit code 1 (use -v to see invocation)
gmake: *** [Makefile:600: fio] Error 1
*** Error code 1

Stop.
make[1]: stopped making
"/usr/ports/benchmarks/fio/work/.stage_done.fio._usr_local" in
/usr/ports/benchmarks/fio
*** Error code 1

Stop.
make: stopped making "all" in /usr/ports/benchmarks/fio

But if the libnfs option is not enabled, fio builds fine.

libnfs is installed:

Nov 12 11:34:03 rpi2b-1 pkg-static[62553]: libnfs-5.0.2_1 installed

-- 
You are receiving this mail because:
You are the assignee for the bug.