Hello,

I came across your project:
https://github.com/aculnaig/httpfs/tree/main

Your code interests me for my project GNU-AI: https://gnu-ai.org

Before going further, I have a question: is httpfs an HTTP server, or
is it a software layer for browsing web pages?

If it's a software layer, it would be highly relevant to my project,
which is still in development.

So far, I have coded a neural network, and I also have a collaborator:
https://github.com/gnu-ai

The goal is to develop an LLM inside GNU/Hurd itself, and naturally I
will need this LLM to be able to access the Internet.

I would be grateful if you could tell me more about your project. For
my part, I remain available if you have any questions about my own
project, or if you would like to join it.

Best regards,

Claire Ivanenka

---

On Fri, 2026-10-02 at 09:40 +0200, Gianluca Cannata wrote:
> 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

Reply via email to