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.
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
andchecksums
lines to the following: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.
I am on latest public Yosemite + MacPorts everything updated, Eclipse Luna 4.4 (STS 3.6.1), subclipse 1.10.5.
I have a feeling macports' javahlbindings had some references to the 3.8.5 version. Didn't spend too much time to check.
My workaround is to use SVNKit (Pure Java) SVNKit v1.8.5.10237.
Eclipse->Preference->Team->SVN->SVN Interface->change from javahl to SVNKit
SVNKit is one of the Subclipse's feature. (SVNKit Client Adapter (Not Required))
I encounter the same problem, saying:
and my svn version is downgrade from 1.8 to 1.7.14 by following this post: Install a Specific Version of a Tool on OS X With Homebrew。
But after downgrade svn, I got this sqlite error. I fixed the problem by this:
I've been relying on Macports for the java HL for Eclipse Luna, and after I updated to Yosemite I, too, ran into the same problem. I use subversive instead of subclipse, but the error was the same. I decided to give Homebrew a try and to my surprise the SQLite error went away.
I have solved this problem.
replace version to 3.8.5.0, it's ok.
1,
# brew uninstall sqlite
2,
# brew uninstall subversion
3,
# brew edit sqlite
modify following content:
like vim , :wq to save changes and quit.
4,
# brew install --universal --java subversion
5,
# rm -f /Library/Java/Extensions/libsvnjavahl-1.dylib
delete symbolic link file;6,
# sudo mkdir -p /Library/Java/Extensions # sudo ln -s /usr/local/lib/libsvnjavahl-1.dylib /Library/Java/Extensions/libsvnjavahl-1.dylib
7, reboot Eclipse, it's OK.
I see the same thing here. Fresh macports, rebuilt sqlite3 and subversion*. Everything works in command line, but eclipse / subclipse fails with
Looks fishy that svn links with both versions. I tried adding --with-sqlite3=${prefix} to the Portfile for subversion and subversion-javahlbindings, but that did not help.
Any ideas how to resolve this, apart from using the somewhat more insecure native binding?