Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 15401 - postfix-2.0.3.ebuild mysql support fails
Summary: postfix-2.0.3.ebuild mysql support fails
Status: RESOLVED WORKSFORME
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: New packages (show other bugs)
Hardware: x86 Linux
: High normal (vote)
Assignee: Nick Hadaway
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2003-02-09 19:53 UTC by Ken Nowack
Modified: 2003-02-13 02:25 UTC (History)
1 user (show)

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 Ken Nowack 2003-02-09 19:53:11 UTC
Hello,

Postfix is being built without mysql support even with USE="mysql".

Here are the clfags, ccargs, and auxlibs used for the compile:

USE="ssl sasl pam mysql maildir imap -kerberos -ldap"
CFLAGS="-march=k6-2 -O2 -pipe"
CCARGS="-DHAS_SSL -I/usr/include/sasl -DUSE_SASL_AUTH -DHAS_MYSQL
-I/usr/include/mysql -DHAS_PCRE"
AUXLIBS="-lssl -lcrypto -lsasl2 -lmysqlclient -lm -lz -lpam -L/usr/lib -lpcre
-ldl -lcrypt"

Here's a snippet from the compiler output:
distcc  -march=k6-2 -O2 -pipe -I. -I../../include -DLINUX2 -o pipe pipe.o
../../lib/libmaster.a ../../lib/libglobal.a ../../lib/libutil.a -lssl -lcrypto
-lsasl2 -lmysqlclient -lm -lz -lpam -L/usr/lib -lpcre -ldl -lcrypt -ldb -lnsl
-lresolv

So we see that the flags are indeed being passed to the compiler. I can't see
any error output during hte make process either.

And yet, after the install, I get no mysql support:

/var/log/mail/current -> fatal: unsupported dictionary type: mysql

And here's the output of "postconf -m"
root -> postconf -m
static
sdbm
nis
regexp
environ
proxy
btree
unix
hash


So where did mysql support go? Does anyone have any ideas how to fix this?
Comment 1 Ken Nowack 2003-02-10 12:02:04 UTC
I've updated gcc, gcc-config, glibc, texinfo, pam, cyrus-sasl, mysql, and postfix. The only other thing I can think of is that this has something to do with the gcc-2.95.3 -> gcc-3.2.1-r6 update I did a month ago.

root@kickasskungfu.com > emerge info
Portage 2.0.46-r12 (default-x86-1.4, gcc-3.2.1, glibc-2.2.5-r4,2.3.1-r2)
=================================================================
System uname: 2.4.19-gentoo-r7 i586 AMD-K6(tm) 3D processor
GENTOO_MIRRORS="http://gentoo.oregonstate.edu http://distro.ibiblio.org/pub/Linux/distributions/gentoo"
CONFIG_PROTECT="/etc /var/qmail/control /usr/kde/2/share/config /usr/X11R6/lib/X11/xkb /usr/kde/3/share/config /usr/share/config"
CONFIG_PROTECT_MASK="/etc/gconf /etc/env.d"
PORTDIR="/usr/portage"
DISTDIR="/mnt/win_c/distfiles"
PKGDIR="/usr/portage/packages"
PORTAGE_TMPDIR="/mnt/win_c"
PORTDIR_OVERLAY="/usr/portage.local/"
USE="x86 oss 3dnow apm avi crypt cups encode gif jpeg kde gnome libg++ mikmod mmx mpeg ncurses nls pdflib png qtmt quicktime spell truetype xml2 xmms xv zlib gtkhtml alsa gdbm berkdb slang readline arts bonobo svga java guile sdl gpm tcpd libwww perl python esd imlib oggvorbis gtk qt motif opengl mozilla snmp X tcltk ssl sasl pam mysql maildir imap -kerberos -ldap"
COMPILER="gcc3"
CHOST="i586-pc-linux-gnu"
CFLAGS="-march=k6-2 -O2 -pipe"
CXXFLAGS="-march=k6-2 -O2 -pipe"
ACCEPT_KEYWORDS="x86"
MAKEOPTS="-j3"
AUTOCLEAN="yes"
SYNC="rsync://rsync.gentoo.org/gentoo-portage"
FEATURES="sandbox ccache buildpkg"


