When building kannel (1.4.0) with mysql (mysql and mysqli added to the USE flags) the error "error: conflicting types for `list_delete'" apears. The list_delete is (previously) defined in "gwlib/list.h:179", and when it is (again) defined in "/usr/include/mysql/my_list.h:32", the error occurs... Reproducible: Always Steps to Reproduce: 1. emerge kannel Actual Results: gcc -D_REENTRANT=1 -I. -Igw -Os -march=i686 -pipe -fomit-frame-pointer -D_XOPEN_SOURCE=600 -D_BSD_SOURCE -DBROKEN_PTHREADS=1 -I/usr/include/libxml2 -Wall -I/usr/include/openssl -I/usr/include/mysql -o gw/dlr_mysql.o -c gw/dlr_mysql.c In file included from /usr/include/mysql/mysql.h:62, from gw/dlr_mysql.c:74: /usr/include/mysql/my_list.h:32: error: conflicting types for `list_delete' gwlib/list.h:179: error: previous declaration of `list_delete' make: *** [gw/dlr_mysql.o] Error 1 Expected Results: compiled and installed app-mobilephone/kannel... ;) Portage 2.0.51.22-r2 (default-linux/x86/2005.1, gcc-3.3.5-20050130, glibc-2.3.4.20041102-r1, 2.6.14-gentoo-r2 i686) ================================================================= System uname: 2.6.14-gentoo-r2 i686 Intel(R) Celeron(R) CPU 2.60GHz Gentoo Base System version 1.6.13 dev-lang/python: 2.3.5-r2 sys-apps/sandbox: 1.2.11 sys-devel/autoconf: 2.13, 2.59-r6 sys-devel/automake: 1.4_p6, 1.5, 1.6.3, 1.7.9-r1, 1.8.5-r3, 1.9.5 sys-devel/binutils: 2.15.92.0.2-r10 sys-devel/libtool: 1.5.18-r1 virtual/os-headers: 2.6.11-r2 ACCEPT_KEYWORDS="x86" AUTOCLEAN="yes" CBUILD="i686-pc-linux-gnu" CFLAGS="-Os -march=i686 -pipe -fomit-frame-pointer" CHOST="i686-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="-Os -march=i686 -pipe -fomit-frame-pointer" DISTDIR="/usr/portage/distfiles" FEATURES="autoconfig distlocks sandbox sfperms strict" GENTOO_MIRRORS="http://distfiles.gentoo.org http://distro.ibiblio.org/pub/Linux/distributions/gentoo" PKGDIR="/usr/portage/packages" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/usr/portage" SYNC="rsync://rsync.gentoo.org/gentoo-portage" USE="x86 acpi apache2 bash-completion berkdb bzip2 crypt curl expat ftp gd gdbm gif gpm innodb jpeg libwww maildir mhash mysql mysqli ncurses nptl offensive pam pcre perl php png python readline sharedext soap sqlite sse ssl tcpd threads udev usb xml2 xmlrpc zlib userland_GNU kernel_linux elibc_glibc" Unset: ASFLAGS, CTARGET, LANG, LC_ALL, LDFLAGS, LINGUAS, MAKEOPTS, PORTDIR_OVERLAY
Solved by renaming function to list_delete_at (the old name is used by mysql-4.1). I've fixed without revision bump because: - the old version is uncompilable in a environment with >=dev-db/mysql-4.1 (but it works with mysql-4.0) - the new version doesn't bring anything new The fix is in CVS and it should hit the rsync servers in about 1 hour.