why i failed to build vsftp?
- by hugemeow
make, then failed with the following message.
the main point is /lib/libcap.so.1: could not read symbols: File in wrong format, confusing...
gcc -c readwrite.c -O2 -Wall -W -Wshadow  -idirafter dummyinc
gcc -c opts.c -O2 -Wall -W -Wshadow  -idirafter dummyinc
gcc -c ssl.c -O2 -Wall -W -Wshadow  -idirafter dummyinc
gcc -c sslslave.c -O2 -Wall -W -Wshadow  -idirafter dummyinc
gcc -c ptracesandbox.c -O2 -Wall -W -Wshadow  -idirafter dummyinc
gcc -c ftppolicy.c -O2 -Wall -W -Wshadow  -idirafter dummyinc
gcc -c sysutil.c -O2 -Wall -W -Wshadow  -idirafter dummyinc
gcc -c sysdeputil.c -O2 -Wall -W -Wshadow  -idirafter dummyinc
gcc -o vsftpd main.o utility.o prelogin.o ftpcmdio.o postlogin.o privsock.o tunables.o ftpdataio.o secbuf.o ls.o postprivparent.o logging.o str.o netstr.o sysstr.o strlist.o banner.o filestr.o parseconf.o secutil.o ascii.o oneprocess.o twoprocess.o privops.o standalone.o hash.o tcpwrap.o ipaddrparse.o access.o features.o readwrite.o opts.o ssl.o sslslave.o ptracesandbox.o ftppolicy.o sysutil.o sysdeputil.o -Wl,-s `./vsf_findlibs.sh`
/lib/libcap.so.1: could not read symbols: File in wrong format
collect2: ld returned 1 exit status
make: *** [vsftpd] Error 1
[mirror@hugemeow vsftpd]$ ls /lib/libc
libc-2.5.so          libcap.so.1.10       libcidn.so.1         libcom_err.so.2.1    libcrypto.so.0.9.8e  libcrypt.so.1
libcap.so.1          libcidn-2.5.so       libcom_err.so.2      libcrypt-2.5.so      libcrypto.so.6       libc.so.6
[mirror@hugemeow vsftpd]$ ls /lib/libc
libc-2.5.so          libcap.so.1.10       libcidn.so.1         libcom_err.so.2.1    libcrypto.so.0.9.8e  libcrypt.so.1
libcap.so.1          libcidn-2.5.so       libcom_err.so.2      libcrypt-2.5.so      libcrypto.so.6       libc.so.6
[mirror@hugemeow vsftpd]$ ls /lib/libcap.so.1 -l
lrwxrwxrwx 1 root root 14 Mar 20  2012 /lib/libcap.so.1 -> libcap.so.1.10
[mirror@hugemeow vsftpd]$ ls /lib/libcap.so.1 -lh
lrwxrwxrwx 1 root root 14 Mar 20  2012 /lib/libcap.so.1 -> libcap.so.1.10
[mirror@hugemeow vsftpd]$ ls /lib/libcap.so.1 -lhL
-rwxr-xr-x 1 root root 12K Mar 15  2007 /lib/libcap.so.1
this may have something to do with 64 bit system, but i have make modification to vsf_findlibs.sh
 48 # Look for libcap (capabilities)
 49 if locate_library /lib64/libcap.so.1; then
 50   echo "/lib/libcap.so.1";
 51 elif locate_library /lib64/libcap.so.2; then
 52   echo "/lib/libcap.so.2";
 53 else
 54 #  locate_library /usr/lib/libcap.so && echo "-lcap";
 55 #  locate_library /lib/libcap.so && echo "-lcap";
 56   locate_library /lib64/libcap.so.1 && echo "-lcap";
 57 fi
but make failed with the same error, why?