MySQL is a step closer to working in prefix. What's different now is: * it compiles * it is linked correctly * ${EPREFIX}/etc/mysql.cnf contains the correct paths. What doesn't work: 1) % mysql ERROR 2002 (HY000): Can't connect to local MySQL server through socket '${EPREFIX}/var/run/mysqld/mysqld.sock' (2) # note: in pratice ${EPREFIX} is expanded. 2) the scripts in dev-db/mysql-init-scripts are all un-prefixed.
Created attachment 126343 [details, diff] diff against mysql.eclass
Created attachment 126344 [details] dev-db/mysql
Created attachment 126346 [details, diff] diff against mysql.eclass added some more quotes to occurrences of EPREFIX
Created attachment 126348 [details, diff] diff against mysql.eclass one pair of quotes was wrong
looks like you start the client app, but forgot to start the server daemon first (mysqld)
`sudo mysqld` results in mysqld: File '${EPREFIX}/var/run/mysqld/mysqld-bin.index' not found (Errcode: 13) the file is there, though.
any reason why you run that as root?
It complained about being run with --user (I didn't pass that so it's passed that by default) and said it required root privileges to do that. Thinking a bit more about it, --user is probably caused by the config files in which the default user is called 'mysql', a user that's not created(*) and does not own any files(**) so that should probably be gotten rid of. (*) enewuser is disabled (**) chown is invoked but fails, naturally
Comment on attachment 126343 [details, diff] diff against mysql.eclass i've committed the eclass in r9391[1], because it doesn't hurt. [1] http://overlays.gentoo.org/proj/alt/changeset/9391
mysql has altivec issues, i had to disable all my extra cflags (-faltivec -mcpu=7450 -mtune=7450 -maltivec -mabi=altivec) to compile this.
Ian, that is http://bugs.mysql.com/bug.php?id=30356, just undef bool in any case, such that the code below will define it This patch helps, I'm still working on the ebuild to get it right. --- include/my_global.h +++ include/my_global.h @@ -133,6 +133,7 @@ # if defined(__ppc__) || defined(__ppc64__) # define WORDS_BIGENDIAN # endif +# undef bool #endif /* defined(__APPLE__) && defined(__MACH__) */
I added the darwin patch and did some misc fixes to the eclass, and it seems to work for me. Added it to the tree. Thanks all!