Package Details: httpdirfs 1.2.7-2

Git Clone URL: https://aur.archlinux.org/httpdirfs.git (read-only, click to copy)
Package Base: httpdirfs
Description: A filesystem which allows you to mount HTTP directory listings
Upstream URL: https://github.com/fangfufu/httpdirfs
Licenses: GPL
Submitter: owentrigueros
Maintainer: owentrigueros
Last Packager: owentrigueros
Votes: 33
Popularity: 3.41
First Submitted: 2019-10-25 07:21 (UTC)
Last Updated: 2025-06-04 07:34 (UTC)

Latest Comments

1 2 3 4 Next › Last »

adv commented on 2025-06-05 17:10 (UTC) (edited on 2025-06-06 06:44 (UTC) by adv)

OK, so here's what I got.

First, I checked that my system can "see" your update:

$ paru -Qu httpdirfs
httpdirfs 1.2.7-1 -> 1.2.7-2

So, all is good, your update is "there". Next, here are the CFLAGS in /etc/makepkg.conf:

CFLAGS="-march=x86-64 -mtune=generic -O2 -pipe -fno-plt -fexceptions \
        -Wp,-D_FORTIFY_SOURCE=3 -Wformat -Werror=format-security \
        -fstack-clash-protection -fcf-protection \
        -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer"

Indeed, there is -Werror=format-security.

Also, local makepkg.conf:

$ cat /home/lurkingdaemon/.makepkg.conf
OPTIONS=(strip docs !libtool !staticlibs emptydirs zipman purge !debug !lto)

There's a bauh makepkg.conf and here are the diffs with global makepkg.conf:

$ diff --suppress-common-lines -y /etc/makepkg.conf /home/lurkingdaemon/.config/bauh/arch/makepkg.conf
#MAKEFLAGS="-j2"            <
COMPRESSXZ=(xz -c -z -)     <
COMPRESSZST=(zstd -c -T0 -) <
                            >
                            ># <generated by bauh>
                            >MAKEFLAGS="-j$(nproc)"
                            >COMPRESSXZ=(xz -c -z - --threads=0)
                            >COMPRESSZST=(zstd -c -z -q - --threads=0)
                            >BUILDENV=(!distcc !color  check !sign)

I don't know if the diffs are significant but it doesn't seem so.

Next step, uninstall all related packages and then try reinstalling:

$ paru -Rns httpdirfs # this also uninstalls gumbo-parser
$ paru -Rns debugedit pkgconf 
$ paru -Rns ttf-ms-win11-auto 

$ paru -S ttf-ms-win11-auto
the above failed cause pkgconf ain't there so try reinstalling

$ paru -S pkgconf
$ paru -S ttf-ms-win11-auto
success!

So, your latest update worked like a charm. Thanks for your feedback!

zuzavo commented on 2025-06-04 10:25 (UTC)

These are the reason why Arch linux doesn't support aur helpers. makepkg -sic and all goes fine.

owentrigueros commented on 2025-06-04 07:28 (UTC)

Thank you all for the recent comments. Regarding the compilation errors reported by @adv: using the default makepkg configuration and without AUR helpers, I only get warnings instead of errors. For example:

In function ‘Link_req_file_stat’,
    inlined from ‘LinkTable_uninitialised_fill’ at ../httpdirfs-1.2.7/src/link.c:242:17:
../httpdirfs-1.2.7/src/link.c:200:20: warning: call to ‘_curl_easy_setopt_err_long’ declared with attribute warning: curl_easy_setopt expects a long argument [-Wattribute-warning]
  200 |     CURLcode ret = curl_easy_setopt(curl, CURLOPT_NOBODY, 1);

The package compiles succesfully. Perhaps you have -Werror set in the CFLAGS variable in /etc/makepkg.conf?

As @mkurz pointed out, adding -std=gnu17 to c_args completely resolves the build issues. Warnings (if not using -Werror) and errors (if using -Werror) disappear.

I'll add that option and keep it until these functions are fixed upstream, it seems that the third argument should be 1L instead of 1.

adv commented on 2025-06-03 10:25 (UTC) (edited on 2025-06-03 15:40 (UTC) by adv)

I managed to install ttf-ms-win11-auto and httpdirfs with GCC 15 as follows.

First install the latest versions of httpdirfs dependencies:

debugedit
pkgconf
gumbo-parser

Then install httpdirfs and finally ttf-ms-win11-auto.

I could not figure it out with the typical AUR helpers (yay, paru, etc). Instead, I used bauh, a graphical package manager. Basically, the only one that I tried that works. pamac-cli is a disaster.

