about img
blogger img

scotts posts image

buchos posts img

UnderPaidLoveMonkis posts img

Corys posts image

Source Version Control's Archive

Missing git-svn on os x leopard

Scott Rippee @ 6:09 pm Saturday, April 5th, 2008

Chances are you didn't port install git-core with the svn option:

CODE:
  1. sudo port install git-core +svn

post uninstalling the old hullabaloo

macports expat subversion mac OS X

Scott Rippee @ 10:24 pm Friday, September 28th, 2007

I've been having a very strange problem on the mac the last couple of days. Subversion went from happy camper to sad clown after a MacPorts package update.

  • Subversion says it needs libexpat.so.0 at run time (to commit).
  • libexpat.so* exists no where on the file system
  • Expat only wants to generate static libraries. The port install only generates the static libs (la) and the last release downloaded and configured with --enable-shared still refuses to generate shared libraries. The CVS release blew up so many times I quit wasting my time and moved on.
  • Subversion does not have an option to make without expat
  • An expat mac install package exists, but doesn't contain the desired so file

What I'm confused about is how subversion is able to build without having expat's dynamic library to link to. If it links using the static lib then there should not be the need to load the dynamic library at run time unless it is specifically made to work this way for some reason.

Of course all of this pain and confusion vanquished upon taking a closer look at the error message:

CODE:
  1. svnserve: error while loading shared libraries: libexpat.so.0: cannot open shared object file: No such file or directory
  2. svn: Commit failed (details follow):
  3. svn: Connection closed unexpectedly

Woops, finally noticed the svnserve. ssh into Gentoo box, create a libexpat.so.0 symbolic link to the existing dynamic library. All is happy camping once again... Think about how there was some emerge -uDv world remote action at the same time as the port upgrade outdated. Slap forhead....

The three lessons learned:

  1. look at error messages carefully
  2. when something is server/client or distributed account for the remote side as a possible cause of the error
  3. don't start writing a blog post mid way though solving a problem =]