make_sandbox_from_source fails due to missing make_binary_distribution

Reported by Alexey Kopytov on 2011-09-19
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
MySQL Sandbox
Undecided
Unassigned

Bug Description

MySQL Sanbox installed from the Bazaar branch on LP:

$ bzr version-info
revision-id: <email address hidden>
date: 2011-01-07 13:46:34 +0100
build-date: 2011-09-19 14:43:00 +0400
revno: 43
branch-nick: mysql-sandbox

When I try to use make_sandbox_from_source, it aborts complaining about not being able to find make_binary_distribution. Which is indeed missing both in the source directory and installed files.

$ make_sandbox_from_source . single
can't find executable script 'make_binary_distribution'

Giuseppe Maxia (giuseppe-maxia) wrote :

make_binary_distribution is created during compilation.
If you launch make_sandbox_from_source before having compiled the source, you will get this error.

However, make_sandbox_from_source will fail with recent source packages of MySQL because it won't find the Version in Makefile.
To work around this problem, you should add anywhere in the Makefile the following line:
MYSQL_NO_DASH_VERSION=5.5.16 (or the version of the package you are building)

Download full text (3.6 KiB)

Giuseppe,

On 19.09.11 17:23, Giuseppe Maxia wrote:
> make_binary_distribution is created during compilation.
> If you launch make_sandbox_from_source before having compiled the source, you will get this error.
>

I don't see it being created (the log is on OS X, using perl installed
from macports):

root@mba:mysql-sandbox# perl Makefile.PL
Writing Makefile for MySQL::Sandbox
root@mba:mysql-sandbox# make
Skip blib/lib/MySQL/Sandbox/Scripts.pm (unchanged)
Skip blib/lib/MySQL/Sandbox/Recipes.pm (unchanged)
Skip blib/lib/MySQL/Sandbox.pm (unchanged)
cp bin/msandbox blib/script/msandbox
/opt/local/bin/perl -MExtUtils::MY -e 'MY->fixin(shift)' --
blib/script/msandbox
cp bin/make_replication_sandbox blib/script/make_replication_sandbox
/opt/local/bin/perl -MExtUtils::MY -e 'MY->fixin(shift)' --
blib/script/make_replication_sandbox
cp bin/make_multiple_sandbox blib/script/make_multiple_sandbox
/opt/local/bin/perl -MExtUtils::MY -e 'MY->fixin(shift)' --
blib/script/make_multiple_sandbox
cp bin/test_sandbox blib/script/test_sandbox
/opt/local/bin/perl -MExtUtils::MY -e 'MY->fixin(shift)' --
blib/script/test_sandbox
cp bin/make_sandbox blib/script/make_sandbox
/opt/local/bin/perl -MExtUtils::MY -e 'MY->fixin(shift)' --
blib/script/make_sandbox
cp bin/make_sandbox_from_installed blib/script/make_sandbox_from_installed
/opt/local/bin/perl -MExtUtils::MY -e 'MY->fixin(shift)' --
blib/script/make_sandbox_from_installed
cp bin/low_level_make_sandbox blib/script/low_level_make_sandbox
/opt/local/bin/perl -MExtUtils::MY -e 'MY->fixin(shift)' --
blib/script/low_level_make_sandbox
cp bin/make_multiple_custom_sandbox blib/script/make_multiple_custom_sandbox
/opt/local/bin/perl -MExtUtils::MY -e 'MY->fixin(shift)' --
blib/script/make_multiple_custom_sandbox
cp bin/sb blib/script/sb
/opt/local/bin/perl -MExtUtils::MY -e 'MY->fixin(shift)' -- blib/script/sb
cp bin/sbtool blib/script/sbtool
/opt/local/bin/perl -MExtUtils::MY -e 'MY->fixin(shift)' --
blib/script/sbtool
cp bin/make_sandbox_from_source blib/script/make_sandbox_from_source
/opt/local/bin/perl -MExtUtils::MY -e 'MY->fixin(shift)' --
blib/script/make_sandbox_from_source
Manifying blib/man3/MySQL::Sandbox::Scripts.3pm
Manifying blib/man3/MySQL::Sandbox::Recipes.3pm
Manifying blib/man3/MySQL::Sandbox.3pm
root@mba:mysql-sandbox# make install
Installing /opt/local/lib/perl5/site_perl/5.12.3/MySQL/Sandbox.pm
Installing /opt/local/lib/perl5/site_perl/5.12.3/MySQL/Sandbox/Recipes.pm
Installing /opt/local/lib/perl5/site_perl/5.12.3/MySQL/Sandbox/Scripts.pm
Installing /opt/local/share/man/man3/MySQL::Sandbox.3pm
Installing /opt/local/share/man/man3/MySQL::Sandbox::Recipes.3pm
Installing /opt/local/share/man/man3/MySQL::Sandbox::Scripts.3pm
Installing /opt/local/bin/low_level_make_sandbox
Installing /opt/local/bin/make_multiple_custom_sandbox
Installing /opt/local/bin/make_multiple_sandbox
Installing /opt/local/bin/make_replication_sandbox
Installing /opt/local/bin/make_sandbox
Installing /opt/local/bin/make_sandbox_from_installed
Installing /opt/local/bin/make_sandbox_from_source
Installing /opt/local/bin/msandbox
Installing /opt/local/bin/sb
Installing /opt/local/bin/sbtool
Installing /opt/local/bin/test_sandbox...

Read more...

Giuseppe Maxia (giuseppe-maxia) wrote :

Alexey,
make_binary_distribution is created when you compile MySQL, not the sandbox.
I have just tried it with MySQL 5.5. sources, and you get the script created right after cmake has finished the configuration stage.

The procedure works like this:
1) You unpack MySQL source (or take it from bzr)
2) you compile MySQL.
3) you run make_sandbox_from_source $PWD single
4) the sandbox will build the binaries and install from the freshly built tarball.

Alexey Kopytov (akopytov) wrote :

Giuseppe,

Thanks, it was my fault. The server source was not built, though I though it was.

It now works after the MYSQL_NO_DASH_VERSION trick. Is there a bug report for that? Seems to be rather easy to fix.

Changed in mysql-sandbox:
status: New → Invalid
Giuseppe Maxia (giuseppe-maxia) wrote :

Alexey,
I have "fixed" this problem twice already, but MySQL way of dealing with versions keeps changing. I will fix it once more. No trouble with that.

To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers