Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 84280 - vsftpd 1.2.2 and 2.0.1 compile error - sysdeputil.c In function capset
Summary: vsftpd 1.2.2 and 2.0.1 compile error - sysdeputil.c In function capset
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: x86 Linux
: High major (vote)
Assignee: Rajiv Aaron Manglani (RETIRED)
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2005-03-06 02:55 UTC by felix groebert
Modified: 2007-01-06 16:55 UTC (History)
0 users

See Also:
Package list:
Runtime testing required: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description felix groebert 2005-03-06 02:55:50 UTC
when trying to emerge vsftpd 1.2.2 and 2.0.1 sysdeputil won't compile:

sysdeputil.c: In function `capset':
sysdeputil.c:160: error: can't find a register in class `BREG' while reloading `asm'
make: *** [sysdeputil.o] Error 1

complete dump:

udun root emerge vsftpd
Calculating dependencies ...done!
>>> emerge (1 of 1) net-ftp/vsftpd-1.2.2 to /
>>> md5 src_uri ;-) vsftpd-1.2.2.tar.gz
>>> Unpacking source...
>>> Unpacking vsftpd-1.2.2.tar.gz to /var/tmp/portage/vsftpd-1.2.2/work
 * Applying vsftpd-1.2.1-gentoo.diff.bz2 ...                                                    [ ok ]
>>> Source unpacked.
gcc -c main.c -O2 -mcpu=i686 -fomit-frame-pointer -DUSE_PAM -idirafter dummyinc
gcc -c utility.c -O2 -mcpu=i686 -fomit-frame-pointer -DUSE_PAM -idirafter dummyinc
gcc -c prelogin.c -O2 -mcpu=i686 -fomit-frame-pointer -DUSE_PAM -idirafter dummyinc
gcc -c ftpcmdio.c -O2 -mcpu=i686 -fomit-frame-pointer -DUSE_PAM -idirafter dummyinc
gcc -c postlogin.c -O2 -mcpu=i686 -fomit-frame-pointer -DUSE_PAM -idirafter dummyinc
gcc -c privsock.c -O2 -mcpu=i686 -fomit-frame-pointer -DUSE_PAM -idirafter dummyinc
gcc -c tunables.c -O2 -mcpu=i686 -fomit-frame-pointer -DUSE_PAM -idirafter dummyinc
gcc -c ftpdataio.c -O2 -mcpu=i686 -fomit-frame-pointer -DUSE_PAM -idirafter dummyinc
gcc -c secbuf.c -O2 -mcpu=i686 -fomit-frame-pointer -DUSE_PAM -idirafter dummyinc
gcc -c ls.c -O2 -mcpu=i686 -fomit-frame-pointer -DUSE_PAM -idirafter dummyinc
gcc -c postprivparent.c -O2 -mcpu=i686 -fomit-frame-pointer -DUSE_PAM -idirafter dummyinc
gcc -c logging.c -O2 -mcpu=i686 -fomit-frame-pointer -DUSE_PAM -idirafter dummyinc
gcc -c str.c -O2 -mcpu=i686 -fomit-frame-pointer -DUSE_PAM -idirafter dummyinc
gcc -c netstr.c -O2 -mcpu=i686 -fomit-frame-pointer -DUSE_PAM -idirafter dummyinc
gcc -c sysstr.c -O2 -mcpu=i686 -fomit-frame-pointer -DUSE_PAM -idirafter dummyinc
gcc -c strlist.c -O2 -mcpu=i686 -fomit-frame-pointer -DUSE_PAM -idirafter dummyinc
gcc -c banner.c -O2 -mcpu=i686 -fomit-frame-pointer -DUSE_PAM -idirafter dummyinc
gcc -c filestr.c -O2 -mcpu=i686 -fomit-frame-pointer -DUSE_PAM -idirafter dummyinc
gcc -c parseconf.c -O2 -mcpu=i686 -fomit-frame-pointer -DUSE_PAM -idirafter dummyinc
gcc -c secutil.c -O2 -mcpu=i686 -fomit-frame-pointer -DUSE_PAM -idirafter dummyinc
gcc -c ascii.c -O2 -mcpu=i686 -fomit-frame-pointer -DUSE_PAM -idirafter dummyinc
gcc -c oneprocess.c -O2 -mcpu=i686 -fomit-frame-pointer -DUSE_PAM -idirafter dummyinc
gcc -c twoprocess.c -O2 -mcpu=i686 -fomit-frame-pointer -DUSE_PAM -idirafter dummyinc
gcc -c privops.c -O2 -mcpu=i686 -fomit-frame-pointer -DUSE_PAM -idirafter dummyinc
gcc -c standalone.c -O2 -mcpu=i686 -fomit-frame-pointer -DUSE_PAM -idirafter dummyinc
gcc -c hash.c -O2 -mcpu=i686 -fomit-frame-pointer -DUSE_PAM -idirafter dummyinc
gcc -c tcpwrap.c -O2 -mcpu=i686 -fomit-frame-pointer -DUSE_PAM -idirafter dummyinc
gcc -c ipv6parse.c -O2 -mcpu=i686 -fomit-frame-pointer -DUSE_PAM -idirafter dummyinc
gcc -c access.c -O2 -mcpu=i686 -fomit-frame-pointer -DUSE_PAM -idirafter dummyinc
gcc -c sysutil.c -O2 -mcpu=i686 -fomit-frame-pointer -DUSE_PAM -idirafter dummyinc
gcc -c sysdeputil.c -O2 -mcpu=i686 -fomit-frame-pointer -DUSE_PAM -idirafter dummyinc
sysdeputil.c: In function `capset':
sysdeputil.c:160: error: can't find a register in class `BREG' while reloading `asm'
make: *** [sysdeputil.o] Error 1
make: *** Waiting for unfinished jobs....