mkurz commented on 2025-06-03 06:55 (UTC)

It does not build anymore because GCC was bumped to version 15, which switches the default language version to gnu23. You can find more information here: https://gcc.gnu.org/gcc-15/porting_to.html

GCC 15 changes the default language version for C compilation from -std=gnu17 to -std=gnu23. If your code relies on older versions of the C standard, you will need to either add -std= to your build flags, or port your code to C23.

To fix the build we can just switch back to gnu17. In line 16 of the PKGBUILD you need to add -std=gnu17 to c_args:

-  arch-meson "$pkgname-$pkgver" build
+  arch-meson "$pkgname-$pkgver" build -Dc_args="-std=gnu17"

Aznorth commented on 2025-06-02 20:13 (UTC)

httpsdirfs dependency expects of gumbo-parser to provide libgumbo.so.2, but the latter only provides libgumbo.so, libgumbo.so.3, and libgumbo.so.3.0.0, as what pacman -Ql gumbo-parser reveals.

Here’s the log when building ttf-ms-win11-auto :

==> Starting prepare()...
- Examining locally available fonts
- Fonts are missing
- Mount filesystems as a non-privileged user: allowed
- Downloading fonts directly
  - Mounting HTTP file
httpdirfs: error while loading shared libraries: libgumbo.so.2: cannot open shared object file: No such file or directory
==> ERROR: A failure occurred in prepare().
    Aborting...
 -> error making: ttf-ms-win11-auto-exit status 4
 -> Failed to install the following packages. Manual intervention is required:
ttf-ms-win11-auto - exit status 4

adv commented on 2025-06-02 16:07 (UTC) (edited on 2025-06-03 15:42 (UTC) by adv)

Trying to install this package as it is a dependency for ttf-ms-win11-auto and I get the following error:

Found ninja-1.12.1 at /usr/bin/ninja
INFO: autodetecting backend as ninja                                                                                              
INFO: calculating backend command to run: /usr/bin/ninja -C /home/markos/.cache/paru/clone/httpdirfs/src/build
ninja: Entering directory `/home/markos/.cache/paru/clone/httpdirfs/src/build'
[10/12] Compiling C object httpdirfs.p/src_link.c.o
FAILED: httpdirfs.p/src_link.c.o 
cc -Ihttpdirfs.p -I. -I../httpdirfs-1.2.7 -I/usr/include/fuse3 -I/usr/include/uuid -fdiagnostics-color=always -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -Werror -march=x86-64 -mtune=generic -O2 -pipe -fno-plt -fexceptions -Wp,-D_FORTIFY_SOURCE=3 -Wformat -Werror=format-security -fstack-clash-protection -fcf-protection -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -fPIE -Wstrict-prototypes -pthread -D_GNU_SOURCE '-DVERSION="1.2.7"' -MD -MQ httpdirfs.p/src_link.c.o -MF httpdirfs.p/src_link.c.o.d -o httpdirfs.p/src_link.c.o -c ../httpdirfs-1.2.7/src/link.c
In file included from ../httpdirfs-1.2.7/src/network.h:13,
                 from ../httpdirfs-1.2.7/src/cache.h:15,
                 from ../httpdirfs-1.2.7/src/link.h:12,
                 from ../httpdirfs-1.2.7/src/link.c:1:
In function ‘Link_req_file_stat’,
    inlined from ‘LinkTable_uninitialised_fill’ at ../httpdirfs-1.2.7/src/link.c:242:17:
../httpdirfs-1.2.7/src/link.c:200:20: error: call to ‘_curl_easy_setopt_err_long’ declared with attribute warning: curl_easy_setopt expects a long argument [-Werror=attribute-warning]
  200 |     CURLcode ret = curl_easy_setopt(curl, CURLOPT_NOBODY, 1);
      |                    ^~~~~~~~~~~~~~~~
cc1: all warnings being treated as errors
ninja: build stopped: subcommand failed.
==> ERROR: A failure occurred in build().
    Aborting...
error: failed to build 'httpdirfs-1.2.7-1': 
error: packages failed to build: httpdirfs-1.2.7-1

I hope the above error text is helpful.

Cheers.

owentrigueros commented on 2025-01-14 08:14 (UTC)

Hi @TheBill2001,

I've just tried to compile the package appending -fuse-ld=mold to LDFLAGS in /etc/makepkg.conf, and it works.

Have you installed mold?

TheBill2001 commented on 2025-01-14 05:29 (UTC)

Build failed if using mold linker.

collect2: fatal error: cannot find ‘ld’