Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 266806 - net-ftp/vsftpd-2.1.0 fails to build without latest libcap
Summary: net-ftp/vsftpd-2.1.0 fails to build without latest libcap
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: New packages (show other bugs)
Hardware: x86 Linux
: High major (vote)
Assignee: No maintainer - Look at https://wiki.gentoo.org/wiki/Project:Proxy_Maintainers if you want to take care of it
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2009-04-19 21:21 UTC by Razvan Cojocaru
Modified: 2009-05-30 11:29 UTC (History)
0 users

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


Attachments
Update of existing vsftp-2.1.0 patch for vsftp-2.1.1 (vsftpd-2.1.1-dont-link-caps.patch,754 bytes, patch)
2009-05-29 10:28 UTC, Sebastian Schuberth
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Razvan Cojocaru 2009-04-19 21:21:38 UTC
I've upgraded my GCC to 4.3.2 (from the Gentoo portage tree) and set it to be my default system compiler. Today after emerge --sync and emerge -uD world, this happened while trying to compile vsftpd:

i686-pc-linux-gnu-gcc -c sysdeputil.c -O2 -march=i686 -pipe -idirafter dummyinc
sysdeputil.c:520: error: conflicting types for 'capset'
sysdeputil.c:166: error: previous definition of 'capset' was here
make: *** [sysdeputil.o] Error 1
 * 
 * ERROR: net-ftp/vsftpd-2.1.0 failed.
 * Call stack:
 *               ebuild.sh, line   49:  Called src_compile
 *             environment, line 2139:  Called die
 * The specific snippet of code:
 *       emake CFLAGS="${CFLAGS}" CC="$(tc-getCC)" || die
 *  The die message:
 *   (no error message)
 * 
 * If you need support, post the topmost build error, and the call stack if relevant.
 * A complete build log is located at '/var/tmp/portage/net-ftp/vsftpd-2.1.0/temp/build.log'.
 * The ebuild environment file is located at '/var/tmp/portage/net-ftp/vsftpd-2.1.0/temp/environment'.
 * 

Compiling vsftpd works with the previous Gentoo version of GCC (I think it was 4.1).

Reproducible: Always

Steps to Reproduce:
1. Set your system default compiler to gcc 4.3.2 (gcc-config i686-pc-linux-gnu-4.3.2).
2. Do an emerge --sync.
3. Do an emerge vsftpd.

Actual Results:  
i686-pc-linux-gnu-gcc -c sysdeputil.c -O2 -march=i686 -pipe -idirafter dummyinc
sysdeputil.c:520: error: conflicting types for 'capset'
sysdeputil.c:166: error: previous definition of 'capset' was here
make: *** [sysdeputil.o] Error 1
 * 
 * ERROR: net-ftp/vsftpd-2.1.0 failed.
 * Call stack:
 *               ebuild.sh, line   49:  Called src_compile
 *             environment, line 2139:  Called die
 * The specific snippet of code:
 *       emake CFLAGS="${CFLAGS}" CC="$(tc-getCC)" || die
 *  The die message:
 *   (no error message)
 * 
 * If you need support, post the topmost build error, and the call stack if relevant.
 * A complete build log is located at '/var/tmp/portage/net-ftp/vsftpd-2.1.0/temp/build.log'.
 * The ebuild environment file is located at '/var/tmp/portage/net-ftp/vsftpd-2.1.0/temp/environment'.
 * 

Expected Results:  
Properly installed new version of vsftpd.
Comment 1 Razvan Cojocaru 2009-04-19 21:28:57 UTC
$ gcc -v
Using built-in specs.
Target: i686-pc-linux-gnu
Configured with: /var/tmp/portage/sys-devel/gcc-4.3.2-r3/work/gcc-4.3.2/configure --prefix=/usr --bindir=/usr/i686-pc-linux-gnu/gcc-bin/4.3.2 --includedir=/usr/lib/gcc/i686-pc-linux-gnu/4.3.2/include --datadir=/usr/share/gcc-data/i686-pc-linux-gnu/4.3.2 --mandir=/usr/share/gcc-data/i686-pc-linux-gnu/4.3.2/man --infodir=/usr/share/gcc-data/i686-pc-linux-gnu/4.3.2/info --with-gxx-include-dir=/usr/lib/gcc/i686-pc-linux-gnu/4.3.2/include/g++-v4 --host=i686-pc-linux-gnu --build=i686-pc-linux-gnu --disable-altivec --disable-fixed-point --enable-nls --without-included-gettext --with-system-zlib --disable-checking --disable-werror --enable-secureplt --disable-multilib --enable-libmudflap --disable-libssp --enable-libgomp --disable-libgcj --with-arch=i686 --enable-languages=c,c++,treelang,fortran --enable-shared --enable-threads=posix --enable-__cxa_atexit --enable-clocale=gnu --with-bugurl=http://bugs.gentoo.org/ --with-pkgversion='Gentoo 4.3.2-r3 p1.6, pie-10.1.5'
Thread model: posix
gcc version 4.3.2 (Gentoo 4.3.2-r3 p1.6, pie-10.1.5) 
Comment 2 Rafał Mużyło 2009-04-19 22:03:56 UTC
It does not look like a gcc 4.3 failure.
More info, please:
- output of 'emerge -1pv net-ftp/vsftpd'
- output of 'equery l libcap'
Comment 3 Razvan Cojocaru 2009-04-20 07:26:32 UTC
# emerge -1pv net-ftp/vsftpd

These are the packages that would be merged, in order:

Calculating dependencies... done!
[ebuild     U ] net-ftp/vsftpd-2.1.0 [2.0.7-r1] USE="pam ssl tcpd -caps (-selinux) -xinetd" 175 kB

Total: 1 package (1 upgrade), Size of downloads: 175 kB

equery l libcap
[ Searching for package 'libcap' in all categories among: ]
 * installed packages
[I--] [M ] sys-libs/libcap-1.10-r11 (0)
Comment 4 Razvan Cojocaru 2009-04-20 07:34:55 UTC
Indeed, you were right - it is not a GCC version issue.

I just emerged libcap, and this has brought in sys-libs/libcap-2.16. After that, vsftpd did compile and install. However, if that is a required dependency, I assumed that emerge -uD world would have taken care of that...
Comment 5 Rafał Mużyło 2009-04-20 12:28:44 UTC
It seems, that the patch that makes it an optional dep
is not quite correct. But it's in maintainer-needed,
so it's not that surprising.
Comment 6 Sebastian Schuberth 2009-05-29 10:28:14 UTC
Created attachment 192846 [details, diff]
Update of existing vsftp-2.1.0 patch for vsftp-2.1.1

FYI, I've attached an updated version of the existing "vsftpd-2.1.0-dont-link-caps.patch" that works with vsftpd-2.1.1.
Comment 7 Raúl Porcel (RETIRED) gentoo-dev 2009-05-30 11:29:22 UTC
Since libcap-1 is gone from the tree, i've forced the depend on libcap-2.