Wednesday, March 19, 2008

Building AnkhSVN

Random impulses create random results... This time the impulse was to build AnkhSVN. After talking on IRC #ankhsvn channel, jeremyw and other developers (thanks!!!) gave me some info to get up and running directly from Visual Studio.

Required software (in parenthesis - the versions I used)
Steps to get up and running
  • Download AnkhSVN source code from http://ankhsvn.open.collab.net/svn/ankhsvn/trunk User name "guest", no password.
  • Open src\AnkhSvn.2008.sln
  • Make Ankh.Package a startup project.
  • Right-click Ankh.Package and click "Properties".
  • Choose the "Debug" tab on the left.
  • Under "Start Action", select "start external application" and choose your devenv.exe.
  • For "Start Options", use "/rootSuffix Exp /RANU" without the quotes
  • Now can Run AnkhSVN by hitting F5
Enjoy!




As for the old package.py, it apparently no longer works nor is supported.
Here I will just keep my original notes, ignore...


* Python (2.5.2 - msi)
* Python for Windows Extensions (pywin32-210.win32-py2.5.exe)
* Perl (ActivePerl 5.10.0.1002)

* Made sure the path to python is set in the PATH env variable (c:\python25\)
* Run Visual Studio 2008 Command Prompt
* Executed the build with "package.py -d 2008" command from c:\projects\ankhsvn dir.

Kept getting this weird error from python:
Staging APR, APR-UTIL and APR-ICONV...
Traceback (most recent call last):
File "C:\projects\ankhsvn\package.py", line 1298, in
build_berkeley_db()
File "C:\projects\ankhsvn\package.py", line 257, in build_berkeley_db
print "Building Berkeley DB..."
IOError: [Errno 9] Bad file descriptor

Apparently, console output descriptor was getting corrupted somehow, so as a temp workaround I commented out all the print statements (ugly, I know): "print " --> "pass #print "

Rerunning it produced yet another error:
Traceback (most recent call last):
File "C:\projects\ankhsvn\package.py", line 1298, in
build_berkeley_db()
File "C:\projects\ankhsvn\package.py", line 264, in build_berkeley_db
convert_dsw_to_sln(bdb_dsw_file)
File "C:\projects\ankhsvn\package.py", line 638, in convert_dsw_to_sln
vsdte.ExecuteCommand("File.SaveAll")
File "", line 3, in ExecuteCommand
File "C:\Python25\lib\site-packages\win32com\client\dynamic.py", line 258, in _ApplyTypes_
result = self._oleobj_.InvokeTypes(*(dispid, LCID, wFlags, retType, argTypes) + args)
pywintypes.com_error: (-2147418111, 'Call was rejected by callee.', None, None)
After getting stuck here I found out that package.py is now obsolete and should not be used :)))

No comments: