During encoding of some projects Zend Guard may display an error message. The encoding process is interrupted. The problem happens only in PHP 5.4 encoder.
These error message are indicative of the problem:
Unknown(line 0): Function registration failed - duplicate name - each
*** Error in `/opt/ZendGuard-6_0_0/plugins/com.zend.guard.core.resources.linux.x86_126.96.36.199305051318/resources/GuardEngine': free(): invalid pointer: 0x0a0aef90 ***
*** glibc detected *** /opt/ZendGuard-6_0_0/bin/../plugins/com.zend.guard.core.resources.linux.x86_6.0.0/resources/GuardEngine: double free or corruption (!prev): 0x08f13a38 ***
Zend Guard PHP 5.4 encoder
The bug was fixed recently. For PHP 5.4 you should use the fixed version of the encoder. Do the following in the terminal:
cd <Zend Guard directory>
tar xf ZendGuard_Fix_50570.bin.tar.gz
This will replace the bad binaries with the fixed versions.
The problem was triggered by optimizations in PHP 5.4 which were only partially reflected in Zend Guard encoder.