mysql-5.0.16-r3 fails to configure on my box. It complains of 'no configre script found'. Here is the output: leprechaun root # emerge mysql Calculating dependencies ...done! >>> emerge (1 of 1) dev-db/mysql-5.0.16-r3 to / >>> md5 files ;-) mysql-4.1.14.ebuild >>> md5 files ;-) mysql-4.0.26.ebuild >>> md5 files ;-) mysql-5.0.16-r30.ebuild >>> md5 files ;-) mysql-5.0.15.ebuild >>> md5 files ;-) mysql-4.1.15.ebuild >>> md5 files ;-) mysql-3.23.58-r1.ebuild >>> md5 files ;-) mysql-4.1.15-r30.ebuild >>> md5 files ;-) mysql-5.0.16-r3.ebuild >>> md5 files ;-) mysql-4.0.25-r2.ebuild >>> md5 files ;-) mysql-4.1.15-r1.ebuild >>> md5 files ;-) files/digest-mysql-4.1.15-r30 >>> md5 files ;-) files/digest-mysql-4.1.15-r1 >>> md5 files ;-) files/mysql-4.0.15.rc6 >>> md5 files ;-) files/digest-mysql-3.23.58-r1 >>> md5 files ;-) files/digest-mysql-4.0.26 >>> md5 files ;-) files/digest-mysql-4.1.14 >>> md5 files ;-) files/digest-mysql-4.1.15 >>> md5 files ;-) files/digest-mysql-5.0.15 >>> md5 files ;-) files/mysql.init >>> md5 files ;-) files/mysql-slot.rc6 >>> md5 files ;-) files/digest-mysql-5.0.16-r3 >>> md5 files ;-) files/logrotate.mysql >>> md5 files ;-) files/my.cnf >>> md5 files ;-) files/mysql-slot.conf.d >>> md5 files ;-) files/my.cnf-4.1 >>> md5 files ;-) files/digest-mysql-5.0.16-r30 >>> md5 files ;-) files/mysql-4.0.24-r1.rc6 >>> md5 files ;-) files/mysql-4.0.24-r2.rc6 >>> md5 files ;-) files/my.cnf-4.0.14-r1 >>> md5 files ;-) files/my.cnf-4.0.24-r1 >>> md5 files ;-) files/digest-mysql-4.0.25-r2 >>> md5 src_uri ;-) mysql-5.0.16.tar.gz >>> md5 src_uri ;-) mysql-extras-20051122.tar.bz2 >>> Unpacking source... * Using default DATADIR * MySQL DATADIR is /var/lib/mysql * Previous datadir found, it's YOUR job to change * ownership and have care of it >>> Unpacking mysql-5.0.16.tar.gz to /var/tmp/portage/mysql-5.0.16-r3/work >>> Unpacking mysql-extras-20051122.tar.bz2 to /var/tmp/portage/mysql-5.0.16-r3/work * using "010_all_slot-my-print-default-r2.patch" * > Move config directory to the gentoo default * using "035_x86_asm-pic-fixes-r7.patch" * > remove page relocations * > Most part of the original patch has already been accepted by MysQL, * > here is the remaining. * > _many_ tanks to pageexec@freemail.hu * using "080_all_slot_script-r3.patch" * > add slot MySQL support to scripts utilities * using "703_all_test-rpl_rotate_logs.patch" * > fix for the test suite * Applying various patches (bugfixes/updates) ... * 010_all_slot-my-print-default-r2.patch ... [ ok ] * 035_x86_asm-pic-fixes-r7.patch ... [ ok ] * 080_all_slot_script-r3.patch ... [ ok ] * 703_all_test-rpl_rotate_logs.patch ... [ ok ] * Done with patching cp: cannot stat `ltmain.sh': No such file or directory /var/tmp/portage/mysql-5.0.16-r3/work/mysql/bdb/dist /var/tmp/portage/mysql-5.0.16-r3/work/mysql Creating directories... mkdir ../test_server Creating Berkeley DB source tree symbolic links... btree/tags -> ../dist/tags build_unix/tags -> ../dist/tags clib/tags -> ../dist/tags common/tags -> ../dist/tags cxx/tags -> ../dist/tags db/tags -> ../dist/tags db185/tags -> ../dist/tags db_archive/tags -> ../dist/tags db_checkpoint/tags -> ../dist/tags db_deadlock/tags -> ../dist/tags db_dump/tags -> ../dist/tags db_dump185/tags -> ../dist/tags db_load/tags -> ../dist/tags db_printlog/tags -> ../dist/tags db_recover/tags -> ../dist/tags db_stat/tags -> ../dist/tags db_upgrade/tags -> ../dist/tags db_verify/tags -> ../dist/tags dbinc/tags -> ../dist/tags dbinc_auto/tags -> ../dist/tags dbm/tags -> ../dist/tags dbreg/tags -> ../dist/tags env/tags -> ../dist/tags fileops/tags -> ../dist/tags hash/tags -> ../dist/tags hmac/tags -> ../dist/tags hsearch/tags -> ../dist/tags libdb_java/tags -> ../dist/tags lock/tags -> ../dist/tags log/tags -> ../dist/tags mp/tags -> ../dist/tags mutex/tags -> ../dist/tags os/tags -> ../dist/tags os_vxworks/tags -> ../dist/tags os_win32/tags -> ../dist/tags qam/tags -> ../dist/tags rep/tags -> ../dist/tags rpc_client/tags -> ../dist/tags rpc_server/tags -> ../dist/tags tcl/tags -> ../dist/tags test_server/tags -> ../dist/tags txn/tags -> ../dist/tags xa/tags -> ../dist/tags Building ../README Building aclocal.m4 Running autoheader to build config.hin Running autoconf to build configure 645957 645827 Building RPC client/server files Building ../dbinc_auto/db_ext.h Building ../dbinc_auto/btree_ext.h Building ../dbinc_auto/dbreg_ext.h Building ../dbinc_auto/hash_ext.h Building ../dbinc_auto/log_ext.h Building ../dbinc_auto/mutex_ext.h Building ../dbinc_auto/qam_ext.h Building ../dbinc_auto/txn_ext.h Building ../dbinc_auto/int_def.in Building ../build_win32/db.h Building tags /var/tmp/portage/mysql-5.0.16-r3/work/mysql * disabling unneded extraengine tests >>> Source unpacked. !!! ERROR: dev-db/mysql-5.0.16-r3 failed. !!! Function econf, Line 488, Exitcode 1 !!! no configure script found !!! If you need support, post the topmost build error, NOT this status message. Here is my emerge info: leprechaun root # emerge info Portage 2.0.51.22-r3 (default-linux/x86/2005.0, gcc-3.3.4, glibc-2.3.4.20040808-r1, 2.6.9 i686) ================================================================= System uname: 2.6.9 i686 Intel(R) Pentium(R) 4 CPU 3.20GHz Gentoo Base System version 1.4.16 dev-lang/python: 2.3.4 sys-apps/sandbox: 1.2.12 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.6-r1 sys-devel/binutils: 2.15.90.0.1.1-r3 sys-devel/libtool: 1.5.20 virtual/os-headers: 2.6.8.1-r1 ACCEPT_KEYWORDS="x86" AUTOCLEAN="yes" CBUILD="i686-pc-linux-gnu" CFLAGS="-O3 -march=pentium4 -ftracer -pipe -fomit-frame-pointer" CHOST="i686-pc-linux-gnu" CONFIG_PROTECT="/etc /usr/X11R6/lib/X11/xkb /usr/kde/2/share/config /usr/kde/3/share/config /usr/share/config /var/bind /var/qmail/alias /var/qmail/control /var/vpopmail/domains /var/vpopmail/etc" CONFIG_PROTECT_MASK="/etc/gconf /etc/terminfo /etc/env.d" CXXFLAGS="-O3 -march=pentium4 -ftracer -pipe -fomit-frame-pointer" DISTDIR="/usr/portage/distfiles" FEATURES="autoconfig distlocks sandbox sfperms strict" GENTOO_MIRRORS="http://ftp.snt.utwente.nl/pub/os/linux/gentoo http://ftp.belnet.be/mirror/rsync.gentoo.org/gentoo/ ftp://ftp.belnet.be/mirror/rsync.gentoo.org/gentoo/ http://gentoo.blueyonder.co.uk http://ftp.easynet.nl/mirror/gentoo/" MAKEOPTS="-j3" PKGDIR="/usr/portage/packages" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/usr/portage" PORTDIR_OVERLAY="/usr/local/portage" SYNC="rsync://leprechaun.london.symdata.com/gentoo-portage/" USE="x86 alsa apache2 apm berkdb bitmap-fonts bzip2 bzlib cluster crypt eds emboss encode expat flash fortran ftp gd gd_external gdbm gif gmp gstreamer imagemagick imlib innodb ipv6 ithreads java jpeg lcms libg++ libwww mhash mime ming mmx mng mp3 mysql ncurses nls nptl ogg oggvorbis pam pcre pdflib perl php png python readline recode samba snmp spell ssei ssl tcpd threads tiff truetype truetype-fonts type1-fonts udev vorbis vpopmail xml2 xsl zlib userland_GNU kernel_linux elibc_glibc" Unset: ASFLAGS, CTARGET, LANG, LC_ALL, LDFLAGS, LINGUAS
Here is a fix I just worked out: change line 253 in mysql-2.0.16-r3.ebuild from: for dl in ${!rebuilddirlist[@]}; do to: for dl in "${!rebuilddirlist[@]}"; do My bash-fu isn't as good as some people's, so maybe there is a better way - but it works.
oops, I spoke to soon. It gets further through the ebuild, but fails during the configure with: config.status: creating config.h config.status: executing depfiles commands config.status: executing default commands configure: configuring in innobase configure: running /bin/sh ./configure --prefix=/usr '--prefix=/usr' '--host=i686-pc-linux-gnu' '--mandir=/usr/share/man' '--infodir=/usr/share/info' '--datadir=/usr/share' '--sysconfdir=/etc' '--localstatedir=/var/lib' '--build=i686-pc-linux-gnu' '--program-suffix=' '--libexecdir=/usr/sbin' '--sysconfdir=/etc/mysql' '--localstatedir=/var/lib/mysql' '--sharedstatedir=/usr/share/mysql' '--libdir=/usr/lib/mysql' '--includedir=/usr/include/mysql' '--with-low-memory' '--enable-assembler' '--enable-local-infile' '--with-mysqld-user=mysql' '--with-client-ldflags=-lstdc++' '--enable-thread-safe-client' '--with-comment=Gentoo Linux mysql-5.0.16-r3' '--with-unix-socket-path=/var/run/mysqld/mysqld.sock' '--with-zlib-dir=/usr' '--with-lib-ccflags=-fPIC' '--without-readline' '--without-docs' '--enable-shared' '--enable-static' '--without-libwrap' '--with-openssl' '--without-debug' '--without-ndb-debug' '--with-bench' '--with-server' '--with-embedded-server' '--with-extra-tools' '--with-innodb' '--with-raid' '--with-extra-charsets=all' '--with-berkeley-db=./bdb' '--with-geometry' '--with-ndbcluster' '--without-big-tables' 'CC=gcc' 'CFLAGS=-O3 -march=pentium4 -ftracer -pipe -fomit-frame-pointer -DHAVE_ERRNO_AS_DEFINE=1' 'CXXFLAGS=-O3 -march=pentium4 -ftracer -pipe -fomit-frame-pointer -DHAVE_ERRNO_AS_DEFINE=1 -felide-constructors -fno-exceptions -fno-rtti -fno-implicit-templates' 'CXX=g++' 'build_alias=i686-pc-linux-gnu' 'host_alias=i686-pc-linux-gnu' CFLAGS='-O3 -DDBUG_OFF -O3 -march=pentium4 -ftracer -pipe -fomit-frame-pointer -DHAVE_ERRNO_AS_DEFINE=1 ' CXXFLAGS='-O3 -DDBUG_OFF -O3 -march=pentium4 -ftracer -pipe -fomit-frame-pointer -DHAVE_ERRNO_AS_DEFINE=1 -felide-constructors -fno-exceptions -fno-rtti -fno-implicit-templates -fno-implicit-templates -fno-exceptions -fno-rtti' --cache-file=/dev/null --srcdir=. ./configure: ./configure: No such file or directory configure: error: /bin/sh ./configure failed for innobase !!! Please attach the config.log to your bug report: !!! /var/tmp/portage/mysql-5.0.16-r3/work/mysql/config.log !!! ERROR: dev-db/mysql-5.0.16-r3 failed. !!! Function econf, Line 485, Exitcode 0 !!! econf failed !!! If you need support, post the topmost build error, NOT this status message. PLEASE NOTE: this is upgrading from mysql 4.1.15. The ebuild appears to work on another machine that already has 5.0.15 installed.
*sigh* - OK this time I've fixed it. I did some proper research. Use the patch below. The problem is that the expression ${!rebuilddirlist[@]} does not expand to anything in bash-2. I didn't have bash-3 on the machine, so it skipped that loop entirely. I suggest either making bash-3 a dependency of the ebuild (ouch), or using the following patch to make it compatible with bash-2: --- mysql-5.0.16-r3.ebuild 2005-11-25 17:35:30.000000000 +0000 +++ mysql-5.0.16-r3.ebuild.new 2005-12-06 13:10:17.000000000 +0000 @@ -250,9 +250,10 @@ rebuilddirlist=( '.' 'innobase' ) fi - for dl in ${!rebuilddirlist[@]}; do + dl=0 + for dir in ${rebuilddirlist[@]}; do einfo "reconfiguring phase $(( ${dl} + 1 )) of ${#rebuilddirlist[@]}" - pushd "${rebuilddirlist[${dl}]}" + pushd "${dir}" for buildstep in \ 'libtoolize --copy --force' \ 'aclocal --force' \ @@ -265,6 +266,7 @@ ${buildstep} || die "failed ${buildstep/ */} ${rebuilddirlist[${dl}]}" done popd + let dl=dl+1 done [[ -w bdb/dist/ltmain.sh ]] && cp ltmain.sh bdb/dist/ltmain.sh
Thanks for the report and the patches, I've verified that the minimum version of bash supported must be 2.05 . I'll fix it as soon as possible.
Ok, it now work for me with $ echo $BASH_VERSION = 2.05b.0(1)-release , It's a mistery how could rc script work since they use the same concept but until it wor I'll not change them ;-)