Xapian Bindings 1.2.7/8 in PHP: undefined symbol: zend_error_noreturn in Unknown on line

Want to help support this blog? Try out Oh Dear, the best all-in-one monitoring tool for your entire website, co-founded by me (the guy that wrote this blogpost). Start with a 10-day trial, no strings attached.

We offer uptime monitoring, SSL checks, broken links checking, performance & cronjob monitoring, branded status pages & so much more. Try us out today!

Profile image of Mattias Geniar

Mattias Geniar, February 29, 2012

Follow me on Twitter as @mattiasgeniar

Slightly frustrated blogpost on Xapian versions 1.2.7 or higher when compiling it for PHP 5.3. If you configure bindings & core it seems to work just fine, but when loading the Xapian module in PHP this is the error that pops up.

PHP Warning: PHP Startup: Unable to load dynamic library '/usr/lib64/php/modules/xapian.so' - 
      /usr/lib64/php/modules/xapian.so: undefined symbol: zend_error_noreturn in Unknown on line 0

PHP development packages were in order, this was actually a PHP 5.3 config, … Nothing could actually explain that error. When downloading Xapian 1.2.5 it gave no problems whatsoever. So, my advice to you, try downloading Xapian 1.2.5 instead of the newer versions if you experience that error.

Create the Xapian Core as simple as:

./configure
make
make install

And the Xapian Bindings as:

./configure --with-php
make
make install

And most likely your Xapian module will be loaded properly in PHP.



Want to subscribe to the cron.weekly newsletter?

I write a weekly-ish newsletter on Linux, open source & webdevelopment called cron.weekly.

It features the latest news, guides & tutorials and new open source projects. You can sign up via email below.

No spam. Just some good, practical Linux & open source content.