Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 113758 - confcache kills cyrus-sasl compile
Summary: confcache kills cyrus-sasl compile
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: High normal (vote)
Assignee: Net-Mail Packages
URL:
Whiteboard:
Keywords:
Depends on: 122966
Blocks:
  Show dependency tree
 
Reported: 2005-11-27 19:59 UTC by Ryan Hill (RETIRED)
Modified: 2006-03-09 15:52 UTC (History)
2 users (show)

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


Attachments
config.log for failed build (config.log.fail,47.18 KB, text/plain)
2005-11-27 20:05 UTC, Ryan Hill (RETIRED)
Details
config.log for successful build (config.log.pass,83.85 KB, text/plain)
2005-11-27 20:09 UTC, Ryan Hill (RETIRED)
Details
config.status.diff (config.status.diff,6.58 KB, text/plain)
2005-11-27 20:32 UTC, Ryan Hill (RETIRED)
Details
config.cache.diff (config.cache.diff,33.67 KB, text/plain)
2005-11-27 20:34 UTC, Ryan Hill (RETIRED)
Details
contents of cache at time of error (confcache.tar.bz2,50.71 KB, application/octet-stream)
2005-11-28 05:28 UTC, Ryan Hill (RETIRED)
Details
ebuild list (pkg,1.39 KB, text/plain)
2006-02-11 20:25 UTC, Ryan Hill (RETIRED)
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Ryan Hill (RETIRED) gentoo-dev 2005-11-27 19:59:23 UTC
emerging cyrus-sasl-2.1.21-r1 when using confcache causes the compile to die:

--
i686-pc-linux-gnu-gcc -Wall -W -O2 -march=prescott -fomit-frame-pointer -pipe
-fno-ident -Wl,-O1 -o pwcheck pwcheck.o pwcheck_getspnam.lo -lresolv -lresolv
pwcheck_getspnam.lo: In function `pwcheck':pwcheck_getspnam.c:(.text+0x31):
undefined reference to `crypt'
collect2: ld returned 1 exit status
make[2]: *** [pwcheck] Error 1
make[2]: Leaving directory
`/var/tmp/portage/cyrus-sasl-2.1.21-r1/work/cyrus-sasl-2.1.21/pwcheck'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory
`/var/tmp/portage/cyrus-sasl-2.1.21-r1/work/cyrus-sasl-2.1.21'
make: *** [all] Error 2

!!! ERROR: dev-libs/cyrus-sasl-2.1.21-r1 failed.
!!! Function src_compile, Line 181, Exitcode 2
--

"FEATURES=-confcache emerge cyrus-sasl" is successful.  i'll attach a config.log
for a failed and completed build.  would any files from ~/.confcache help as well?


Portage 2.0.53_rc7 (default-linux/x86/2005.1, gcc-4.0.3-beta20051124,
glibc-2.3.6-r1, 2.6.14-ck5 i686)
=================================================================
System uname: 2.6.14-ck5 i686 Mobile Intel(R) Pentium(R) 4 CPU 3.06GHz
Gentoo Base System version 1.12.0_pre11
ccache version 2.4 [enabled]
dev-lang/python:     2.4.2
sys-apps/sandbox:    1.2.13
sys-devel/autoconf:  2.13, 2.59-r7
sys-devel/automake:  1.4_p6, 1.5, 1.6.3, 1.7.9-r1, 1.8.5-r3, 1.9.6-r1
sys-devel/binutils:  2.16.91.0.3, 2.16.91.0.4
sys-devel/libtool:   1.5.20-r1
virtual/os-headers:  2.6.11-r3
ACCEPT_KEYWORDS="x86 ~x86"
AUTOCLEAN="yes"
CBUILD="i686-pc-linux-gnu"
CFLAGS="-O2 -march=prescott -fomit-frame-pointer -pipe -fno-ident"
CHOST="i686-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/kde/2/share/config /usr/kde/3.4/env
/usr/kde/3.4/share/config /usr/kde/3.4/shutdown /usr/kde/3/share/config
/usr/share/X11/xkb /usr/share/config /var/qmail/control"
CONFIG_PROTECT_MASK="/etc/gconf /etc/terminfo /etc/env.d"
CXXFLAGS="-O2 -march=prescott -fomit-frame-pointer -pipe -fno-ident
-fvisibility-inlines-hidden"
DISTDIR="/usr/portage/distfiles"
FEATURES="autoconfig ccache confcache distlocks parallel-fetch sandbox sfperms"
GENTOO_MIRRORS="http://gentoo.chem.wisc.edu/gentoo/"
LDFLAGS="-Wl,-O1"
LINGUAS="en"
MAKEOPTS="-j3"
PKGDIR="/usr/portage/packages"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
PORTDIR_OVERLAY="/home/dirtyepic/overlay"
SYNC="rsync://rsync.gentoo.org/gentoo-portage"
USE="x86 X a52 aac acpi alsa avi bash-completion berkdb bzip2 cdr crypt curl
dbus dri dts dvd dvdr dvdread encode exif fam ffmpeg fftw firefox flac gdbm gif
gnutls gphoto2 gtk gtk2 hal imagemagick imlib java jpeg kde mad mmap mmx mng mp3
mpeg mpi ncurses nntp nptl nsplugin ogg oggvorbis opengl pcmcia perl pic png
python qt quicktime readline ruby sdl sse sse2 ssl svg tcpd threads tiff
truetype usb vcd vorbis wifi win32codecs xine xml xml2 xv xvid zlib linguas_en
userland_GNU kernel_linux elibc_glibc"
Unset:  ASFLAGS, CTARGET, LANG, LC_ALL
Comment 1 Ryan Hill (RETIRED) gentoo-dev 2005-11-27 20:01:40 UTC
[ebuild   R   ] dev-libs/cyrus-sasl-2.1.21-r1  -authdaemond +berkdb +crypt +gdbm
+java -kerberos -ldap -mysql -ntlm_unsupported_patch -pam -postgres -sample -srp
+ssl +urandom 0 kB
Comment 2 Ryan Hill (RETIRED) gentoo-dev 2005-11-27 20:05:47 UTC
Created attachment 73702 [details]
config.log for failed build
Comment 3 Ryan Hill (RETIRED) gentoo-dev 2005-11-27 20:09:23 UTC
Created attachment 73703 [details]
config.log for successful build
Comment 4 Alec Warner (RETIRED) archtester gentoo-dev Security 2005-11-27 20:16:46 UTC
I assume this is with ferringb's pyconfcache, and if so, what version of 
pyconfcache are you using?

