[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.