Tom Metro wrote:
> Attempting to configure rsyncrypto 0.14 on Debian 3.1 (Sarge/stable) I
> configure: error: argtable2 not found
> See `config.log' for more details.
> I'm not sure about the first failure, but the second is obviously due
> to a missing libargtable2. I searched the Debian package archives for
> packages containing the substring 'argtable', but found nothing in the
> stable distribution. I did find it in unstable:
Actually, I was very suprised to find that rsyncrypto made it into
stable at all. It was only added to Sid about a month before Sarge was
labeled "Stable", long after the official feature freeze. Argtable was
only added (also by me) to Sid after Sarge was already released, so it
won't be in stable. Sorry.
> Argtable is an ANSI C library for parsing GNU style command line
I know. I'm the argtable Debian maintainer :-)
> Would it be practical to fall back to using getopt_long() if
> libargtable2 isn't available?
I'm afriad not. Argtable was chosen because it has getopt_long
compatible command line syntax, and yet works on Windows. It was
necessary to find some sane way of accepting arguments in a compatible
way when doing the Win32 port. Unfortunately, it is not compatible to
getopt_long in terms of function usage. As such, allowing a dual
interface would be maintaining two code paths, something which I don't
want to do.
As argtable is fairly straightforward to install, I don't think it's
such big a deal.
> I proceeded by installing libargtable2-dev from unstable (which
> fortunately didn't have any dependencies and didn't require a
> cascading upgrade), and then configure succeeded.
Well, Sarge is gcc-3 while Sid is gcc-4. What I usually do in such cases
is to add a line saying "deb-src .... sid". You can then do "apt-get
source", followed by "dpkg-buildpackage", and get a locally created
package that uses the correct build environment for your distribution.
Still, as argtable is C, rather than C++, this is ok.
> rsyncrypto built without error, but a simple test of:
> % ./rsyncrypto --help
> Usage: rsyncrypt <src> <dst> <keys> <publickey file>
> -h Help - this page
> -d Decrypt.
> Currently only AES encryption is supported
> Segmentation fault
> produces a seg fault.
A known bug. I'm not yet sure whether the bug is in argtable or
rsyncrypto. If a mandatory argument (the four files) is not given, you
get a segfault. If all mandatory arguments are given rsyncrypto is
currently valgrind clean. As I'm currently busy handling critical path
development (meta-data encryption), I have not yet researched this one.
Feel free to file a bug using either the rsyncrypto bug tracking system
or debian's reportbug. It's going to be me that gets the bug either way
:-). If you are using the later, though, make sure that you do it for
"sid", not "sarge".
> I see libargtable2 is near the top of the stack, so perhaps it does
> have a dependency on libc that just isn't documented. Perhaps I'll try
> building it from source.
No, this particular bug is not a result of any build anomalities you
did. Regardless, see above for recommended way of installing Sid
packages in Sarge.
> \ -Tom