Postfix is being compiled with mysql use flags. I see it compile the dict_mysql.c code, as well as watch the mysql compiler flags scroll by during the build. An when doing a strace, I see the program load the libmysqlclient.so:

open("/usr/lib/libmysqlclient.so.10", O_RDONLY) = 3
read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\220\201"..., 1024) = 1024
fstat64(3, {st_mode=S_IFREG|0755, st_size=244048, ...}) = 0
mmap2(NULL, 222752, PROT_READ|PROT_EXEC, MAP_PRIVATE, 3, 0) = 0x4011c000
mprotect(0x4013a000, 99872, PROT_NONE)  = 0
mmap2(0x4013a000, 102400, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED, 3, 0x1d) = 0x4013a000
close(3)                                = 0

I also noticed that postfix was trying to contact nscd for some kind of resolution. /var/run/.nscd_socket: no such file or directory. There seems to be no mention of this in the postfix doc's or makefiles. nscd and nsswitch appear to be part of baselayout. And thats the part which makes me think this whole mess could be related to the gcc update. I never even knew those files were there until this postfix problem happened.

No matter what I tried it all ends up the same, no mysql support.

root -> postconf -m
static
sdbm
nis
regexp
environ
proxy
btree
unix
hash

To sum up, I started with a working postfix-1.1.20020917-r1 install with mysql support. I then upgraded to 2.0.3 which had no mysql support. I then updated a whole bunch of stuff on my system to see if I could get it to compile correctly and still had no luck. So then I tried going back to my old working version, and it too has the same problem now. My whole email system is based upon mysql backend. Anyone else have any ideas? Any help would be appreciated.
Comment 2 Ken Nowack 2003-02-10 14:33:46 UTC
Today I recompiled every package that links against libmysqlclient.so to rule that out as an issue. This included glibc, libpcre, db, openssl, and mysql itself. I then redid postfix and got the same mysql issue, as well as this:

warning: smtpd_sasl_auth_enable is true, but SASL support is not compiled in

So now I have no sasl or mysql. What the heck is going on here?
Comment 3 Ken Nowack 2003-02-10 16:36:30 UTC
It appears now that libmysqlclient and libsasl2 are being compiled in, but still I am getting no support.

ldd /usr/sbin/postfix
        libssl.so.0.9.6 => /usr/lib/libssl.so.0.9.6 (0x4001d000)
        libcrypto.so.0.9.6 => /usr/lib/libcrypto.so.0.9.6 (0x40049000)
        libsasl2.so.2 => /usr/lib/libsasl2.so.2 (0x400ff000)
        libmysqlclient.so.10 => /usr/lib/libmysqlclient.so.10 (0x40111000)
        libm.so.6 => /lib/libm.so.6 (0x40148000)
        libz.so => /usr/lib/libz.so (0x4016b000)
        libpam.so.0 => /lib/libpam.so.0 (0x40179000)
        libpcre.so.0 => /usr/lib/libpcre.so.0 (0x40181000)
        libdl.so.2 => /lib/libdl.so.2 (0x4018a000)
        libcrypt.so.1 => /lib/libcrypt.so.1 (0x4018d000)
        libdb-3.2.so => /usr/lib/libdb-3.2.so (0x401ba000)
        libnsl.so.1 => /lib/libnsl.so.1 (0x40258000)
        libresolv.so.2 => /lib/libresolv.so.2 (0x4026c000)
        libc.so.6 => /lib/libc.so.6 (0x4027d000)
        /lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x40000000)
Comment 4 Nick Hadaway 2003-02-13 02:25:02 UTC
what does "emerge -up --deep postfix-2.0.3.ebuild" show you need rebuilt?
I talked to you on irc regarding this problem, in my testbed I have no problems running postfix and having mysql support detected and functional.