Re: build fails on Debian stable
Brought to you by:
thesun
From: Shachar S. <rsy...@sh...> - 2005-08-23 06:36:38
|
Tom Metro wrote: > Attempting to configure rsyncrypto 0.14 on Debian 3.1 (Sarge/stable) I > see: > > 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: > > http://packages.debian.org/unstable/libdevel/libargtable2-dev 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> > Options: > -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 Shachar |