CentOS 6- Global symbol "%Config" error preventing update completion

Forum for questions and support relating to the 1.29.x releases only.
Locked
skydreamer
Posts: 17
Joined: Thu Apr 09, 2009 1:02 am

CentOS 6- Global symbol "%Config" error preventing update completion

Post by skydreamer »

I have upgraded to the latest release 1.29.0 on CentOS 6 x64 using yum but cannot run any of the Perl scripts because of this error:
zmupdate.pl
Global symbol "%Config" requires explicit package name at /usr/bin/zmupdate.pl line 82.
Global symbol "%Config" requires explicit package name at /usr/bin/zmupdate.pl line 82.
Global symbol "%Config" requires explicit package name at /usr/bin/zmupdate.pl line 82.
Global symbol "%Config" requires explicit package name at /usr/bin/zmupdate.pl line 82.
BEGIN not safe after errors--compilation aborted at /usr/bin/zmupdate.pl line 82.

The only tip I found is that there might be a mismatch between zm library versions but am unsure which one is behind it?
SElinux is switched off.

The packages pulled by yum from zmrepo during the upgrade to 1.29.0 are listed below:
yum history info 508 | grep zmrepo
Dep-Install cambozola-0.93-1.el6.noarch @zmrepo
Update 0.11.3-1.el6.x86_64 @zmrepo
Updated ffmpeg-0.10.15-1.el6.x86_64 @zmrepo
Update 2.6.4-1.el6.x86_64 @zmrepo
Updated ffmpeg-libs-0.10.15-1.el6.x86_64 @zmrepo
Update 2.6.4-1.el6.x86_64 @zmrepo
Dep-Install libavdevice-2.6.4-1.el6.x86_64 @zmrepo
Dep-Install libchromaprint-1.1-3.el6.x86_64 @zmrepo
Updated perl-Sys-Mmap-0.14-2.el6.x86_64 @zmrepo
Update 0.17-1.el6.x86_64 @zmrepo
Dep-Install soxr-0.1.2-1.el6.x86_64 @zmrepo
Updated vlc-core-2.0.10-1.el6.x86_64 @zmrepo
Update 2.1.6-2.el6.x86_64 @zmrepo
Dep-Install vo-amrwbenc-0.1.1-2.el6.1.x86_64 @zmrepo
Dep-Install x265-libs-1.6-1.el6.x86_64 @zmrepo
Updated zoneminder-1.28.1-1.el6.x86_64 @zmrepo
Update 1.29.0-3.el6.x86_64 @zmrepo

Any tips? There is nothing mentioned in the Cento6 README either.
swiftflic
Posts: 9
Joined: Fri Dec 27, 2013 4:51 pm

Re: CentOS 6- Global symbol "%Config" error preventing update completion

Post by swiftflic »

I have the same problem when updating to 1.29 from the ZMREPO repository.

Upgrading to ZMREPO zoneminder-1.29.0-3.el6.i686 gave me:
Stopping ZoneMinder: Global symbol "%Config" requires explicit package name at /usr/bin/zmpkg.pl line 112.
Global symbol "%Config" requires explicit package name at /usr/bin/zmpkg.pl line 113.
Global symbol "%Config" requires explicit package name at /usr/bin/zmpkg.pl line 124.
Global symbol "%Config" requires explicit package name at /usr/bin/zmpkg.pl line 127.
Global symbol "%Config" requires explicit package name at /usr/bin/zmpkg.pl line 127.
Global symbol "%Config" requires explicit package name at /usr/bin/zmpkg.pl line 206.
Global symbol "%Config" requires explicit package name at /usr/bin/zmpkg.pl line 207.
Global symbol "%Config" requires explicit package name at /usr/bin/zmpkg.pl line 211.
Global symbol "%Config" requires explicit package name at /usr/bin/zmpkg.pl line 229.
Global symbol "%Config" requires explicit package name at /usr/bin/zmpkg.pl line 229.
Global symbol "%Config" requires explicit package name at /usr/bin/zmpkg.pl line 230.
Global symbol "%Config" requires explicit package name at /usr/bin/zmpkg.pl line 233.
Global symbol "%Config" requires explicit package name at /usr/bin/zmpkg.pl line 233.
Global symbol "%Config" requires explicit package name at /usr/bin/zmpkg.pl line 249.
Global symbol "%Config" requires explicit package name at /usr/bin/zmpkg.pl line 255.
Global symbol "%Config" requires explicit package name at /usr/bin/zmpkg.pl line 271.
Global symbol "%Config" requires explicit package name at /usr/bin/zmpkg.pl line 275.
Global symbol "%Config" requires explicit package name at /usr/bin/zmpkg.pl line 279.
Global symbol "%Config" requires explicit package name at /usr/bin/zmpkg.pl line 284.
Global symbol "%Config" requires explicit package name at /usr/bin/zmpkg.pl line 413.
Global symbol "%Config" requires explicit package name at /usr/bin/zmpkg.pl line 417.
Global symbol "%Config" requires explicit package name at /usr/bin/zmpkg.pl line 419.
Global symbol "%Config" requires explicit package name at /usr/bin/zmpkg.pl line 423.
Global symbol "%Config" requires explicit package name at /usr/bin/zmpkg.pl line 423.
Bareword "ZM_VERSION" not allowed while "strict subs" in use at /usr/bin/zmpkg.pl line 206.
Bareword "ZM_VERSION" not allowed while "strict subs" in use at /usr/bin/zmpkg.pl line 210.
Execution of /usr/bin/zmpkg.pl aborted due to compilation errors.
Actions done to repair:

