I tested the package with included llhttp as in the below patch and it's working fine for me. So, OK for that diff keeping llhttp.

On 10/22/25 8:51 AM, Theo Buehler wrote:
On Wed, Oct 22, 2025 at 08:25:04AM +0200, Renaud Allard wrote:
Hello,

I have upgraded some servers to 7.8. One of them is running ocserv.
However ocserv package (fetched from ftp.fr and ftp.eu) seems broken.

tar xvzf ocserv-1.3.0p0.tgz

+CONTENTS
+DESC
sbin/ocserv
sbin/ocserv-worker
man/man8/ocserv.8
bin/occtl
bin/ocpasswd
man/man8/occtl.8
man/man8/ocpasswd.8
share/examples/ocserv/sample.config
share/examples/ocserv/ocserv-fw
share/examples/ocserv/profile.xml
tar: Removing leading / from absolute path names in the archive
etc/rc.d/ocserv
share/examples/ocserv/sample.passwd

ldd sbin/ocserv

sbin/ocserv:
ld.so: ocserv: can't load library 'libllhttp.so.0.0'
sbin/ocserv: signal 9

If you haven't installed the pkglocatedb package, install it. Then

$ pkglocate libllhttp
llhttp-9.3.0p0:www/llhttp:/usr/local/lib/libllhttp.so.0.0
llhttp-9.3.0p0:www/llhttp:/usr/local/lib/pkgconfig/libllhttp.pc
$ doas pkg_add llhttp

will work around this.

I did rebuild the package on a server running 7.8 and the package doesn't
have the issue. Any idea how to solve that?

This is what we call a hidden dependency. The configure script picks up
llhttp if it happens to be installed on the build machine at configure
time. This will work on that machine whether llhttp is present or not.
However, if llhttp was present, this package won't work if llhttp is
missing on the machine you want to run it on. The missing dependency can
also cause build-time failures on the bulk build machines if llhttp is
removed during the build of ocserv since its presence appears no longer
needed.

There are two fixes for this: 1. add or 2. disable the dependency. Since
llhttp is cheap, I see no real reason to disable it. Disabling would
be by passing --without-llhttp to the CONFIGURE_ARGS. Which way we go
is your call as a maintainer.

Index: Makefile
===================================================================
RCS file: /cvs/ports/net/ocserv/Makefile,v
diff -u -p -r1.61 Makefile
--- Makefile    28 Jun 2025 00:36:32 -0000      1.61
+++ Makefile    22 Oct 2025 06:33:28 -0000
@@ -2,7 +2,7 @@ COMMENT=        server implementing the AnyConn
DISTNAME= ocserv-1.3.0
  EXTRACT_SUFX= .tar.xz
-REVISION=      0
+REVISION=      1
CATEGORIES= net @@ -13,7 +13,7 @@ MAINTAINER = Renaud Allard <renaud@allar
  # GPLv2+
  PERMIT_PACKAGE=       Yes
-WANTLIB+= c curses ev gnutls lz4 m nettle oath pam protobuf-c
+WANTLIB+=      c curses ev gnutls llhttp lz4 m nettle oath pam protobuf-c
  WANTLIB+=     radcli readline talloc
SITES= https://www.infradead.org/ocserv/download/
@@ -30,7 +30,8 @@ LIB_DEPENDS=  archivers/lz4 \
                net/radcli>=1.2.5 \
                security/gnutls \
                security/oath-toolkit \
-               security/openpam
+               security/openpam \
+               www/llhttp
  TEST_DEPENDS= net/openconnect \
                shells/bash \
                sysutils/coreutils \


Attachment: smime.p7s
Description: S/MIME Cryptographic Signature

Reply via email to