Search code examples
svnsqlitesubclipse

Subclipse error "svn: SQLite compiled for 3.8.6, but running with 3.8.5"


I am trying out the Mac OS X Yosemite beta [edit: same issue in full release], which seems to have broken my Eclipse/Subversion. When I attempt to perform any svn action, I get:

svn: Couldn't perform atomic initialization 
SQLite error 
svn: SQLite compiled for 3.8.6, but running with 3.8.5

I have installed subversion-javahlbindings +nobdb+universal using macports, which includes the most recent SQLite3 (3.8.6), so I have no idea where the 3.8.5 is coming from on my system.

Svn works fine on the commandline, but not Eclipse. I have looked at this similar problem and googled the relevant E200029 error code without success.

Since it works on the command line, I'm thinking there's something in my Eclipse setup which is somehow pointing to the wrong/old svn but I can't find anywhere I can change any settings that would apply.

Any advice? (other than the obvious switching my OS back to Mavericks)

Edit: I've got svnkit working to get the Eclipse svn functionality but still would like to figure out what's going on with the subversion-javahl for future reference.


Solution

  • This problem is caused by the fact that Yosemite appears to include a version of sqlite that is earlier than the one delivered by MacPorts. I have found a work-around to this problem by downgrading the version that MacPorts installs. MacPorts does not have 3.8.5 version of the port, so the following steps will manually do this. Also, the next time you do a port selfupdate you will wipe out these changes, so you may have to repeat these steps.

    Type sudo port edit sqlite3

    Edit the version and checksums lines to the following:

    version             3.8.5
    checksums           rmd160  b8da5ec594ac808da85469349c7506bd343946bf \
                    sha256 98c33abe4106e508e73fda648b2657ac9e969fe24695f543dcde68cc71f3091b
    

    Type sudo port install sqlite3

    Type sudo port upgrade --force subversion-javahlbindings +no_bdb+universal

    This will cause subversion to recompile against the 3.8.5 version of sqlite3.