PDA

View Full Version : Problem installing ProFTPd on opensuse v11.0


briand0713
16th July 2008, 02:58
hello I got an error when attempting to compile ProFTPd v1.3.2

I am currently running openSuSE v11.0 64bit and I followed this guide in installing my distro: http://www.howtoforge.com/perfect-server-opensuse11

Step 12. on this page is what it told me to do to install ProFTPd: http://www.howtoforge.com/perfect-server-opensuse11-p5


cd /tmp/
wget --passive-ftp ftp://ftp.proftpd.org/distrib/source/proftpd-1.3.2rc1.tar.gz
tar xvfz proftpd-1.3.2rc1.tar.gz
cd proftpd-1.3.2rc1/
./configure --sysconfdir=/etc
make
make install
cd ..
rm -fr proftpd-1.3.2rc1*



when I did 'make' I got this:


srcdir=. ./glue.sh mod_core.o mod_xfer.o mod_auth_unix.o mod_auth_file.o mod_auth.o mod_ls.o mod_log.o mod_site.o mod_delay.o mod_facts.o mod_ident.o mod_auth_pam.o mod_cap.o
gcc -DHAVE_CONFIG_H -DLINUX -I.. -I../include -O2 -Wall -c module_glue.c
make[1]: Leaving directory `/tmp/proftpd-1.3.2rc1/modules'
test -z """" -a -z """" || (cd modules/ && make shared)
make[1]: Entering directory `/tmp/proftpd-1.3.2rc1/lib/libcap'
=> making cap_names.c from <linux/capability.h>
gcc -O2 -Wall -L/lib _makenames.c -o _makenames
./_makenames > cap_names.h
gcc -O2 -Wall -c cap_alloc.c -o cap_alloc.o
In file included from cap_alloc.c:12:
libcap.h:57:3: error: #error "Kernel <linux/capability.h> does not match library"
libcap.h:58:3: error: #error "file "libcap.h" --> fix and recompile libcap"
make[1]: *** [cap_alloc.o] Error 1
make[1]: Leaving directory `/tmp/proftpd-1.3.2rc1/lib/libcap'
make: *** [dirs] Error 2



libcap.h:57:3: error: #error "Kernel <linux/capability.h> does not match library"
libcap.h:58:3: error: #error "file "libcap.h" --> fix and recompile libcap"




I was w /etc/init.d/proftpd start
Starting ProFTPD Server: - Fatal: UseIPv6: Use of the UseIPv6 directive requires IPv6 support (--enable-ipv6) on line 14 of '/etc/proftpd.conf'
startproc: exit status of parent of /usr/local/sbin/proftpd: 1
failed

ondering if someone could tell me what to do in order to fix the error so I can get ProFTPd installed.

thanks for your assistance

falko
16th July 2008, 18:47
This thread might help: http://www.howtoforge.com/forums/showthread.php?t=24649&highlight=proftpd+opensuse

Regarding the IPv6 error: disable IPv6 in your proftpd.conf.

briand0713
16th July 2008, 19:50
IPv6 was originally set to 'off' in the conf but Ill check out the page

itmanager
16th July 2008, 22:05
@briand0713:

For the ipv6 problem, per this site (http://www.directadmin.com/forum/showthread.php?p=129947):

Remove line 14 from /etc/proftpd.conf or add "--enable-ipv6 \" to /usr/local/directadmin/custombuild/configure/proftpd/configure.proftpd file and run "./build proftpd" again.
If you want to save that new "configure.proftpd" file and use it with every proftpd update, do:
Code:

mkdir -p /usr/local/directadmin/custombuild/custom/proftpd
cp -Rp /usr/local/directadmin/custombuild/configure/proftpd/configure.proftpd /usr/local/directadmin/custombuild/custom/proftpd/

Good luck!


I personally just commented the line out with a # in front of that line.

Also, just for the sake that Google brought this discussion up first for the:
libcap.h:57:3: error: #error "Kernel <linux/capability.h> does not match library" error, here is the fix:

yast -i libcap libcap-devel

Easy enough, eh? That fix is per the forum thread that Falko posted above, but it doesn't hurt to add it here either... ??? I hope.

Also, @Falko, should that be added to the guide (http://www.howtoforge.com/perfect-server-opensuse11)? I don't remember seeing it when I followed this guide. BTW, you rock! Thanks so much for all your guides and help. I've been using your guides since... The "Perfect SuSE 9"?...

mirtol
28th January 2009, 16:01
On openSuSE 11.1 with both libcap1 and libcap2 installed this failed as well.

My solution was:

After ./configure

1. Edit Makefile and change DIRS=lib/libcap to DIRS=
2. Edit Make.rules and remove -Llib/libcap from LIBS= (leave -lcap)
3. Edit modules/mod_cap.c and change include for compatibility.h to # include <sys/capability.h>

This uses the kernel header and kernel library rather than the one included in the distribution.