/usr/share/perl5/ZoneMinder/Control/onvif.pm line 68.Compilation failed

Forum for questions and support relating to the 1.34.x releases only.
Post Reply
cyclic
Posts: 29
Joined: Mon Jan 26, 2009 7:01 pm
Location: The deep south

/usr/share/perl5/ZoneMinder/Control/onvif.pm line 68.Compilation failed

Post by cyclic »

I have pi4 8GB pios64 (Bullseye) lite server (no desktop) updated to current.
apt installed zm from distribution i.e.
zoneminder/stable,now 1.34.23-1 arm64 [installed]

Unable to find more recent >1.34.23 or any of 1.36.x in zmrepo.zoneminder.com/debian

Both pios64 & zoneminder work very well (better than any previous install) and
currently I use with 6 cams (2x 480p, 2x 720p and 2x1020p) modect.
Totally stable since built (>10 weeks)
arm64 handles more cams then armhf and recent pi4 shipped with higher clock rate.

Now using a Sunba 601 D20X PTZ.
Installed and works static no ptz (yet) as any other cam

Problem is control. (e.g. pan, tilt and zooming)
OPT_CONTROL on in Options
Source->Control Tab setup ok to use onvif (at least fairly certain its ok)
Control buttons appear as I would expect (no log errors at this stage)

When I click on any of pan/tilts/zooms none of ptz works and

Logs start and I repeatedly get this log:

Can't load ZoneMinder::Control::onvifGlobal symbol "$this" requires explicit package name (did you forget to declare "my $this"?) at /usr/share/perl5/ZoneMinder/Control/onvif.pm line 68.Compilation failed in require at /usr/share/perl/5.32/Module/Load.pm line 77.Can't locate ZoneMinder/Control/onvif in @INC (@INC contains: /etc/perl /usr/local/lib/aarch64-linux-gnu/perl/5.32.1 /usr/local/share/perl/5.32.1 /usr/lib/aarch64-linux-gnu/perl5/5.32 /usr/share/perl5 /usr/lib/aarch64-linux-gnu/perl-base /usr/lib/aarch64-linux-gnu/perl/5.32 /usr/share/perl/5.32 /usr/local/lib/site_perl) at /usr/share/perl/5.32/Module/Load.pm line 77.

Is this a known issue. Is there a fix?

From reading other posts, maybe this is an old issue, but the pios64 arm64 package has not been updated since then.

If so is it possible to have a build with the fix in it?
If 1.36.x is stable than clearly that would be desirable over 1.34.x

Many thanks for all your great hard work.
cyclic_redundancy_check
User avatar
iconnor
Posts: 1913
Joined: Fri Oct 29, 2010 1:43 am
Location: Toronto
Contact:

Re: /usr/share/perl5/ZoneMinder/Control/onvif.pm line 68.Compilation failed

Post by iconnor »

Known problem, fixed a long time ago. Will not be fixed in 1.34.

The reason you can't find a 1.36 is that we don't build for 64bit on pi.

Maybe we should but at this time we don't.

Your best bet is to manually grab a newer version of that file and drop it in place. Should work fine.

wget https://raw.githubusercontent.com/ZoneM ... l/onvif.pm -O /usr/share/perl5/ZoneMinder/Control/onvif.pm
cyclic
Posts: 29
Joined: Mon Jan 26, 2009 7:01 pm
Location: The deep south

Re: /usr/share/perl5/ZoneMinder/Control/onvif.pm line 68.Compilation failed

Post by cyclic »

Thank you for your prompt resonse.
I did as you suggested and it has moved it forward in that
Now it wants DateTime.pm

Log:
"Jan 25 15:16:21 z1 zmcontrol_6[2753]: INF [Starting control server 6/onvif]
Jan 25 15:16:21 z1 zmcontrol_6[2753]: FAT [Can't load ZoneMinder::Control::onvif#012Can't locate DateTime.pm in @INC (you may need to install the DateTime module) (@INC contains: /etc/perl /usr/local/lib/aarch64-linux-gnu/perl/5.32.1 /usr/local/share/perl/5.32.1 /usr/lib/aarch64-linux-gnu/perl5/5.32 /usr/share/perl5 /usr/lib/aarch64-linux-gnu/perl-base /usr/lib/aarch64-linux-gnu/perl/5.32 /usr/share/perl/5.32 /usr/local/lib/site_perl) at /usr/share/perl5/ZoneMinder/Control/onvif.pm line 31.#012BEGIN failed--compilation aborted at /usr/share/perl5/ZoneMinder/Control/onvif.pm line 31.#012Compilation failed in require at /usr/share/perl/5.32/Module/Load.pm line 77.#012Can't locate ZoneMinder/Control/onvif in @INC (@INC contains: /etc/perl /usr/local/lib/aarch64-linux-gnu/perl/5.32.1 /usr/local/share/perl/5.32.1 /usr/lib/aarch64-linux-gnu/perl5/5.32 /usr/share/perl5 /usr/lib/aarch64-linux-gnu/perl-base /usr/lib/aarch64-linux-gnu/perl/5.32 /usr/share/perl/5.32 /usr/local/lib/site_perl) at /usr/share/perl/5.32/Module/Load.pm line 77.]
"

I am not knowledgable on perl but I had assumed that a function such as DataTime would have been automatically available?
Is there another package I need to install?
cyclic_redundancy_check
cyclic
Posts: 29
Joined: Mon Jan 26, 2009 7:01 pm
Location: The deep south

Re: /usr/share/perl5/ZoneMinder/Control/onvif.pm line 68.Compilation failed

Post by cyclic »

However I notice find shows:
# find /etc/perl /usr/local/lib/aarch64-linux-gnu/perl/5.32.1 /usr/local/share/perl/5.32.1 /usr/lib/aarch64-linux-gnu/perl5/5.32 /usr/share/perl5 /usr/lib/aarch64-linux-gnu/perl-base /usr/lib/aarch64-linux-gnu/perl/5.32 /usr/share/perl/5.32 -name DateTime.pm
find: ‘/usr/local/lib/aarch64-linux-gnu/perl/5.32.1’: No such file or directory
find: ‘/usr/local/share/perl/5.32.1’: No such file or directory
/usr/share/perl5/ZoneMinder/Control/DateTime.pm
/usr/share/perl5/ONVIF/Device/Types/DateTime.pm
/usr/share/perl5/ONVIF/Media/Types/DateTime.pm
/usr/share/perl5/ONVIF/Analytics/Types/DateTime.pm
/usr/share/perl5/ONVIF/PTZ/Types/DateTime.pm
cyclic_redundancy_check
User avatar
iconnor
Posts: 1913
Joined: Fri Oct 29, 2010 1:43 am
Location: Toronto
Contact:

Re: /usr/share/perl5/ZoneMinder/Control/onvif.pm line 68.Compilation failed

Post by iconnor »

sudo apt-get install libdatetime-perl
cyclic
Posts: 29
Joined: Mon Jan 26, 2009 7:01 pm
Location: The deep south

Re: /usr/share/perl5/ZoneMinder/Control/onvif.pm line 68.Compilation failed

Post by cyclic »

Eureka
It works PTZF etc. (Sunba Tech 601-D20X-v2)
Many many thanks for taking the time to hold my hand.

I still hope you will somehow find the time to set up the
v1.36.x Pi4 Bullseye arm64 package build
so we can have all the new stuff. ;-)
I think that pi4 users will consider arm64 the norm and that armhf will be history
It goes just so much better... (when I'm 64 from SPLHCB)
cyclic_redundancy_check
Post Reply