The ebuilds for mariadb both in portage and overlay do not build the PBXT engine even if the USE pbxt flag is enabled. It appears as if the mariadb included PBXT does not have the dynamic options required listed in plug.in. Yet, the eclass tries to use it as such. Running configure on the ebuild using "ebuild /usr/portage/dev-db/mariadb/mariadb-5.1.50.ebuild clean configure", provides the following excerpt: Reproducible: Always Steps to Reproduce: 1. Build mariadb with USE=pbxt 2. 3. Actual Results: rknight@eldest ~ $ ebuild /usr/portage/dev-db/mariadb/mariadb-5.1.50.ebuild clean configure * mariadb-5.1.50.tar.gz RMD160 SHA1 SHA256 size ;-) ... [ ok ] * mysql-extras-20101006-0004Z.tar.bz2 RMD160 SHA1 SHA256 size ;-) ... [ ok ] * checking ebuild checksums ;-) ... [ ok ] * checking auxfile checksums ;-) ... [ ok ] * checking miscfile checksums ;-) ... [ ok ] * checking mariadb-5.1.50.tar.gz ;-) ... [ ok ] * checking mysql-extras-20101006-0004Z.tar.bz2 ;-) ... [ ok ] * Package: dev-db/mariadb-5.1.50 * Repository: gentoo * Maintainer: mysql-bugs@gentoo.org * USE: amd64 community elibc_glibc kernel_linux libevent multilib pbxt perl profiling ssl userland_GNU * FEATURES: sandbox splitdebug >>> cfg-update-1.8.2-r1: You need root privileges for this mode... nscd: Only root is allowed to use this option! nscd: Only root is allowed to use this option! >>> Unpacking source... * MySQL MY_DATADIR is /var/lib/mysql * MySQL datadir found in /var/lib/mysql * A new one will not be created. >>> Unpacking mariadb-5.1.50.tar.gz to /var/tmp/portage/dev-db/mariadb-5.1.50/work >>> Unpacking mysql-extras-20101006-0004Z.tar.bz2 to /var/tmp/portage/dev-db/mariadb-5.1.50/work >>> Source unpacked in /var/tmp/portage/dev-db/mariadb-5.1.50/work >>> Preparing source in /var/tmp/portage/dev-db/mariadb-5.1.50/work/mysql ... * using '00350_x86_asm-pic-fixes-5.1.41.patch' * > remove page relocations * > Most of the original patch has already been accepted by MysQL, * > here is the remaining. * > _many_ thanks to pageexec@freemail.hu * using '01050_all_mariadb_config_cleanup-5.1.41.patch' * > fix bug #156301 mysql_config wrongly retains too much info from CFLAGS * using '02040_all_embedded-library-shared-maria-5.1.50.patch' * > Take libmysqld to be a proper shared library. * using '07040_all_disable_mybug_9735_test-5.1.41.patch' * > disable a test that fail on longtext field length, the expected value is * > three times the returned one, look like a multibyte character related * > failure. * using '07250_all_testcase_latin1_fix-5.1.42.patch' * > Latin1 is assumed by the testsuite even with --with-charset=utf8 * > is passed to configure. Fix mysql_comments test. * using '07260_all_testsuite_mtr_latin1_fix-5.1.42.patch' * > Latin1 is assumed by the testsuite even with --with-charset=utf8 * > is passed to configure. Fix information_schema test. * using '07280_all_stdbool-maria-5.1.42.patch' * > Fix GCC4.4 stdbool requirement. * Applying various patches (bugfixes/updates) ... * 02040_all_embedded-library-shared-maria-5.1.50.patch ... [ ok ] * 07040_all_disable_mybug_9735_test-5.1.41.patch ... [ ok ] * 07250_all_testcase_latin1_fix-5.1.42.patch ... [ ok ] * 07260_all_testsuite_mtr_latin1_fix-5.1.42.patch ... [ ok ] * 07280_all_stdbool-maria-5.1.42.patch ... [ ok ] * Done with patching * Cleaning up old buildscript files * Reconfiguring dir '.' * Running eautoreconf in '/var/tmp/portage/dev-db/mariadb-5.1.50/work/mysql' ... * Running aclocal ... [ ok ] * Running libtoolize --copy --force --install --automake ... [ ok ] * Running aclocal ... [ ok ] * Running autoconf ... [ ok ] * Running autoheader ... [ ok ] * Running automake --add-missing --copy --foreign ... [ ok ] * Running elibtoolize in: mysql/ * Applying portage-2.2.patch ... * Applying sed-1.5.6.patch ... * Applying as-needed-2.2.6.patch ... >>> Source prepared. >>> Configuring source in /var/tmp/portage/dev-db/mariadb-5.1.50/work/mysql ... * Available plugins: blackhole heap example csv ndbcluster pbxt maria federated archive xtradb federatedx ibmdb2i innodb_plugin myisammrg myisam partition * Dynamic plugins: innodb_plugin pbxt * Static plugins: csv myisam myisammrg heap archive blackhole maria xtradb * Disabled plugins: example ibmdb2i partition federated ndbcluster [cut] checking whether to use MyISAM Storage Engine... yes checking whether to use Partition Support... no checking whether to use Archive Storage Engine... yes checking whether to use Blackhole Storage Engine... yes checking whether to use CSV Storage Engine... yes checking whether to use Example Storage Engine... no checking whether to use Federated Storage Engine... no checking whether to use FederatedX Storage Engine... plugin checking whether to use Memory Storage Engine... yes checking whether to use IBM DB2 for i Storage Engine... no checking whether to use InnoDB Storage Engine... plugin checking whether to use Maria Storage Engine... yes checking whether to use MyISAM MERGE Engine... yes checking whether to use Cluster Storage Engine... no checking whether to use PBXT Storage Engine... no checking whether to use XtraDB Storage Engine... yes Expected Results: checking whether to use PBXT Storage Engine... plugin OR checking whether to use PBXT Storage Engine... yes
Any progress on this? The only solution I can think of is to force PBXT to be installed statically. If a user sets the flag, they are probably going to use it. This would mean a migration away from the plugin by either: 1) Using the UNINSTALL PLUGIN command before installation. 2) Having the user remove the mysql.plugin table file. MySQL/MariaDB should start fine without it and force you to run mysql_upgrade (which should be done anyway) to fix issues.
This appears to be fixed in the overlay. Recently built MariaDB 5.2.10 with PBXT just fine.
(In reply to comment #2) > This appears to be fixed in the overlay. > > Recently built MariaDB 5.2.10 with PBXT just fine. This should have been fixed with this commit - git.overlays.gentoo.org/gitweb/?p=proj/mysql.git;a=commitdiff;h=86ac0f0297371eafc4c1f7e7c0341fa8c0d28431
(In reply to comment #3) > (In reply to comment #2) > > This appears to be fixed in the overlay. > > > > Recently built MariaDB 5.2.10 with PBXT just fine. > > This should have been fixed with this commit - > git.overlays.gentoo.org/gitweb/?p=proj/mysql.git;a=commitdiff;h=86ac0f0297371eafc4c1f7e7c0341fa8c0d28431 It seems that it is broken again by this commit - git.overlays.gentoo.org/gitweb/?p=proj/mysql.git;a=commitdiff;h=851a54be8a1d3c91aa1382fa91ea11519d96bdc6
I've talked to Robin and reverted the commit. Please verify that it's working again for you.
Yes that part works. However, currently a "fi" is missing on line 137 of mysql-v2.eclass from commit http://git.overlays.gentoo.org/gitweb/?p=proj/mysql.git;a=commitdiff;h=1ecca12f62c722873c0c766fd4b0500c11b08f51 This breaks all v2 based eclasses.
(In reply to comment #6) > Yes that part works. > > However, currently a "fi" is missing on line 137 of mysql-v2.eclass from commit > http://git.overlays.gentoo.org/gitweb/?p=proj/mysql.git;a=commitdiff;h=1ecca12f62c722873c0c766fd4b0500c11b08f51 > > This breaks all v2 based eclasses. Thank you for the heads up. This is now fixed.
I confirm it works on 5.5.23.