This is what happens when updating to mysql-4.0.18: >>> Install mysql-4.0.18 into /var/tmp/portage/mysql-4.0.18/image/ category dev-db Making install in . make[1]: Entering directory `/var/tmp/portage/mysql-4.0.18/work/mysql-4.0.18' make[2]: Entering directory `/var/tmp/portage/mysql-4.0.18/work/mysql-4.0.18' make[2]: Nothing to be done for `install-exec-am'. make[2]: Nothing to be done for `install-data-am'. make[2]: Leaving directory `/var/tmp/portage/mysql-4.0.18/work/mysql-4.0.18' make[1]: Leaving directory `/var/tmp/portage/mysql-4.0.18/work/mysql-4.0.18' Making install in include make[1]: Entering directory `/var/tmp/portage/mysql-4.0.18/work/mysql-4.0.18/include' make install-am make[2]: Entering directory `/var/tmp/portage/mysql-4.0.18/work/mysql-4.0.18/include' make[3]: Entering directory `/var/tmp/portage/mysql-4.0.18/work/mysql-4.0.18/include' make[3]: Nothing to be done for `install-exec-am'. /var/tmp/portage/mysql-4.0.18/image//usr/include/mysql make[3]: /var/tmp/portage/mysql-4.0.18/image//usr/include/mysql: Command not found make[3]: *** [install-pkgincludeHEADERS] Error 127 make[3]: Leaving directory `/var/tmp/portage/mysql-4.0.18/work/mysql-4.0.18/include' make[2]: *** [install-am] Error 2 make[2]: Leaving directory `/var/tmp/portage/mysql-4.0.18/work/mysql-4.0.18/include' make[1]: *** [install] Error 2 make[1]: Leaving directory `/var/tmp/portage/mysql-4.0.18/work/mysql-4.0.18/include' make: *** [install-recursive] Error 1 !!! ERROR: dev-db/mysql-4.0.18 failed. !!! Function src_install, Line 164, Exitcode 2 !!! (no error message) Reproducible: Always Steps to Reproduce: 1. emerge mysql-4.0.18 Actual Results: install part of emerge failed Expected Results: installed successfully Portage 2.0.50-r1 (default-x86-1.4, gcc-3.3.3, glibc-2.3.3_pre20040207-r0, 2.6.3-gentoo-r1) ================================================================= System uname: 2.6.3-gentoo-r1 i686 Intel(R) Pentium(R) 4 CPU 3.00GHz Gentoo Base System version 1.4.3.13p1 distcc 2.13 i686-pc-linux-gnu (protocols 1 and 2) (default port 3632) [disabled] ccache version 2.3 [enabled] Autoconf: sys-devel/autoconf-2.59-r3 Automake: sys-devel/automake-1.8.2 ACCEPT_KEYWORDS="x86 ~x86" AUTOCLEAN="yes" CFLAGS="-march=pentium4 -O2 -pipe -fomit-frame-pointer" CHOST="i686-pc-linux-gnu" COMPILER="gcc3" CONFIG_PROTECT="/etc /usr/X11R6/lib/X11/xkb /usr/kde/2/share/config /usr/kde/3.1/share/config /usr/kde/3.2/share/config /usr/kde/3/share/config /usr/share/config /var/qmail/control" CONFIG_PROTECT_MASK="/etc/gconf /etc/env.d" CXXFLAGS="-march=pentium4 -O2 -pipe -fomit-frame-pointer" DISTDIR="/usr/portage/distfiles" FEATURES="autoaddcvs ccache fixpackages sandbox userpriv usersandbox" GENTOO_MIRRORS="http://ftp.snt.utwente.nl/pub/os/linux/gentoo http://ftp.gentoo.skynet.be/pub/gentoo/ http://mirrors.sec.informatik.tu-darmstadt.de/gentoo http://ftp.uni-erlangen.de/pub/mirrors/gentoo http://ftp.easynet.nl/mirror/gentoo/" MAKEOPTS="-j4" PKGDIR="/usr/portage/packages" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/usr/portage" PORTDIR_OVERLAY="/usr/portage_overlay" SYNC="rsync://griffon26.kfk4ever.com/gentoo-portage" USE="X Xaw3d alsa apache2 avi bonobo cdr crypt cscope dedicated dga dvd encode ethereal fastcgi fbcon freetds gd gdbm ggi gif gpm gstreamer gtk gtk2 imlib ipv6 jikes joystick jpeg libwww lirc mad mcal memlimit mikmod mmx motif mozilla mpeg mpi mysql ncurses nls nocd oggvorbis opengl pam pdflib perl plotutils png pnp python qt quicktime readline samba sdl slang snmp spell sse ssl svga tcltk tcpd tiff truetype trusted usb wmf wxwindows x86 xml xml2 xmms xosd xv zlib"
could you clone the Makefiles out of your MySQL tree into a new subdirectory set (so there would be a directory tree with only Makefiles), and include config.log and config.status, tar it up and attach it here ?
When I emerged again, I noticed this: configure.in:7: version mismatch. This is Automake 1.8.2, configure.in:7: but the definition used by this AM_INIT_AUTOMAKE configure.in:7: comes from Automake 1.7.6. You should recreate configure.in:7: aclocal.m4 with aclocal and run automake again. Turns out the user I was su-ing from had WANT_AUTOMAKE in the environment and I hadn't used su -. After su-ing correctly, I still got this message: configure.in:7: version mismatch. This is Automake 1.7.9, configure.in:7: but the definition used by this AM_INIT_AUTOMAKE configure.in:7: comes from Automake 1.7.6. You should recreate configure.in:7: aclocal.m4 with aclocal and run automake again. But apparently that wasn't a real problem, because the build went through as well as the install. I'm not entirely sure why automake is in the picture at all. Isn't that normally run before distribution of the source? In any case, I'm sorry to have bothered you. Thanks for your help.
Created attachment 27827 [details] Ebuild supporting a "clientonly" flag. Proposed ebuild, referencing my previous comment.
Created attachment 27828 [details, diff] Patch to fix configure bug with --without-server and --enable-thread-safe-client Patch, as referenced in my above comment.
Sorry, wrong bug in the list. ;)
Joe: WTF are you talking about? Maurice: please include the output of 'etcat -v automake' and 'etcat -v autoconf'.
Only printing found installed programs. * sys-devel/automake : [ ] 1.6.1-r6 (1.5) [ ] 1.6.3 (1.5) [ ] 1.7.2 (1.5) [ ] 1.7.5-r2 (1.5) [ ] 1.7.7 (1.5) [ ~ ] 1.7.8 (1.5) [ ~I] 1.8.2 (1.5) * sys-devel/autoconf : [ ] 2.57-r1 (2.5) [ ~ ] 2.57a-r1 (2.5) [ ] 2.58 (2.5) [ ] 2.58-r1 (2.5) [ ~I] 2.59-r3 (2.5)
could you open up the ebuild, and around line 96 (right before automake, after autoconf). then try to emerge it again, and see if things work. we use autoconf/automake as we make modifications to the configure file. you might also try leave the automake OUT of th ebuild (just leave the autoconf there).
Don't know what you wanted me to insert "right before automake, after autoconf", but after removing automake, the warning also isn't given anymore.
sorry, that's what i get for answering bugs before my morning coffee has kicked in. i meant to say after automake, before autoconf. with automake removed, does it build and run for you?
I'm still not sure what you mean. "could you open up the ebuild, and around line 96 (right before automake, after autoconf). then try to emerge it again, and see if things work." What kind of change to the ebuild did you want to describe here?
add an 'aclocal' invocation at that point. does just removing automake fix it as well for you?
Adding aclocal in between causes a lot of "underquoted definition" warnings because of the stricter aclocal 1.8, but the original warning about an automake version mismatch is no longer generated. Removing automake fixed the original warning and naturally didn't introduce the others, so I suppose this would be the solution of choice.
> Joe: WTF are you talking about? robbat2: LOL. Sorry. I posted to the wrong bug. :-0 Check out bug #45154. That's what I was talking about. ;-)
i am not sure if it compiles at all. i emerged: [ebuild N ] dev-db/mysql-4.0.18 +berkdb -debug -innodb +perl +readline +ssl -static +tcpd 0 kB and this is the last bit of output: + rm -f ./viosocket.c + /bin/ln -s ../libmysql/viosocket.c ./viosocket.c + rm -f ./viossl.c + /bin/ln -s ../libmysql/viossl.c ./viossl.c + rm -f ./viosslfactories.c + /bin/ln -s ../libmysql/viosslfactories.c ./viosslfactories.c make[1]: Leaving directory `/var/tmp/portage/mysql-4.0.18/work/mysql-4.0.18/libmysql_r' echo timestamp > linked_libmysql_r_sources cd client; make link_sources make[1]: Entering directory `/var/tmp/portage/mysql-4.0.18/work/mysql-4.0.18/client' for f in log_event.h log_event.cc ; do \ rm -f ./$f; \ /bin/ln -s ../sql/$f ./$f; \ done; make[1]: Leaving directory `/var/tmp/portage/mysql-4.0.18/work/mysql-4.0.18/client' echo timestamp > linked_client_sources WARNING: Using auxiliary files such as `acconfig.h', `config.h.bot' WARNING: and `config.h.top', to define templates for `config.h.in' WARNING: is deprecated and discouraged. WARNING: Using the third argument of `AC_DEFINE' and WARNING: `AC_DEFINE_UNQUOTED' allows to define a template without WARNING: `acconfig.h': WARNING: AC_DEFINE([NEED_MAIN], 1, WARNING: [Define if a function `main' is needed.]) WARNING: More sophisticated templates can also be produced, see the WARNING: documentation. autoheader-2.54: `config.h.in' is unchanged touch ./)].in)].in /bin/sh: -c: line 1: syntax error near unexpected token `)' /bin/sh: -c: line 1: `touch ./)].in)].in' make: *** [)].in] Error 2 !!! ERROR: dev-db/mysql-4.0.18 failed. !!! Function src_compile, Line 160, Exitcode 2 !!! compile problem
please try 4.0.18-r1 it should work fine out of the box.
I just tried r1 and it failed with the following messages: creating insert_test creating select_test gcc -O3 -DDBUG_OFF -mcpu=athlon-xp -O3 -pipe -DHAVE_ERRNO_AS_DEFINE=1 -DUSE_OLD_FUNCTIONS -rdynamic -o .libs/thread_test thread_test.o /usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.2/libstdc++.so -L/usr/i686-pc-linux-gnu/bin -L/usr/i686-pc-linux-gnu/lib -L/usr/lib/gcc-lib/../../i686-pc-linux-gnu/lib -lgcc_s -lc ../libmysql/.libs/libmysqlclient.so -L/usr/lib -lz -lcrypt -lnsl -lm -lssl -lcrypto -Wl,--rpath -Wl,/usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.2 -Wl,--rpath -Wl,/usr/lib/mysql collect2: ld terminated with signal 11 [Segmentation fault] distcc[5887] ERROR: compile on localhost failed make[2]: *** [thread_test] Error 1 make[2]: *** Waiting for unfinished jobs.... g++ -O3 -DDBUG_OFF -mcpu=athlon-xp -O3 -pipe -felide-constructors -fno-exceptions -fno-rtti -fno-implicit-templates -fno-exceptions -fno-rtti -rdynamic -o .libs/mysql mysql.o readline.o sql_string.o completion_hash.o -lreadline -lncurses /usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.2/libstdc++.so -L/usr/i686-pc-linux-gnu/bin -L/usr/i686-pc-linux-gnu/lib -L/usr/lib/gcc-lib/../../i686-pc-linux-gnu/lib -lgcc_s -lc ../libmysql/.libs/libmysqlclient.so -L/usr/lib -lz -lcrypt -lnsl -lm -lssl -lcrypto -Wl,--rpath -Wl,/usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.2 -Wl,--rpath -Wl,/usr/lib/mysql creating mysql make[2]: Leaving directory `/var/tmp/portage/mysql-4.0.18-r1/work/mysql-4.0.18/client' make[1]: *** [all-recursive] Error 1 make[1]: Leaving directory `/var/tmp/portage/mysql-4.0.18-r1/work/mysql-4.0.18' make: *** [all] Error 2 !!! ERROR: dev-db/mysql-4.0.18-r1 failed. !!! Function src_compile, Line 164, Exitcode 2 !!! compile problem bash-2.05b# bash-2.05b# emerge info Portage 2.0.50-r6 (default-x86-1.4, gcc-3.3.2, glibc-2.3.2-r9, 2.4.22-gentoo-r7) ================================================================= System uname: 2.4.22-gentoo-r7 i686 AMD Athlon(tm) XP Gentoo Base System version 1.4.3.13 distcc 2.13 i686-pc-linux-gnu (protocols 1 and 2) (default port 3632) [enabled] ccache version 2.3 [enabled] Autoconf: sys-devel/autoconf-2.58 Automake: sys-devel/automake-1.7.7 ACCEPT_KEYWORDS="x86" AUTOCLEAN="yes" CFLAGS="-mcpu=athlon-xp -O3 -pipe" CHOST="i686-pc-linux-gnu" COMPILER="gcc3" CONFIG_PROTECT="/etc /usr/X11R6/lib/X11/xkb /usr/kde/2/share/config /usr/kde/3.2/share/config /usr/kde/3/share/config /usr/lib/mozilla/defaults/pref /usr/share/config /usr/share/texmf/tex/generic/config/ /usr/share/texmf/tex/platex/config/ /var/qmail/control" CONFIG_PROTECT_MASK="/etc/afs/C /etc/afs/afsws /etc/gconf /etc/env.d" CXXFLAGS="-mcpu=athlon-xp -O3 -pipe" DISTDIR="/usr/portage/distfiles" FEATURES="autoaddcvs ccache distcc sandbox" GENTOO_MIRRORS="http://gentoo.oregonstate.edu http://distro.ibiblio.org/pub/Linux/distributions/gentoo" MAKEOPTS="-j4" PKGDIR="/usr/portage/packages" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/usr/portage" PORTDIR_OVERLAY="/usr/local/portage" SYNC="rsync://rsync.namerica.gentoo.org/gentoo-portage" USE="X Xaw3d acl acpi afs alsa apache2 apm arts avi berkdb bonobo caps cdr crypt cups doc emacs emacs-w3 encode esd ethereal evo firebird flac foomaticdb gdbm gif gnome gpm gstreamer gtk gtk2 gtkhtml guile hardened icq imagemagick imap imlib innodb ipv6 jabber jack java jikes jpeg kde kerberos krb4 ldap libg++ libwww mad mcal mikmod motif mozilla mpeg mysql ncurses nls odbc oggvorbis opengl oss pam pda pdflib perl plotutils png ppds prelude python qt quicktime readline ruby samba sasl sdl slang slp spell sse ssl svga tcltk tcpd tetex tiff truetype unicode usb vhosts x86 xinerama xml xml2 xmms xv zeo zlib" bash-2.05b# This was an attempted upgrade from 4.0.16. I think I probably changed some parameters in my USE variable between 4.0.16 and now, so it may be something that I'm doing. Let me know if you need any other info.
> collect2: ld terminated with signal 11 [Segmentation fault] I'm no gentoo developer, but maybe I can help a little. The line above indicates it is a bug in ld, which is part of binutils. What version of binutils do you have installed? Have you noticed the same problem with any other packages?
My version of binutils: * sys-devel/binutils Latest version available: 2.14.90.0.7-r4 Latest version installed: 2.14.90.0.7-r4 Size of downloaded files: 10,327 kB Homepage: http://sources.redhat.com/binutils/ Description: Tools necessary to build programs License: GPL-2 | LGPL-2 No, I don't see this problem with other packages. Thanks for your comment. Maybe the latest version of binutils is buggy?
Maurice: did 4.0.18-r1 work for you?
Yup, I currently have 4.0.18-r1 installed.
ok, i'm closing this bug then. Kevin: try to reproduce your bug without distcc, and use O2 in cflags. MySQL is one of the hardest packages to compile in terms of how much it actually uses RAM+CPU. You might need more RAM/Swap.
closing as reporter notes it works now.