If it's not pyconfcache please specify what confcache you are using :)
Comment 5 Ryan Hill (RETIRED) gentoo-dev 2005-11-27 20:23:18 UTC
oops.  this is dev-utils/confcache-0.3.3 from portage, which i believe is
brian's pyconfcache.
Comment 6 Ryan Hill (RETIRED) gentoo-dev 2005-11-27 20:32:51 UTC
Created attachment 73704 [details]
config.status.diff

these diffs of config.status and config.cache should be a lot more helpful to
you than the config.logs.
Comment 7 Ryan Hill (RETIRED) gentoo-dev 2005-11-27 20:34:03 UTC
Created attachment 73705 [details]
config.cache.diff
Comment 8 Ryan Hill (RETIRED) gentoo-dev 2005-11-27 20:37:02 UTC
especially these parts:

(config.status)
-s,@LIB_CRYPT@,,;t t
+s,@LIB_CRYPT@,-lcrypt,;t t
 s,@GSSAPI_LIBS@,,;t t
 s,@GSSAPIBASE_LIBS@,,;t t
-s,@PLAIN_LIBS@,,;t t
+s,@PLAIN_LIBS@,-lcrypt,;t t

(config.cache)
-ac_cv_func_crypt=${ac_cv_func_crypt=yes}
+ac_cv_func_crypt=${ac_cv_func_crypt=no}
Comment 9 Alec Warner (RETIRED) archtester gentoo-dev Security 2005-11-27 20:49:59 UTC
Assigning to Brian as it's his package :)  I assume I'm correct in keeping this 
out of dev-portage Brian?
Comment 10 Brian Harring (RETIRED) gentoo-dev 2005-11-27 23:17:00 UTC
Alec: yeah, confcache horkage falls on my head (regardless if the portage
integration goes mainline or not). :)

Ryan: Backup a copy of /var/tmp/confcache (attach the tarball here please),
remove the directory, and try it again.  Offhand, roughly a test got cached
stating crypt wasn't available, which confcache is (obviously) missing testing.

Mildly whacko, but a possibility here is that the original test was stat based,
and sandbox isn't logging stat calls.  Either way, can look through the file db
and do some digging, then do some digging in sandbox code (again). :)
Comment 11 Ryan Hill (RETIRED) gentoo-dev 2005-11-28 05:28:20 UTC
Created attachment 73722 [details]
contents of cache at time of error
Comment 12 Diego Elio Pettenò (RETIRED) gentoo-dev 2006-01-15 04:21:57 UTC
Actually, the opposite, there's a configure with a broken test out there, that checks for crypt() presence while adding -lcrypt; the checked files are the same (because cyrus-sasl is actually checking crypt() function in -lcrypt later) but in the first case it would tell that there's crypt() without needing any external library.

I don't think there's a way to fix that in confcache itself, so we would have to check what was merged before cyrus-sasl when it broke and find the misbehaving configure and fix it.

I think this is still one of the main drawbacks: if ocnfigures does stupid things, they can break lots of stuff.
Comment 13 Brian Harring (RETIRED) gentoo-dev 2006-02-08 21:41:49 UTC
Fix via adding RESTRICT='confcache' to the ebuild if it's not fixed by the 0.4.1 release.
Comment 14 Ryan Hill (RETIRED) gentoo-dev 2006-02-11 20:24:30 UTC
okay i just hit this again tonight so looks like confcache-0.4.1 doesn't fix it.  does RESTRICT='confcache' need to be added to cyrus-sasl or to the package that has the broken configure?

i'll attach the list of the ebuilds emerged before cyrus-sasl.  it's long but better than nothing.  i'll try to narrow it down a bit unless someone thinks it's not worth the trouble. =P
Comment 15 Ryan Hill (RETIRED) gentoo-dev 2006-02-11 20:25:13 UTC
Created attachment 79549 [details]
ebuild list
Comment 16 Ryan Hill (RETIRED) gentoo-dev 2006-02-11 22:04:11 UTC
got it.  it's dev-lang/ruby.
Comment 17 Brian Harring (RETIRED) gentoo-dev 2006-03-09 15:46:23 UTC
*bump*
Comment 18 Diego Elio Pettenò (RETIRED) gentoo-dev 2006-03-09 15:52:12 UTC
All of ruby is confcache-restricted already, so this instance is fixed.
The main issue here is that confcache should probably simply ignore to cache some values as they are often mishandled by the configures...
I'll try to get a /usr/share/confcache/blacklist file working in the next days, if I find time for them (right now I'm feverish, better NOT hack at it).