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
UPDATE 2: I fixed everything and you can download nice packages from http://hubackup.um-gottes-willen.net/
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.
UPDATE: it is possible, but I need to fix the Makefile.*s, you can get experimental packages at http://hubackup.um-gottes-willen.net/
Instructions
Download the dar source and all depends
apt-get build-dep dar apt-get source dar
Download everything else you need
apt-get install python-dev swig autoconf automake1.9
go to source directory
cd dar-2.3.0
get the patch from here
apply the patch
patch -p0 < /path/to/dar-python-*.patch
(Ignore the fail, it doesn't matter)Prepare everything so that you compile it
aclocal -I m4 autoconf
configure it
./configure --with-python
compile it
make
8.1 If it fails, just do
make
NOTE: Instructions on how to fix that below
- 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 (OBSOLETE)
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.
-I need to look at that. (MartinBergner)