sysdeputil.c:162: error: expected declaration specifiers or ‘…’ before ‘capset’
I have no freaking clue what I am doing. So be careful just following this blindly.
When I initially googled for this issue I did not find this specific solution:
When tried to install vsftpd.2.0.7 from source on a centos 5.2 64 bit machine I get the error:
sysdeputil.c:162: error: expected declaration specifiers or '...' before 'capset'
Followed by allot of similar errors. I was able to address this by
yum install libcap-devel.x86_64
At which point the linker complained:
/lib/libcap.so.1: could not read symbols: File in wrong format
I had to actually commend out the line
locate_library /lib/libcap.so.1 && echo "/lib/libcap.so.1";
in vsf_findlibs.sh. After that it compiled and seemed work.
September 4th, 2009 at 4:49 pm
Thanks, this helped me.
I tried using the latest version of vsftpd, but there seems to be a bug in it that makes browsing directories very slow when using ssl.
Thanks to you I have successfully compiled vsftpd 2.0.5, and it seems to be working as it should.
January 2nd, 2010 at 11:14 am
installing vsftpd again from source on 64 bit machines I encountered this hick-up again in two different flavors:
When libcap.i386 was installed (f* knows why) the error was:
/lib/libcap.so.1: could not read symbols: File in wrong format
This time I cured that via
yum remove libcap-1.10-26.i386
then I got the same error then on the machines with only the X86_64 libcap installed:
/usr/bin/ld: cannot find -lcap
A somewhat hackish fix was to just link the 64bit library in where vsftpd is expecting it:
ln -s /lib64/libcap.so.1 /lib/libcap.so.1