/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.2/../../../../x86_64-pc-linux-gnu/bin/ld: cannot find -lmysqlclient i don't think this bug is dup of #78724 or #78678 which was years ago see /usr/portage/mail-mta/postfix/postfix-2.5.5.ebuild if use mysql ; then mycc="${mycc} -DHAS_MYSQL $(mysql_config --include)" mylibs="${mylibs} -lmysqlclient -lm -lz" fi if use postgres ; then mycc="${mycc} -DHAS_PGSQL -I$(pg_config --includedir)" mylibs="${mylibs} -lpq -L$(pg_config --libdir)" fi there is -L for postgres, but why not for mysql? simply because there's no --libdir option for mysql_config does not mean it will work without -L Reproducible: Always Steps to Reproduce: == error output from emerging postfix ============ x86_64-pc-linux-gnu-gcc -DHAS_PCRE -DHAS_MYSQL -I/usr/include/mysql -DUSE_TLS -DDEF_DAEMON_DIR=\"/usr/lib64/postfix\" -DDEF_MANPAGE_DIR=\"/usr/share/man\" -DDEF_README_DIR=\"/usr/share/doc/postfix-2.5.5/readme\" -DDEF_HTML_DIR=\"/usr/share/doc/postfix-2.5.5/html\" -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -O2 -march=nocona -pipe -fomit-frame-pointer -funit-at-a-time -I. -I../../include -DLINUX2 -c master_flow.c ar rv libmaster.a single_server.o multi_server.o trigger_server.o master_proto.o mail_flow.o ar: creating libmaster.a a - single_server.o a - multi_server.o a - trigger_server.o a - master_proto.o a - mail_flow.o ranlib libmaster.a cp libmaster.a ../../lib/libmaster.a ranlib ../../lib/libmaster.a x86_64-pc-linux-gnu-gcc -DHAS_PCRE -DHAS_MYSQL -I/usr/include/mysql -DUSE_TLS -DDEF_DAEMON_DIR=\"/usr/lib64/postfix\" -DDEF_MANPAGE_DIR=\"/usr/share/man\" -DDEF_README_DIR=\"/usr/share/doc/postfix-2.5.5/readme\" -DDEF_HTML_DIR=\"/usr/share/doc/postfix-2.5.5/html\" -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -O2 -march=nocona -pipe -fomit-frame-pointer -funit-at-a-time -I. -I../../include -DLINUX2 -o master master.o master_conf.o master_ent.o master_sig.o master_avail.o master_spawn.o master_service.o master_status.o master_listen.o master_vars.o master_wakeup.o master_flow.o ../../lib/libglobal.a ../../lib/libutil.a -Wl,-O1 -Wl,--enable-new-dtags -Wl,--sort-common -s -lpcre -lcrypt -lpthread -lpam -lmysqlclient -lm -lz -lssl -lcrypto -ldb -lnsl -lresolv /usr/lib/gcc/x86_64-pc-linux-gnu/4.1.2/../../../../x86_64-pc-linux-gnu/bin/ld: cannot find -lmysqlclient collect2: ld returned 1 exit status make: *** [master] Error 1 make: *** [update] Error 1 * * ERROR: mail-mta/postfix-2.5.5 failed. * Call stack: * ebuild.sh, line 49: Called src_compile * environment, line 2859: Called die * The specific snippet of code: * emake || die "compile problem" * The die message: * compile problem * * 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/mail-mta/postfix-2.5.5/temp/build.log'. * The ebuild environment file is located at '/var/tmp/portage/mail-mta/postfix-2.5.5/temp/environment'. === let's strace it ========================== # cd /var/tmp/portage/mail-mta/postfix-2.5.5/work/postfix-2.5.5/src/master # strace -f x86_64-pc-linux-gnu-gcc -DHAS_PCRE -DHAS_MYSQL -I/usr/include/mysql -DUSE_TLS -DDEF_DAEMON_DIR=\"/usr/lib64/postfix\" -DDEF_MANPAGE_DIR=\"/usr/share/man\" -DDEF_README_DIR=\"/usr/share/doc/postfix-2.5.5/readme\" -DDEF_HTML_DIR=\"/usr/share/doc/postfix-2.5.5/html\" -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -O2 -march=nocona -pipe -fomit-frame-pointer -funit-at-a-time -I. -I../../include -DLINUX2 -o master master.o master_conf.o master_ent.o master_sig.o master_avail.o master_spawn.o master_service.o master_status.o master_listen.o master_vars.o master_wakeup.o master_flow.o ../../lib/libglobal.a ../../lib/libutil.a -Wl,-O1 -Wl,--enable-new-dtags -Wl,--sort-common -s -lpcre -lcrypt -lpthread -lpam -lmysqlclient -lm -lz -lssl -lcrypto -ldb -lnsl -lresolv 2>&1 |grep libmy [pid 26790] open("/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.2/libmysqlclient.so", O_RDONLY) = -1 ENOENT (No such file or directory) [pid 26790] open("/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.2/libmysqlclient.a", O_RDONLY) = -1 ENOENT (No such file or directory) [pid 26790] open("/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.2/libmysqlclient.so", O_RDONLY) = -1 ENOENT (No such file or directory) [pid 26790] open("/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.2/libmysqlclient.a", O_RDONLY) = -1 ENOENT (No such file or directory) [pid 26790] open("/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.2/../../../../lib64/libmysqlclient.so", O_RDONLY) = -1 ENOENT (No such file or directory) [pid 26790] open("/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.2/../../../../lib64/libmysqlclient.a", O_RDONLY) = -1 ENOENT (No such file or directory) [pid 26790] open("/lib/../lib64/libmysqlclient.so", O_RDONLY) = -1 ENOENT (No such file or directory) [pid 26790] open("/lib/../lib64/libmysqlclient.a", O_RDONLY) = -1 ENOENT (No such file or directory) [pid 26790] open("/usr/lib/../lib64/libmysqlclient.so", O_RDONLY) = -1 ENOENT (No such file or directory) [pid 26790] open("/usr/lib/../lib64/libmysqlclient.a", O_RDONLY) = -1 ENOENT (No such file or directory) [pid 26790] open("/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.2/../../../../x86_64-pc-linux-gnu/lib/libmysqlclient.so", O_RDONLY) = -1 ENOENT (No such file or directory) [pid 26790] open("/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.2/../../../../x86_64-pc-linux-gnu/lib/libmysqlclient.a", O_RDONLY) = -1 ENOENT (No such file or directory) [pid 26790] open("/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.2/../../../libmysqlclient.so", O_RDONLY) = -1 ENOENT (No such file or directory) [pid 26790] open("/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.2/../../../libmysqlclient.a", O_RDONLY) = -1 ENOENT (No such file or directory) [pid 26790] open("/usr/x86_64-pc-linux-gnu/binutils-bin/2.18/../../lib/libmysqlclient.so", O_RDONLY) = -1 ENOENT (No such file or directory) [pid 26790] open("/usr/x86_64-pc-linux-gnu/binutils-bin/2.18/../../lib/libmysqlclient.a", O_RDONLY) = -1 ENOENT (No such file or directory) [pid 26790] open("/usr/x86_64-pc-linux-gnu/lib64/libmysqlclient.so", O_RDONLY) = -1 ENOENT (No such file or directory) [pid 26790] open("/usr/x86_64-pc-linux-gnu/lib64/libmysqlclient.a", O_RDONLY) = -1 ENOENT (No such file or directory) [pid 26790] open("/usr/lib64/binutils/x86_64-pc-linux-gnu/2.1864/libmysqlclient.so", O_RDONLY) = -1 ENOENT (No such file or directory) [pid 26790] open("/usr/lib64/binutils/x86_64-pc-linux-gnu/2.1864/libmysqlclient.a", O_RDONLY) = -1 ENOENT (No such file or directory) [pid 26790] open("/usr/local/lib64/libmysqlclient.so", O_RDONLY) = -1 ENOENT (No such file or directory) [pid 26790] open("/usr/local/lib64/libmysqlclient.a", O_RDONLY) = -1 ENOENT (No such file or directory) [pid 26790] open("/lib64/libmysqlclient.so", O_RDONLY) = -1 ENOENT (No such file or directory) [pid 26790] open("/lib64/libmysqlclient.a", O_RDONLY) = -1 ENOENT (No such file or directory) [pid 26790] open("/usr/lib64/libmysqlclient.so", O_RDONLY) = -1 ENOENT (No such file or directory) [pid 26790] open("/usr/lib64/libmysqlclient.a", O_RDONLY) = -1 ENOENT (No such file or directory) [pid 26790] open("/usr/x86_64-pc-linux-gnu/lib/libmysqlclient.so", O_RDONLY) = -1 ENOENT (No such file or directory) [pid 26790] open("/usr/x86_64-pc-linux-gnu/lib/libmysqlclient.a", O_RDONLY) = -1 ENOENT (No such file or directory) [pid 26790] open("/usr/lib64/binutils/x86_64-pc-linux-gnu/2.18/libmysqlclient.so", O_RDONLY) = -1 ENOENT (No such file or directory) [pid 26790] open("/usr/lib64/binutils/x86_64-pc-linux-gnu/2.18/libmysqlclient.a", O_RDONLY) = -1 ENOENT (No such file or directory) [pid 26790] open("/usr/local/lib/libmysqlclient.so", O_RDONLY) = -1 ENOENT (No such file or directory) [pid 26790] open("/usr/local/lib/libmysqlclient.a", O_RDONLY) = -1 ENOENT (No such file or directory) [pid 26790] open("/lib/libmysqlclient.so", O_RDONLY) = -1 ENOENT (No such file or directory) [pid 26790] open("/lib/libmysqlclient.a", O_RDONLY) = -1 ENOENT (No such file or directory) [pid 26790] open("/usr/lib/libmysqlclient.so", O_RDONLY) = -1 ENOENT (No such file or directory) [pid 26790] open("/usr/lib/libmysqlclient.a", O_RDONLY) = -1 ENOENT (No such file or directory) === check where libmysqlclient is === # equery files mysql |grep mysqlclient /usr/lib64/mysql/libmysqlclient.a /usr/lib64/mysql/libmysqlclient.la /usr/lib64/mysql/libmysqlclient_r.a /usr/lib64/mysql/libmysqlclient_r.la # equery list mysql [I--] [ ] dev-db/mysql-5.0.60-r1 (0) [I--] [ ] dev-db/mysql-init-scripts-1.2 (0) [I--] [ ] dev-perl/DBD-mysql-4.00.5 (0) [I--] [ ] virtual/mysql-5.0 (0) root@static /usr/portage/mail-mta/postf
Please post your 'emerge --info' output. Good observation about the discrepency between postgreql and mysql flags, seems like 'mysql_config --libs' would be a useful equivalent; we'll see what the net-mail team has to say after you post 'emerge --info' :)
(In reply to comment #1) > Please post your 'emerge --info' output. Timeout. Provide the requested information and feel free to reopen this bug then. Please also check if you have /usr/lib64/libmysqlclient.so which should be a link to mysql/libmysqlclient.so.15.0.0 and note which mysql version you're using.
Created attachment 176562 [details] emerge --info
sorry, i didn't get the notify email about this bug status change emerge --info output is attached, but i've upgraded mysql some time ago. looks like it is fixed # equery files mysql |grep mysqlclient /usr/lib64/libmysqlclient.so /usr/lib64/libmysqlclient.so.15 /usr/lib64/libmysqlclient.so.15.0 /usr/lib64/libmysqlclient.so.15.0.0 /usr/lib64/libmysqlclient_r.so /usr/lib64/libmysqlclient_r.so.15 /usr/lib64/libmysqlclient_r.so.15.0 /usr/lib64/libmysqlclient_r.so.15.0.0 /usr/lib64/mysql/libmysqlclient.a /usr/lib64/mysql/libmysqlclient.la /usr/lib64/mysql/libmysqlclient.so /usr/lib64/mysql/libmysqlclient.so.15 /usr/lib64/mysql/libmysqlclient.so.15.0.0 /usr/lib64/mysql/libmysqlclient_r.a /usr/lib64/mysql/libmysqlclient_r.la /usr/lib64/mysql/libmysqlclient_r.so /usr/lib64/mysql/libmysqlclient_r.so.15 /usr/lib64/mysql/libmysqlclient_r.so.15.0.0