Bug #36560 Parallel installation (make -j2 install) error in 5.1.24-rc
Submitted: 7 May 2008 13:38 Modified: 14 Oct 2008 11:53
Reporter: Ryan Schmidt
Status: Can't repeat
Category:Server: Installing Severity:S2 (Serious)
Version:5.1.24-rc, 5.0, 5.1, 6.0 BK OS:Any (Linux, Mac)
Assigned to: Target Version:
Triage: D2 (Serious)

[7 May 2008 13: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 13: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 9: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 22: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 23:59] Sveta Smirnova
Duplicate of bug #36646 really.
[14 Jul 2008 23: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 10: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 11:53] Sveta Smirnova
Thank you for the feedback.

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