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?