GTkorvo / ffs

FFS is a middleware library for data communication, including representation, processing and marshaling that preserves the performance of traditional approaches while relaxing the requirement of a priori knowledge and providing complex run-time flexibility. FFS provides for highly efficient binary data communication, XML-like examination of unknown data, and both third party and in situ data processing via dynamic code generation. All of these capabilities are fully dynamic at run-time, without requiring a priori agreements or knowledge of the exact form of the data being communicated or analyzed.
Other
0 stars 4 forks source link

fatal error: uio.h: No such file or directory #62

Open topazus opened 1 year ago

topazus commented 1 year ago

What library provides the uio.h header file?

[ruby@fedora ffs-909fac816d959a0c48fa33a9373e96eaf56f21ca]$ cmake --build build/ -j20
[  2%] Built target docs
[ 32%] Built target ffs
[ 40%] Built target format_cmd
[ 40%] Built target format_dump
[ 40%] Built target format_server
[ 43%] Built target format_info
[ 46%] Built target compat_test
[ 48%] Building C object ffs/tests/CMakeFiles/context_test.dir/context_test.c.o
[ 53%] Built target align_test
[ 60%] Built target scale_test
[ 60%] Built target FFSdump
[ 61%] Built target format_test
[ 65%] Built target self_format_test
[ 68%] Built target get_set_test
[ 73%] Built target FFSsort
[ 73%] Built target adios2_bug
[ 79%] Built target fortran_test
[ 83%] Built target context_test2
[ 83%] Built target FFScp
[ 87%] Built target ffs_index_test
[ 90%] Built target ffs_write
[ 93%] Built target ffs_file_test
[ 97%] Built target test_file_unique
/home/ruby/rpmbuild/SOURCES/ffs-909fac816d959a0c48fa33a9373e96eaf56f21ca/ffs/tests/context_test.c:12:10: fatal error: uio.h: No such file or directory
   12 | #include <uio.h>
      |          ^~~~~~~
compilation terminated.
gmake[2]: *** [ffs/tests/CMakeFiles/context_test.dir/build.make:76: ffs/tests/CMakeFiles/context_test.dir/context_test.c.o] Error 1
gmake[1]: *** [CMakeFiles/Makefile2:1411: ffs/tests/CMakeFiles/context_test.dir/all] Error 2
gmake: *** [Makefile:146: all] Error 2
eisenhauer commented 1 year ago

Hi. uio.h is a POSIX system file, cononically sys/uio.h, but include/sys is also searched by many compilers so uio.h tends to work. I'm working on a PR to FFS that will enable builds on windows and which fixes this and many other issues. I should be merging that soon, but if you don't want to wait you can simply change this line to include sys/uio.h rather than simply uio.h.