Hello, In a previous email I wrote that I am resuming the work of the httpfs translator.
As an exercise, I have started writing the httpfs translator from scratch. You can find the source code here: https://github.com/aculnaig/httpfs So far I have started digging into libnetfs and I have got the following: make -j$(nproc) make all-recursive make[1]: Entering directory '/home/demo/httpfs' Making all in src make[2]: Entering directory '/home/demo/httpfs/src' gcc -I/usr/include/i386-gnu -isystem /usr/include/mit-krb5 -isystem /usr/include/mit-krb5 -I/usr/include/p11-kit-1 -std=gnu99 -Wall -Wextra -g -O0 -o httpfs httpfs-httpfs.o httpfs-netfs.o -lcurl -lnetfs -lihash /usr/bin/ld: /usr/lib/gcc/i686-gnu/16/../../../i386-gnu/libnetfs.so: undefined reference to `netfs_attempt_mkdir' /usr/bin/ld: /usr/lib/gcc/i686-gnu/16/../../../i386-gnu/libnetfs.so: undefined reference to `netfs_attempt_chmod' /usr/bin/ld: /usr/lib/gcc/i686-gnu/16/../../../i386-gnu/libnetfs.so: undefined reference to `netfs_attempt_rename' /usr/bin/ld: /usr/lib/gcc/i686-gnu/16/../../../i386-gnu/libnetfs.so: undefined reference to `netfs_attempt_chauthor' /usr/bin/ld: /usr/lib/gcc/i686-gnu/16/../../../i386-gnu/libnetfs.so: undefined reference to `netfs_attempt_chflags' /usr/bin/ld: /usr/lib/gcc/i686-gnu/16/../../../i386-gnu/libnetfs.so: undefined reference to `netfs_report_access' /usr/bin/ld: /usr/lib/gcc/i686-gnu/16/../../../i386-gnu/libnetfs.so: undefined reference to `netfs_maxsymlinks' /usr/bin/ld: /usr/lib/gcc/i686-gnu/16/../../../i386-gnu/libnetfs.so: undefined reference to `netfs_attempt_link' /usr/bin/ld: /usr/lib/gcc/i686-gnu/16/../../../i386-gnu/libnetfs.so: undefined reference to `netfs_attempt_create_file' /usr/bin/ld: /usr/lib/gcc/i686-gnu/16/../../../i386-gnu/libnetfs.so: undefined reference to `netfs_attempt_statfs' /usr/bin/ld: /usr/lib/gcc/i686-gnu/16/../../../i386-gnu/libnetfs.so: undefined reference to `netfs_attempt_mkdev' /usr/bin/ld: /usr/lib/gcc/i686-gnu/16/../../../i386-gnu/libnetfs.so: undefined reference to `netfs_attempt_chown' /usr/bin/ld: /usr/lib/gcc/i686-gnu/16/../../../i386-gnu/libnetfs.so: undefined reference to `netfs_attempt_mkfile' /usr/bin/ld: /usr/lib/gcc/i686-gnu/16/../../../i386-gnu/libnetfs.so: undefined reference to `netfs_attempt_write' /usr/bin/ld: /usr/lib/gcc/i686-gnu/16/../../../i386-gnu/libnetfs.so: undefined reference to `netfs_attempt_read' /usr/bin/ld: /usr/lib/gcc/i686-gnu/16/../../../i386-gnu/libnetfs.so: undefined reference to `netfs_attempt_syncfs' /usr/bin/ld: /usr/lib/gcc/i686-gnu/16/../../../i386-gnu/libnetfs.so: undefined reference to `netfs_attempt_set_size' /usr/bin/ld: /usr/lib/gcc/i686-gnu/16/../../../i386-gnu/libnetfs.so: undefined reference to `netfs_attempt_unlink' collect2: error: ld returned 1 exit status make[2]: *** [Makefile:367: httpfs] Error 1 make[2]: Leaving directory '/home/demo/httpfs/src' make[1]: *** [Makefile:386: all-recursive] Error 1 make[1]: Leaving directory '/home/demo/httpfs' make: *** [Makefile:327: all] Error 2 My question is: do I really need to implement all these functions ? There is a nice way to tell the C compiler some functions are not needed/yet implemented and it can reference a default implementation ? Sincerely, Gianluca
