help-guix
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: mariadb build fails "Failing test(s): main.mysqldump"


From: Matthew Brooks
Subject: Re: mariadb build fails "Failing test(s): main.mysqldump"
Date: Tue, 22 Jan 2019 20:06:26 -0600

I've been able to figure out a workaround, by installing mariadb 10.1.33. 
Specifically, the version of 10.1.33 from commit 
"5b4d2e40f1b2097c1f1ea6d1a0e701a1908011d4" of the guix repository, which is 
from before mariadb was configured to run all the tests it does now. All of the 
later versions (except 10.1.34, which couldn't find the source file) errored 
during testing like 10.1.37 does, but not always the same test, it seems.

I'll document the steps that ended up working below, in case anyone else is 
having this issue. First though, anyone who actually needs mariadb, instead of 
just needing it as a dependency for qt or some other package, probably 
shouldn't do this, since it does skip at least some of the tests, and thus 
probably isn't reliable for managing an actual database.


First, cd to a directory you can work in, and clone the guix repo:
"git clone https://git.savannah.gnu.org/git/guix.git";

Next, cd into the repo:
"cd guix"

Now, tell git to go back to the commit we want:
"git checkout 5b4d2e40f1b2097c1f1ea6d1a0e701a1908011d4 ."
Make sure to include the " ." at the end, which tells git to checkout the files 
and directories in the current folder. If no folder is specified, nothing 
happens.
Also, make sure that you're in the root of the guix repo when running that, as 
"." points to the current folder, and if that's not the root of the guix repo, 
things won't go as planned.

Then, copy the databases.scm file to a temporary directory all on it's own, so 
we can tell guix to install that version of mariadb without it having to read 
every single old package from that commit:
"mkdir ../guix-temp"
"cp gnu/packages/databases.scm ../guix-temp/"
"cd ../guix-temp"

You should now be in a directory with only databases.scm, and nothing else.

Next, tell guix to install mariadb 10.1.33, and where to find the file that 
defines version 10.1.33:
"GUIX_PACKAGE_PATH=./ guix package --install address@hidden"
Guix will spit out some warnings about importing the same things multiple times 
and modules that aren't defined, but it should work fine. It will take a while 
to compile, though. Even my desktop took a few hours.

Next, verify that mariadb 10.1.33 is indeed installed:
"guix package --list-installed"

If that completed successfully, you're almost done. If you try to install (or 
upgrade) something that eventually depends on mariadb, guix will still try to 
pull in the most recent version of mariadb. If, however, you tell it to install 
and also set GUIX_PACKAGE_PATH to the directory containing that databases.scm 
file, guix will accept mariadb 10.1.33, and will proceed to build the programs 
you're actually interested in.

Obviously, you should occasionally try to upgrade without setting 
GUIX_PACKAGE_PATH, so that you can eventually get the latest mariadb whenever 
it starts working again, but until it starts working again at least you're not 
stuck unable to install anything that depends on qt or qmake or something.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]