DarPython

Revision 4 as of 2007-02-16 16:19:14

Clear message

What this page is about

This page will track the status of the attempt to make a package dar-python which has python bindings for dar. This is based on the work on http://darbindings.souceforge.net. You will find instructions to build the bindings so that they are usable.

Status

By now, one can compile the modules from scratch with ./configure, make. It is currently not possible to do it with --enable-mode=64 which is what the default of the debian package is.

Instructions

  1. Download the dar source and all depends {{{ apt-get build-dep dar

apt-get source dar }}}

  1. Download everything else you need {{{ apt-get install python-dev swig autoconf automake1.9

}}}

  1. go to source directory {{{ cd dar-2.3.0

}}}

  1. get the patch from [http://sourceforge.net/project/downloading.php?group_id=131569filename=dar-python-0.1.0-cvs-2.4.0.patch&47448731 here]

  2. apply the patch {{{ patch -p0 < /path/to/dar-python-*.patch

}}} (Ignore the fail, it doesn't matter)

  1. Prepare everything so that you compile it {{{aclocal -I m4

autoconf }}}

  1. configure it {{{ ./configure --with-python

}}}

  1. compile it {{{ make

}}}

  • 8.1 If it fails, just do {{{ make

}}}

  • NOTE: Instructions on how to fix that below

  1. install everything where you want it to be
    • 9.1 for a quick test, you can copy the libdar/.libs/libdar.so.4 to /usr/lib/ and go to libdar/bindings/swig/python and run python -c 'from dar import archive' if everything is ok, you'll see {{{ DEBUG: Loading python bindings

}}}

Fixes

To fix the build error, you need to insert {{{ %import "user_interaction_bind.hpp" }}} just before the {{{ class libdar::int_pycb { ... } }}} in the file src/bindings/swig/libdar.i.

TODO

Currently, when running debuild in the directory, the modules will have unresolved symbols. This is because of the compile option --enable-mode=64. There are also problems with the compile flags of swing, so there is still something to do. Manually adding them (-DLIBDAR_MODE=64) to Makefile.am causes the build to faile with swig failing to create infinit_wrap.cpp.