make_sandbox_from_source fails due to missing make_binary_distribution

Bug #853764 reported by Alexey Kopytov
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
MySQL Sandbox
Invalid
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'

Revision history for this message
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)

Revision history for this message
Alexey Kopytov (akopytov) wrote : Re: [Bug 853764] Re: make_sandbox_from_source fails due to missing make_binary_distribution
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...

Revision history for this message
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.

Revision history for this message
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
Revision history for this message
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  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.