DBD-SQLite - SOLUTION: Fatal error 'Recurse on a private mutex.'

Posted on Tue Apr 29 20:39:14 2008 by milan
SOLUTION: Fatal error 'Recurse on a private mutex.'
Hi, I ran into a problem that someone else might encounter, so in the spirit of open-source I will contribute the problem and solution.

I installed sqlite (the distribution) prior installing DBD-SQLite (the Perl module) - I know, I know this is not needed since DBD-SQLite contains the engine, etc... but I needed some of the tools. Something happened in my system that started spitting out the error Fatal error 'Recurse on a private mutex.' in my log files causing 505 errors on my website. Unless my system has been compromised, no known changes had been made to any libraries, etc...
After having debugged it, I found that removing sqlite's (the distribution) header files from your system's include folder (on my system it is /usr/local/include). The two files would be:

/usr/local/include/sqlite3.h /usr/local/include/sqlite3ext.h

If you have already begun compiling the DBD-SQLite module, simply go back to the root folder of the module where you were compiling it and run the following:

make clean perl Makefile.PL make make test make install

I am aware that most people will never encounter this error, but you never know :-)

Hope that this will prove useful to someone.

Milan Adamovsky
Write a response