Download raw body.
New ZoneMinder Port
On Sun, Aug 9, 2026 at 1:11 AM Stuart Henderson <stu@spacehopper.org> wrote:
>
> On 2026/08/08 23:06, vansid wrote:
> > Hi, folks. I'm working on my first OpenBSD port of the video
> > surveillance project called ZoneMinder
>
> Start by reading old posts from
> https://marc.info/?l=openbsd-ports&w=2&r=1&s=zoneminder&q=b
Thanks to everyone for your help, I definitely missed a step. Because
I knew this project would use cmake, I was following an example from
this site, but I totally skipped the PLIST step:
https://briancallahan.net/blog/20210627.html (whoops!).
So now I have two questions:
1) any tips or existing sites/blog posts that could help me understand
how to build/test a port *without* root access, and
2) can someone help with the error below?
From an operating system software porting perspective, I've gotten
ZoneMinder to properly build, install, and run on OpenBSD 7.9 in a
generic sense (i.e., not under the ports process). I'm been
submitting a few PRs via GitHub to the main project, which now has a
separate 'openbsd' branch, so I think the project has matured a lot
and seems to behave mostly. Right now I'm just trying to get the
actual port to work properly, and I've run into another issue that I
haven't been able to find anything on. (Another porter noted I had
some duplication in the package name, which I think I fixed). During
the final 'make install' step, there are tons of errors about files
not existing, looks like every file in the ZoneMinder project but for
some reason under the gpatch directory:
[one example of many 'does not exist' errors under the gpatch directory]
...
Error: /usr/ports/pobj/gpatch-2.8/fake-amd64/usr/local/share/zoneminder/www/views/view_video.php
does not exist
...
pkg_create: can't continue
*** Error 1 in /usr/ports/devel/gpatch
(/usr/ports/infrastructure/mk/bsd.port.mk:2243
'/usr/ports/packages/amd64/all/gpatch-2.8.tgz': @trap ...)
*** Error 2 in /usr/ports/devel/gpatch
(/usr/ports/infrastructure/mk/bsd.port.mk:2727 '_internal-package':
@case X${_DEPENDS_CACHE} in X) _...)
*** Error 2 in /usr/ports/devel/gpatch
(/usr/ports/infrastructure/mk/bsd.port.mk:2706 'package': @:; cd
/usr/ports/devel/gpatch && PKGPATH=d...)
*** Error 2 in /usr/ports/devel/gpatch
(/usr/ports/infrastructure/mk/bsd.port.mk:2256
'/var/db/pkg/gpatch-2.8/+CONTENTS': @cd /usr/ports/dev...)
*** Error 2 in /usr/ports/devel/gpatch
(/usr/ports/infrastructure/mk/bsd.port.mk:2706 'install':
@lock=gpatch-2.8; export _LOCKS_HELD=" zon...)
*** Error 1 in /usr/ports/devel/meson
(/usr/ports/infrastructure/mk/bsd.port.mk:2386
'/usr/ports/pobj/meson-1.10.2/.dep-devel-gpatch': @unse...)
*** Error 2 in /usr/ports/devel/meson
(/usr/ports/infrastructure/mk/bsd.port.mk:2798
'/usr/ports/pobj/meson-1.10.2/.extract_done': @cd /usr/...)
*** Error 2 in /usr/ports/devel/meson
(/usr/ports/infrastructure/mk/bsd.port.mk:2235
'/usr/ports/packages/amd64/all/meson-1.10.2v0.tgz': @cd...)
*** Error 2 in /usr/ports/devel/meson
(/usr/ports/infrastructure/mk/bsd.port.mk:2727 '_internal-package':
@case X${_DEPENDS_CACHE} in X) _D...)
*** Error 2 in /usr/ports/devel/meson
(/usr/ports/infrastructure/mk/bsd.port.mk:2706 'package': @:; cd
/usr/ports/devel/meson && PKGPATH=dev...)
*** Error 2 in /usr/ports/devel/meson
(/usr/ports/infrastructure/mk/bsd.port.mk:2256
'/var/db/pkg/meson-1.10.2v0/+CONTENTS': @cd /usr/ports/...)
*** Error 2 in /usr/ports/devel/meson
(/usr/ports/infrastructure/mk/bsd.port.mk:2706 'install':
@lock=meson-1.10.2v0; export _LOCKS_HELD=" ...)
*** Error 1 in /usr/ports/devel/desktop-file-utils
(/usr/ports/infrastructure/mk/bsd.port.mk:2386
'/usr/ports/pobj/desktop-file-utils-0.28/.dep-STEM-ge-1.10.2v0-devel-meson')
*** Error 2 in /usr/ports/devel/desktop-file-utils
(/usr/ports/infrastructure/mk/bsd.port.mk:2798
'/usr/ports/pobj/desktop-file-utils-0.28/.extract_done')
*** Error 2 in /usr/ports/devel/desktop-file-utils
(/usr/ports/infrastructure/mk/bsd.port.mk:2235
'/usr/ports/packages/amd64/all/desktop-file-utils-0.28p0.tgz')
*** Error 2 in /usr/ports/devel/desktop-file-utils
(/usr/ports/infrastructure/mk/bsd.port.mk:2727 '_internal-package':
@case X${_DEPENDS_CAC...)
*** Error 2 in /usr/ports/devel/desktop-file-utils
(/usr/ports/infrastructure/mk/bsd.port.mk:2706 'package': @:; cd
/usr/ports/devel/desktop...)
*** Error 2 in /usr/ports/devel/desktop-file-utils
(/usr/ports/infrastructure/mk/bsd.port.mk:2256
'/var/db/pkg/desktop-file-utils-0.28p0/+CONTENTS')
*** Error 2 in /usr/ports/devel/desktop-file-utils
(/usr/ports/infrastructure/mk/bsd.port.mk:2706 'install':
@lock=desktop-file-utils-0.28p0...)
*** Error 1 in . (/usr/ports/infrastructure/mk/bsd.port.mk:2386
'/usr/ports/pobj/zoneminder-1.39.17/.dep-devel-desktop-file-utils':
@unset _...)
*** Error 2 in . (/usr/ports/infrastructure/mk/bsd.port.mk:2258
'/var/db/pkg/zoneminder-1.39.17/+CONTENTS': @cd
/usr/ports/mystuff/security/...)
*** Error 2 in /usr/ports/mystuff/security/zoneminder
(/usr/ports/infrastructure/mk/bsd.port.mk:2706 'install':
@lock=zoneminder-1.39.17; e...)
It seems that several other packages need to be installed to satisfy
dependencies, including desktop-file-utils, which depends on meson,
which depends on gpatch. It looks like gpatch 2.8 builds and
installs, but then there is some expectation to find the ZoneMinder
files underneath the '/usr/ports/pobj/gpatch-2.8/fake-amd64/'
directory. I'll note that outside of the OpenBSD ports process I was
able to compile and install ZoneMinder without gpatch, so it's not
clear to me what role this plays. Any help is appreciated.
-vansid
New ZoneMinder Port