Code: Select all

sudo yum remove zoneminder
warning: /etc/zm.conf saved as /etc/zm.conf.rpmsave
warning: /etc/httpd/conf.d/zoneminder.conf saved as /etc/httpd/conf.d/zoneminder.conf.rpmsave

Code: Select all

sudo yum install https://zmrepo.zoneminder.com/el/6/i386/zoneminder-1.28.1-1.el6.i686.rpm
Copied the rpmsave files back to their original location and zoneminder (1.28.1) was working fine again.

But somehow couldn't debug what was happening on 1.29. It seemed like it couldn't find /etc/zm.conf or something like that.
User avatar
knight-of-ni
Posts: 2404
Joined: Thu Oct 18, 2007 1:55 pm
Location: Shiloh, IL

Re: CentOS 6- Global symbol "%Config" error preventing update completion

Post by knight-of-ni »

Did either of you ever have installed a previous version of zoneminder from-source on your system?

Make sure you only have one zm.conf file and it is located at /etc/zm/zm.conf. It should not be here: /etc/zm.conf.
Visit my blog for ZoneMinder related projects using the Raspberry Pi, Orange Pi, Odroid, and the ESP8266
All of these can be found at https://zoneminder.blogspot.com/
swiftflic
Posts: 9
Joined: Fri Dec 27, 2013 4:51 pm

Re: CentOS 6- Global symbol "%Config" error preventing update completion

Post by swiftflic »

True, I started using zoneminder before a zmrepo repository and compiled it myself. But I was using 1.28.1 from zmrepo with /etc/zm.conf as system configuration source. So, you really think if we move this to /etc/zm/zm.conf it would be fine?

Skydreamer, can you confirm?
skydreamer
Posts: 17
Joined: Thu Apr 09, 2009 1:02 am

Re: CentOS 6- Global symbol "%Config" error preventing update completion

Post by skydreamer »

Swiftlic-- when you open zoneminder-1.29.0-3.el6.x86_64.rpm you will find /etc/zm.conf in it, I believe knnniggett was referring to a different Linux platform.
In fact I also compiled zoneminder from the source before zmrepo was conceived and this is probably why we see the same outcome.
In the end I have got fed up with the update and uninstalled it, removed the zm database, all zoneminder folders and configuration files and started from scratch.
Although the original problem is gone there are new errors that point to a broken repo. I am working through them with little success so far.
User avatar
knight-of-ni
Posts: 2404
Joined: Thu Oct 18, 2007 1:55 pm
Location: Shiloh, IL

Re: CentOS 6- Global symbol "%Config" error preventing update completion

Post by knight-of-ni »

If you have previously built and installed zoneminder from-source, then you don't have a clean system. Not even if you remembered to do a "sudo make uninstall". Not your fault. There are many things one has to know when building from-source, which you really don't get a chance to learn about until you have a broken system.

- When you compiled from source, you almost certainly did not build it using the same cmake flags as the zoneminder package. You simply would not have known to do that. This means there are probably leftovers floating around from that older version in different folders.
- Perl no longer supports make uninstalling, which means you've still got the old ZoneMiner Perl modules on your filesystem, even if you ran make uninstall.

Installing from source puts things under a prefix of /usr/local so that is where you should look for old files.

To fix you should (backup you database and event folder if you want to keep them):
- uninstall the zoneminder package
- manually search your filesystem for leftovers. Delete zm.conf, wherever it is. Delete the zoneminder apache config file. Delete /usr/share/zoneminder. Also check /usr/local/share/zoneminder and delete that.
- Delete the old zoneminder Perl modules. Search under /usr/share/perl5/ and especially /usr/local/share/perl5
- With everything zoneminder related purged, then follow the steps to install zoneminder


What I think is happening is you've got old Perl modules, likely under /usr/local/share, that do not have the %Config hash defined in them because that is a relatively new change to ZoneMinder.

UPDATE: No I'm not referring to a different Linux platform. The zm.conf file is under /etc/zm/zm.conf for all Rdhat based distros using zmrepo.
Visit my blog for ZoneMinder related projects using the Raspberry Pi, Orange Pi, Odroid, and the ESP8266
All of these can be found at https://zoneminder.blogspot.com/
skydreamer
Posts: 17
Joined: Thu Apr 09, 2009 1:02 am

Re: CentOS 6- Global symbol "%Config" error preventing update completion

Post by skydreamer »

Thanks knniggett, it was the old Perl modules lurking in /usr/local/share/perl5 that were causing all the havoc.
I did search for everything zoneminder related with "locate" but overlooked the case sensitivity and there were ZoneMinder folders left behind in the Perl directories.

In relation to your update:
locate zm.conf
/etc/zm.conf

All is well now and I am configuring the cameras.
Locked