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.

3 Responses to “sysdeputil.c:162: error: expected declaration specifiers or ‘…’ before ‘capset’”

  1. Bjornar Hansen Says:

    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.

  2. Andreas Wacker Says:

    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

  3. Jhon Edison Says:

    Thank’s….. this solve my problem installing vsftpd… Greeting from Colombia

Leave a Reply

You must be logged in to post a comment.