Bug #36560 Parallel installation (make -j2 install) error in 5.1.24-rc
Submitted: 7 May 2008 11:38 Modified: 14 Oct 2008 9:53
Reporter: Ryan Schmidt Email Updates:
Status: Can't repeat Impact on me:
None 
Category:MySQL Server: Installing Severity:S2 (Serious)
Version:5.1.24-rc, 5.0, 5.1, 6.0 BK OS:Any (Linux, Mac)
Assigned to: CPU Architecture:Any

[7 May 2008 11:38] Ryan Schmidt
Description:
I'm using MacPorts on Mac OS X 10.4.11 on an Intel Mac and I'm trying to install the mysql5-devel port. This installs the development version of MySQL, 5.1.24-rc. I recently added "use_parallel_build yes" to the mysql5 and mysql5-devel portfiles, and added "buildmakejobs 2" to my macports.conf, which together tell Macports to add "-j2" to the "make" commands. MySQL 5.0.51a has no problems building and installing with -j2. MySQL 5.1.24-rc has no problems building with -j2, but the make install fails with this error:

Making install in mysql-test
Making install in ndb
make[3]: Nothing to be done for `install-exec-am'.
test -z "/opt/local/mysql-test/ndb" || /opt/local/var/macports/build/_Users_rschmidt_macports_dports_databases_mysql5-devel/work/mysql-5.1.24-rc/install-sh -d "/opt/local/var/macports/build/_Users_rschmidt_macports_dports_databases_mysql5-devel/work/destroot/opt/local/mysql-test/ndb"
test -z "/opt/local/mysql-test/ndb" || /opt/local/var/macports/build/_Users_rschmidt_macports_dports_databases_mysql5-devel/work/mysql-5.1.24-rc/install-sh -d "/opt/local/var/macports/build/_Users_rschmidt_macports_dports_databases_mysql5-devel/work/destroot/opt/local/mysql-test/ndb"
mkdir: /opt/local/var/macports/build/_Users_rschmidt_macports_dports_databases_mysql5-devel/work/destroot/opt/local/mysql-test: File exists
mkdir: /opt/local/var/macports/build/_Users_rschmidt_macports_dports_databases_mysql5-devel/work/destroot/opt/local/mysql-test/ndb: File exists
make[3]: *** [install-testSCRIPTS] Error 1
make[3]: *** Waiting for unfinished jobs....
make[3]: *** Waiting for unfinished jobs....
 /usr/bin/install -m 644 'ndb_config_2_node.ini' '/opt/local/var/macports/build/_Users_rschmidt_macports_dports_databases_mysql5-devel/work/destroot/opt/local/mysql-test/ndb/ndb_config_2_node.ini'
 /usr/bin/install -m 644 'ndb_config_1_node.ini' '/opt/local/var/macports/build/_Users_rschmidt_macports_dports_databases_mysql5-devel/work/destroot/opt/local/mysql-test/ndb/ndb_config_1_node.ini'
make[2]: *** [install-am] Error 2
make[1]: *** [install-recursive] Error 1
make: *** [install-recursive] Error 1

Error: Status 1 encountered during processing.

How to repeat:
After configuring and building MySQL 5.1.24-rc, try to install it in parallel with "sudo make -j2 install"
[7 May 2008 11:45] Ryan Schmidt
Looking at the error a bit more, I'm also concerned that it's testing for the existence of a directory outside the destroot (test -z "/opt/local/mysql-test/ndb") and based on that, making a directory in the destroot (/opt/local/var/macports/build/_Users_rschmidt_macports_dports_databases_mysql5-devel/work/
mysql-5.1.24-rc/install-sh -d
"/opt/local/var/macports/build/_Users_rschmidt_macports_dports_databases_mysql5-devel/work
/destroot/opt/local/mysql-test/ndb"). I don't think it should look for a directory outside the destroot.
[8 May 2008 7:14] Ryan Schmidt
Strike my last. Of course "test -z" doesn't test for the existence of the directory; it tests whether the string has nonzero length.
[12 May 2008 20:31] Sveta Smirnova
Thank you for teh report.

Verified on Linux with `make install` and BUILD/compile-pentium-maxwith different error:

/usr/bin/install -c -m 644 ./std_data/funcs_1/* /Users/apple/Applications/mysql-5.1/mysql-test/std_data/funcs_1
install: ./std_data/funcs_1/SCCS: Inappropriate file type or format
make[3]: *** [install-data-local] Error 71
make[2]: *** [install-am] Error 2
make[1]: *** [install-recursive] Error 1
make: *** [install-recursive] Error 1
[12 May 2008 21:59] Sveta Smirnova
Duplicate of bug #36646 really.
[14 Jul 2008 21:02] Timothy Smith
This was not the same as bug #36646; setting it to Can't Repeat.  If anyone gets it again in the future, please post the exact configure command and more details, and set this back to Open.
[17 Jul 2008 8:12] Ryan Schmidt
$ tar xzf mysql-5.1.26-rc.tar.gz
$ cd mysql-5.1.26-rc
$ ./configure --prefix=/tmp/mysql
$ make -j2
$ make install -j2
[snip]
Making install in netware
make  install-am
test -z "/tmp/mysql/bin" || /tmp/mysql/mysql-5.1.26-rc/install-sh -d "/tmp/mysql/bin"
make[3]: Nothing to be done for `install-data-am'.
Making install in mysql-test
Making install in ndb
make[3]: Nothing to be done for `install-exec-am'.
test -z "/tmp/mysql/mysql-test/ndb" || /tmp/mysql/mysql-5.1.26-rc/install-sh -d "/tmp/mysql/mysql-test/ndb"
test -z "/tmp/mysql/mysql-test/ndb" || /tmp/mysql/mysql-5.1.26-rc/install-sh -d "/tmp/mysql/mysql-test/ndb"
mkdir: /tmp/mysql/mysql-test/ndb: File exists
make[3]: *** [install-testSCRIPTS] Error 1
make[3]: *** Waiting for unfinished jobs....
 /mp/bin/ginstall -c -m 644 'ndb_config_2_node.ini' '/tmp/mysql/mysql-test/ndb/ndb_config_2_node.ini'
 /mp/bin/ginstall -c -m 644 'ndb_config_1_node.ini' '/tmp/mysql/mysql-test/ndb/ndb_config_1_node.ini'
make[2]: *** [install-am] Error 2
make[1]: *** [install-recursive] Error 1
make: *** [install-recursive] Error 1
$
[14 Oct 2008 9:53] Sveta Smirnova
Thank you for the feedback.

I can not repeat the problem with version 5.1.28-rc. Please consider to upgrade.