!!! ERROR: net-ftp/vsftpd-1.2.2 failed.
!!! Function src_compile, Line 31, Exitcode 2
!!! (no error message)
!!! If you need support, post the topmost build error, NOT this status message.


Reproducible: Always
Steps to Reproduce:
1.emerge --sync
2.emerge vsftpd
3.*bang*
Actual Results:  
vsftpd did not compile. vsftpd did not install. no vsftpd

Expected Results:  
vsftpd should serve as my ftpd

Portage 2.0.51.19 (default-linux/x86/xbox, gcc-3.3.5, glibc-2.3.4.20040808-r1, 2.6.10-xbox i686)
===============================================================
==
System uname: 2.6.10-xbox i686 Celeron (Coppermine)
Gentoo Base System version 1.4.16
Python:              dev-lang/python-2.3.4-r1 [2.3.4 (#1, Feb 17 2005, 19:15:23)]
dev-lang/python:     2.3.4-r1
sys-devel/autoconf:  2.13, 2.59-r6
sys-devel/automake:  1.5, 1.9.4, 1.6.3, 1.7.9-r1, 1.4_p6, 1.8.5-r3
sys-devel/binutils:  2.15.92.0.2-r1
sys-devel/libtool:   1.5.10-r4
virtual/os-headers:  2.6.8.1-r2
ACCEPT_KEYWORDS="x86"
AUTOCLEAN="yes"
CFLAGS="-O2 -mcpu=i686 -fomit-frame-pointer"
CHOST="i386-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/kde/2/share/config /usr/kde/3/share/config /usr/share/config /var/
qmail/control"
CONFIG_PROTECT_MASK="/etc/gconf /etc/terminfo /etc/env.d"
CXXFLAGS="-O2 -mcpu=i686 -fomit-frame-pointer"
DISTDIR="/usr/portage/distfiles"
FEATURES="autoaddcvs autoconfig ccache distlocks sandbox sfperms"
GENTOO_MIRRORS="http://ftp-stud.fht-esslingen.de/pub/Mirrors/gentoo/ ftp://ftp-stud.fht-
esslingen.de/pub/Mirrors/gentoo/ ftp://ftp.tu-clausthal.de/pub/linux/gentoo/ ftp://
sunsite.informatik.rwth-aachen.de/pub/Linux/gentoo"
MAKEOPTS="-j2"
PKGDIR="/usr/portage/packages"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
SYNC="rsync://rsync.gentoo.org/gentoo-portage"
USE="x86 aalib apm arts avi bash-completion berkdb bitmap-fonts crypt cups emboss encode f77 
font-server foomaticdb fortran ftp gdbm gif gpm hardened imlib ipv6 jpeg libg++ libwww mad 
mikmod motif mpeg ncurses nls oggvorbis opengl oscar oss pam pdflib perl png python quicktime 
readline real sdl slang spell ssl svg svga tcpd theora truetype truetype-fonts type1-fonts usb xml2 
xmms xv xvid zlib"
Unset:  ASFLAGS, CBUILD, CTARGET, LANG, LC_ALL, LDFLAGS, PORTDIR_OVERLAY
Comment 1 Tom Martin (RETIRED) gentoo-dev 2005-03-06 03:59:00 UTC
Please only assign staff-related bugs to devrel.

Thanks.
Comment 2 felix groebert 2005-03-07 13:57:50 UTC
i downloaded vsftpd version 2.0.2 and tried

make

gcc -c sysdeputil.c -O2 -Wall -W -Wshadow  -idirafter dummyinc
sysdeputil.c: In function `capset':
sysdeputil.c:161: error: can't find a register in class `BREG' while reloading `asm'
make: *** [sysdeputil.o] Error 1

gcc --version

gcc (GCC) 3.3.5  (Gentoo Hardened Linux 3.3.5-r1, ssp-3.3.2-3, pie-8.7.7.1)

also the FAQ cites
Q) Help! I'm getting the error "OOPS: capset" when I try to connect to vsftpd.
A) This is an issue with SELinux enabled distributions. The solution is to
make sure the capability kernel module is loaded.

i supposed it has to do with library or gcc problems
Comment 3 felix groebert 2005-03-09 12:08:11 UTC
this fixed the problem:

CFLAGS="-nopie -fno-stack-protector-all -fno-stack-protector" emerge vsftpd

from the hardened faq:
http://www.gentoo.org/proj/en/hardened/hardenedfaq.xml#hardenedcflagsoff