As pointed out there is an openbsd wip port for zoneminder. So I tried it. I put together a spare server (x86) with the latest snapshot of openbsd and ports. Then I copied in the wip port for zoneminder and did a make build. It got right down to the build of the zoneminder code before it quit with the error below. I sort of get the idea of what is wrong, but have no clue as to how to fix it. Does anyone have any quick suggestions?
[ 27%] Building CXX object src/CMakeFiles/zm.dir/zm_image.cpp.o cd /usr/ports/pobj/zoneminder-1.29.0/build-i386/src && /usr/ports/pobj/zoneminder-1.29.0/bin/c++ -I/usr/ports/pobj/zoneminder-1.29.0/build-i386/src -I/usr/ports/pobj/zoneminder-1.29.0/ZoneMinder-1.29.0/src -I/usr/ports/pobj/zoneminder-1.29.0/build-i386 -I/usr/local/include -O2 -pipe -Wall -D__STDC_CONSTANT_MACROS -O2 -o CMakeFiles/zm.dir/zm_image.cpp.o -c /usr/ports/pobj/zoneminder-1.29.0/ZoneMinder-1.29.0/src/zm_image.cpp /usr/ports/pobj/zoneminder-1.29.0/ZoneMinder-1.29.0/src/zm_image.cpp:1212:12 : warning: comparison of unsigned expression < 0 is always false [-Wtautological-compare] if ( lo_x < 0 || hi_x > (width-1) || ( lo_y < 0 || hi_y > (height-1) ) ) ~~~~ ^ ~ /usr/ports/pobj/zoneminder-1.29.0/ZoneMinder-1.29.0/src/zm_image.cpp:1624:20 : error: call to 'abs' is ambiguous if ( (unsigned)abs((*psrc)-RGB_VAL(ref_colour,c)) >= RGB_VAL(thr... ^~~ /usr/include/stdlib.h:98:6: note: candidate function int abs(int); ^ /usr/include/c++/v1/stdlib.h:115:44: note: candidate function inline _LIBCPP_INLINE_VISIBILITY long abs( long __x) _NOEXCEPT {return labs(__x);} ^ /usr/include/c++/v1/stdlib.h:117:44: note: candidate function inline _LIBCPP_INLINE_VISIBILITY long long abs(long long __x) _NOEXCEPT {return llabs(__x);} ^ /usr/include/c++/v1/math.h:646:1: note: candidate function abs(float __lcpp_x) _NOEXCEPT {return fabsf(__lcpp_x);} ^ /usr/include/c++/v1/math.h:650:1: note: candidate function abs(double __lcpp_x) _NOEXCEPT {return fabs(__lcpp_x);} ^ /usr/include/c++/v1/math.h:654:1: note: candidate function abs(long double __lcpp_x) _NOEXCEPT {return fabsl(__lcpp_x);} ^ 14 warnings and 1 error generated. *** Error 1 in . (src/CMakeFiles/zm.dir/build.make:402 'src/CMakeFiles/zm.dir/zm_image.cpp.o') *** Error 1 in . (CMakeFiles/Makefile2:376 'src/CMakeFiles/zm.dir/all') *** Error 1 in /usr/ports/pobj/zoneminder-1.29.0/build-i386 (Makefile:133 'all') *** Error 1 in . (/usr/ports/infrastructure/mk/bsd.port.mk:2742 '/usr/ports/pobj/zoneminder-1.29.0/build-i386/.build_done') *** Error 1 in /usr/ports/multimedia/zoneminder (/usr/ports/infrastructure/mk/bsd.port.mk:2419 'build')