Compiling it seemed to work fine in a fresh new jail, Apache, MySQL, PHP and ZoneMinder installed without a hitch and I took some pretty extensive notes about the process (I was hoping to write a guide if I could get it working properly, as there was a lot of little tweaks that needed to be done (httpd.conf, php.ini, rc.d settings and so on)).
I installed ZoneMinder from /usr/ports/multimedia/zoneminder/ which *should* work in FreeBSD...
So, the web interface seems to work, it lets me add a camera, however the camera never connects properly. Going into the Log file I can see the following:
Code: Select all
2013-09-24 18:20:43.354210 zmwatch 32767 ERR Can't get shared memory id '7a6d0001', 1: Function not implemented zmwatch.pl
2013-09-24 18:20:37.091510 zmdc 32767 ERR 'zmc -m 1' exited abnormally, exit status 255 zmdc.pl
2013-09-24 18:20:37.089802 zmc_m1 32767 ERR Can't shmget, probably not enough shared memory space free: Function not implemented zm_monitor.cpp 381
2013-09-24 18:20:37.048010 zmdc 32767 INF 'zmc -m 1' started at 13/09/24 18:20:37 zmdc.pl
2013-09-24 18:20:37.047660 zmdc 32767 INF 'zmc -m 1' starting at 13/09/24 18:20:37, pid = 59274 zmdc.pl
2013-09-24 18:20:37.043680 zmdc 32767 INF Starting pending process, zmc -m 1
Checking the debug log I get
Code: Select all
Sep 24 17:45:17 recorder zmc_m1[55873]: DB1 [LogOpts: level=DB9/DB9, screen=OFF, database=INF, logfile=DB9->/tmp/zm/zm_debug.log.55873, syslog=DB9]
Sep 24 17:45:17 recorder zmc_m1[55873]: DB1 [Got 1 monitors]
Sep 24 17:45:17 recorder zmc_m1[55873]: DB2 [Request: GET /videostream.cgi?user=zoneminder&pwd=nope HTTP/1.1^M User-Agent: ZoneMinder/1.25.0^M Host: 192.168.0.130^M ^M ]
Sep 24 17:45:17 recorder zmc_m1[55873]: DB1 [monitor purpose=1]
Sep 24 17:45:17 recorder zmc_m1[55873]: DB1 [mem.size=2305044]
So, I figured it could still be a memory issue and I decided to recompile with the --enable-mmap=yes option set, however then it wouldn't compile and would throw me this error:
Code: Select all
zm_monitor.cpp: In constructor 'Monitor::Monitor(int, const char*, int, bool, const char*, Camera*, int, const char*, const char*, const Coord&, int, int, int, int, int, int, int, int, int, int, int, int, bool, Rgb, Monitor::Purpose, int, Zone**)':
zm_monitor.cpp:368: error: 'MAP_LOCKED' was not declared in this scope
*** [zm_monitor.o] Error code 1
mv -f .deps/zm_local_camera.Tpo .deps/zm_local_camera.Po
1 error
*** [all-recursive] Error code 1
1 error
*** [all] Error code 2
1 error
===> Compilation failed unexpectedly.
Try to set MAKE_JOBS_UNSAFE=yes and rebuild before reporting the failure to
the maintainer.
*** [do-build] Error code 1
Stop in /usr/ports/multimedia/zoneminder.
So: Has anyone got this working properly on FreeNAS in a jail yet, or have any suggestions as to what I can try next to get it working?
Thanks!
Ducky