Bug #38059 compile make install fail
Submitted: 11 Jul 2008 20:44 Modified: 16 Dec 2008 11:35
Reporter: van pham Email Updates:
Status: Can't repeat Impact on me:
None 
Category:MySQL Server: Compiling Severity:S2 (Serious)
Version: OS:Any
Assigned to: CPU Architecture:Any
Triage: D1 (Critical)

[11 Jul 2008 20:44] van pham
Description:
I downloaded the source mysql-5.1.25-rc.tar, ran configure with the following option:

./configure --prefix=/usr/local/mysql-predictify-5.1.25-linux-x86_64/mysql-5.1.25-rc  --datadir=/mysqldata/var/data --enable-local-infile --with-archive-storage-engine --with-big-tables --with-blackhole-storage-engine  --with-mysqld-user=mysql --with-isam --with-federated-storage-engine --with-innodb --with-fast-mutexes --enable-thread-safe-client --with-max-indexes=128 --with-row-based-replication  --with-mysqlmanager=yes --with-charset=latin1 --with-collation=latin1_swedish_ci --enable-assembler

ran make all then make install:

[root@dfwdb06 mysql-5.1.25-rc]# make install
Making install in .
make[1]: Entering directory `/usr/local/mysql-predictify-5.1.25-linux-x86_64/mysql-5.1.25-rc'
make[2]: Entering directory `/usr/local/mysql-predictify-5.1.25-linux-x86_64/mysql-5.1.25-rc'
make[2]: Nothing to be done for `install-exec-am'.
make[2]: Nothing to be done for `install-data-am'.
.....

/usr/bin/install: `ndb_config_2_node.ini' and `/usr/local/mysql-predictify-5.1.25-linux-x86_64/mysql-5.1.25-rc/mysql-test/ndb/ndb_config_2_node.ini' are the same file
 /usr/bin/install -c -m 644 'ndb_config_1_node.ini' '/usr/local/mysql-predictify-5.1.25-linux-x86_64/mysql-5.1.25-rc/mysql-test/ndb/ndb_config_1_node.ini'
/usr/bin/install: `ndb_config_1_node.ini' and `/usr/local/mysql-predictify-5.1.25-linux-x86_64/mysql-5.1.25-rc/mysql-test/ndb/ndb_config_1_node.ini' are the same file
make[3]: *** [install-dist_testDATA] Error 1
make[3]: Leaving directory `/usr/local/mysql-predictify-5.1.25-linux-x86_64/mysql-5.1.25-rc/mysql-test/ndb'
make[2]: *** [install-am] Error 2
make[2]: Leaving directory `/usr/local/mysql-predictify-5.1.25-linux-x86_64/mysql-5.1.25-rc/mysql-test/ndb'
make[1]: *** [install-recursive] Error 1
make[1]: Leaving directory `/usr/local/mysql-predictify-5.1.25-linux-x86_64/mysql-5.1.25-rc/mysql-test'
make: *** [install-recursive] Error 1

How to repeat:
download mysql-5.1.25-rc.tar.gz , Unpack code, cd mysql-predictify-5.0.57-linux-x86_64, run ./configure --prefix=/usr/local/mysql-predictify-5.1.25-linux-x86_64/mysql-5.1.25-rc  --datadir=/mysqldata/var/data --enable-local-infile --with-archive-storage-engine --with-big-tables --with-blackhole-storage-engine  --with-mysqld-user=mysql --with-isam --with-federated-storage-engine --with-innodb --with-fast-mutexes --enable-thread-safe-client --with-max-indexes=128 --with-row-based-replication  --with-mysqlmanager=yes --with-charset=latin1 --with-collation=latin1_swedish_ci --enable-assembler

then run make all
then run make install and Mysql will error out every time.
[13 Jul 2008 13:27] Sveta Smirnova
Please do not submit the same bug more than once. An existing bug report already describes this very problem. Even if you feel that your issue is somewhat different, the resolution is likely
to be the same. Because of this, we hope you add your comments to the original bug instead.

Thank you for your interest in MySQL.

Duplicate of bug #36646
[14 Jul 2008 9:44] Susanne Ebrecht
Doc team,

please can you make a note that cluster is unsupported in 5.1. You need to make configure --without-ndb for compiling.

Who needs cluster should download MySQL Cluster from http://dev.mysql.com/downloads/cluster/
[14 Jul 2008 9:46] Susanne Ebrecht
Please add --without-ndb to your configure command.

Cluster is not supported from MySQL version 5.1 at the moment. When you want to use MySQL Cluster please download our Cluster version from http://dev.mysql.com/downloads/cluster/
[14 Jul 2008 11:06] Susanne Ebrecht
Sorry, I meant: configure --without-ndbcluster
[14 Jul 2008 16:55] van pham
running configure with --without-ndbcluster or with --without-ndb still fail
[14 Jul 2008 22:08] Timothy Smith
Hi.  I'm unable to repeat this with mysql-5.1.26-rc source.

My configure line:
===============================================================
./configure --prefix=/var/tmp/mysql-predictify-5.1.26-linux-x86_64/mysql-5.1.26-rc --datadir=/mysqldata/var/data --enable-local-infile --with-archive-storage-engine --with-big-tables --with-blackhole-storage-engine --with-mysqld-user=mysql --with-isam --with-federated-storage-engine --with-innodb --with-fast-mutexes --enable-thread-safe-client --with-max-indexes=128 --with-row-based-replication --with-mysqlmanager=yes --with-charset=latin1 --with-collation=latin1_swedish_ci --enable-assembler
===============================================================

Then I did 'make -j6; make install; sudo mkdir /mysqldata; sudo chown `whoami` /mysqldata; make install.

The relevant snippet from 'make install' output:
===============================================================
Making install in mysql-test
make[1]: Entering directory `/home/tsmith/m/tmp/mysql-5.1.26-rc/mysql-test'
Making install in ndb
make[2]: Entering directory `/home/tsmith/m/tmp/mysql-5.1.26-rc/mysql-test/ndb'
make[3]: Entering directory `/home/tsmith/m/tmp/mysql-5.1.26-rc/mysql-test/ndb'
make[3]: Nothing to be done for `install-exec-am'.
test -z "/var/tmp/mysql-predictify-5.1.26-linux-x86_64/mysql-5.1.26-rc/mysql-test/ndb" 
|| mkdir -p -- "/var/tmp/mysql-predictify-5.1.26-linux-x86_64/mysql-5.1.26-rc/mysql-tes
t/ndb"
 /usr/bin/install -c -m 644 'ndb_config_2_node.ini' '/var/tmp/mysql-predictify-5.1.26-l
inux-x86_64/mysql-5.1.26-rc/mysql-test/ndb/ndb_config_2_node.ini'
 /usr/bin/install -c -m 644 'ndb_config_1_node.ini' '/var/tmp/mysql-predictify-5.1.26-l
inux-x86_64/mysql-5.1.26-rc/mysql-test/ndb/ndb_config_1_node.ini'
test -z "/var/tmp/mysql-predictify-5.1.26-linux-x86_64/mysql-5.1.26-rc/mysql-test/ndb" 
|| mkdir -p -- "/var/tmp/mysql-predictify-5.1.26-linux-x86_64/mysql-5.1.26-rc/mysql-tes
t/ndb"
 /usr/bin/install -c 'ndbcluster' '/var/tmp/mysql-predictify-5.1.26-linux-x86_64/mysql-
5.1.26-rc/mysql-test/ndb/ndbcluster'
make[3]: Leaving directory `/home/tsmith/m/tmp/mysql-5.1.26-rc/mysql-test/ndb'
make[2]: Leaving directory `/home/tsmith/m/tmp/mysql-5.1.26-rc/mysql-test/ndb'
===============================================================

While I agree that we should document that Cluster is supported via the special Cluster release, I don't think that the build / install should fail in the vanilla MySQL release - or it should fail with a deliberate error message if it really is unfixable in the normal distribution.

I'll leave this open as a docs issue, but would prefer that anyone who hits compile/install issues would please report them as bugs (and refer to this comment if needed, to ensure proper treatment of the new report).

Regards,

Timothy
[15 Jul 2008 10:52] Jon Stephens
Hi,

The documentation says to refer to the output of "configure --help", which includes the following:

--with-plugins=PLUGIN[,PLUGIN..]
                          Plugins to include in mysqld. (default is: none)
                          Must be a configuration name or a comma separated
                          list of plugins.
                          Available configurations are: none max max-no-ndb
                          all.
                          Available plugins are: partition daemon_example
                          ftexample archive blackhole csv example federated
                          heap innobase myisammrg myisam ndbcluster.

Please configure the build with either of the following (using --with-plugins instead of the --with-$storage_engine options):

./configure
--prefix=/var/tmp/mysql-predictify-5.1.26-linux-x86_64/mysql-5.1.26-rc
--datadir=/mysqldata/var/data --enable-local-infile
--with-big-tables
--with-mysqld-user=mysql
--with-fast-mutexes
--enable-thread-safe-client --with-max-indexes=128
--with-row-based-replication --with-mysqlmanager=yes
--with-charset=latin1 --with-collation=latin1_swedish_ci
--enable-assembler
--with-plugins=archive,blackhole,federated,innodb

or

./configure
--prefix=/var/tmp/mysql-predictify-5.1.26-linux-x86_64/mysql-5.1.26-rc
--datadir=/mysqldata/var/data --enable-local-infile
--with-big-tables
--with-mysqld-user=mysql
--with-fast-mutexes
--enable-thread-safe-client --with-max-indexes=128
--with-row-based-replication --with-mysqlmanager=yes
--with-charset=latin1 --with-collation=latin1_swedish_ci
--enable-assembler
--with-plugins=max-no-ndb

Then please let us know if either of these works for you.

Note that you reported using the --with-isam option which is not supported in MySQL 5.1 (and for this reason, it does not appear in the table at http://dev.mysql.com/doc/refman/5.1/en/configure-options.html or in the output of configure --help in 5.1).
[15 Jul 2008 16:16] van pham
tried with this configuration 
./configure --prefix=/usr/local/mysql-predictify-5.1.25-linux-x86_64/mysql-5.1.25-rc --datadir=/mysqldata/var/data --enable-local-infile --with-big-tables --with-mysqld-user=mysql --with-fast-mutexes --enable-thread-safe-client --with-max-indexes=128 --with-row-based-replication --with-mysqlmanager=yes --with-charset=latin1 --with-collation=latin1_swedish_ci --enable-assembler --with-plugins=max-no-ndb

and compilation still failed:

make[3]: Nothing to be done for `install-exec-am'.
test -z "/usr/local/mysql-predictify-5.1.25-linux-x86_64/mysql-5.1.25-rc/mysql-test/ndb" || mkdir -p -- "/usr/local/mysql-predictify-5.1.25-linux-x86_64/mysql-5.1.25-rc/mysql-test/ndb"
 /usr/bin/install -c -m 644 'ndb_config_2_node.ini' '/usr/local/mysql-predictify-5.1.25-linux-x86_64/mysql-5.1.25-rc/mysql-test/ndb/ndb_config_2_node.ini'
/usr/bin/install: `ndb_config_2_node.ini' and `/usr/local/mysql-predictify-5.1.25-linux-x86_64/mysql-5.1.25-rc/mysql-test/ndb/ndb_config_2_node.ini' are the same file
 /usr/bin/install -c -m 644 'ndb_config_1_node.ini' '/usr/local/mysql-predictify-5.1.25-linux-x86_64/mysql-5.1.25-rc/mysql-test/ndb/ndb_config_1_node.ini'
/usr/bin/install: `ndb_config_1_node.ini' and `/usr/local/mysql-predictify-5.1.25-linux-x86_64/mysql-5.1.25-rc/mysql-test/ndb/ndb_config_1_node.ini' are the same file
make[3]: *** [install-dist_testDATA] Error 1
make[3]: Leaving directory `/usr/local/mysql-predictify-5.1.25-linux-x86_64/mysql-5.1.25-rc/mysql-test/ndb'
make[2]: *** [install-am] Error 2
make[2]: Leaving directory `/usr/local/mysql-predictify-5.1.25-linux-x86_64/mysql-5.1.25-rc/mysql-test/ndb'
make[1]: *** [install-recursive] Error 1
make[1]: Leaving directory `/usr/local/mysql-predictify-5.1.25-linux-x86_64/mysql-5.1.25-rc/mysql-test'
make: *** [install-recursive] Error 1
[15 Jul 2008 21:08] Timothy Smith
See also bug #24402, which may be the same.
[16 Jul 2008 8:44] Susanne Ebrecht
Van pham,

sorry, I am already used to have this failures that I just forgot that this is happening.

That are just the tests. The workaround here is: Just ignore it. The installation of MySQL already is finished and you can use it.

I will set this bug to our test team that they remove this tests.
[16 Jul 2008 18:53] van pham
Ran configure with this option:
./configure --prefix=/usr/local/mysql-5.1.26-rc  --datadir=/mysqldata/var/data --enable-local-infile --with-big-tables --with-mysqld-user=mysql --with-fast-mutexes --enable-thread-safe-client --with-max-indexes=128  --with-row-based-replication --with-mysqlmanager=yes --with-charset=latin1 --with-collation=latin1_swedish_ci --enable-assembler  --with-plugins=max-no-ndb

Still received the following errors and Mysql is not working:
make[3]: Nothing to be done for `install-exec-am'.
test -z "/usr/local/mysql-5.1.26-rc/mysql-test/ndb" || mkdir -p -- "/usr/local/mysql-5.1.26-rc/mysql-test/ndb"
 /usr/bin/install -c -m 644 'ndb_config_2_node.ini' '/usr/local/mysql-5.1.26-rc/mysql-test/ndb/ndb_config_2_node.ini'
/usr/bin/install: `ndb_config_2_node.ini' and `/usr/local/mysql-5.1.26-rc/mysql-test/ndb/ndb_config_2_node.ini' are the same file
 /usr/bin/install -c -m 644 'ndb_config_1_node.ini' '/usr/local/mysql-5.1.26-rc/mysql-test/ndb/ndb_config_1_node.ini'
/usr/bin/install: `ndb_config_1_node.ini' and `/usr/local/mysql-5.1.26-rc/mysql-test/ndb/ndb_config_1_node.ini' are the same file
make[3]: *** [install-dist_testDATA] Error 1
make[3]: Leaving directory `/usr/local/mysql-5.1.26-rc/mysql-test/ndb'
make[2]: *** [install-am] Error 2
make[2]: Leaving directory `/usr/local/mysql-5.1.26-rc/mysql-test/ndb'
make[1]: *** [install-recursive] Error 1
make[1]: Leaving directory `/usr/local/mysql-5.1.26-rc/mysql-test'
make: *** [install-recursive] Error 1

Ran make test and I received this error (mYslq not install):

[root@dbcollab01 mysql-5.1.26-rc]# make test
cd unittest && make test
make[1]: Entering directory `/usr/local/mysql-5.1.26-rc/unittest'
perl unit.pl run mytap mysys  ../storage/archive ../storage/blackhole ../storage/csv ../storage/example ../storage/federated ../storage/heap ../storage/innobase ../storage/myisam ../storage/myisammrg   ../plugin/daemon_example ../plugin/fulltext
Running tests: mytap mysys ../storage/archive ../storage/blackhole ../storage/csv ../storage/example ../storage/federated ../storage/heap ../storage/innobase ../storage/myisam ../storage/myisammrg ../plugin/daemon_example ../plugin/fulltext
mytap/t/basic-t.....ok
        2/5 skipped: Sensa fragoli
mysys/my_atomic-t...ok
mysys/bitmap-t......ok
mysys/base64-t......ok
All tests successful, 2 subtests skipped.
Files=4, Tests=3032,  4 wallclock secs ( 4.48 cusr +  0.02 csys =  4.50 CPU)
make[1]: Leaving directory `/usr/local/mysql-5.1.26-rc/unittest'
cd mysql-test ; \
            /usr/bin/perl ./mysql-test-run.pl   --mysqld=--binlog-format=mixed
Logging: ./mysql-test-run.pl --mysqld=--binlog-format=mixed
080716 13:50:22 [ERROR] Fatal error: Please read "Security" section of the manual to find out how to run mysqld as root!

080716 13:50:22 [ERROR] Aborting

mysql-test-run: *** ERROR: Could not find version of MySQL
make: *** [test-ns] Error 1

This is borderring on the rediculous, Can I just get a binary that will work ?
[3 Sep 2008 13:26] Rasmus Nielsen
I get the same error when running "make test":

[...]
unning tests: mytap mysys ../storage/archive ../storage/blackhole ../storage/csv ../storage/example ../storage/federated ../storage/heap ../storage/innobase ../storage/myisam ../storage/myisammrg ../plugin/daemon_example ../plugin/fulltext
mytap/t/basic-t.....ok                                                       
        2/5 skipped: Sensa fragoli
mysys/base64-t......ok                                                       
mysys/bitmap-t......ok                                                       
mysys/my_atomic-t...ok                                                       
All tests successful, 2 subtests skipped.
Files=4, Tests=3032,  6 wallclock secs ( 3.42 cusr +  0.02 csys =  3.44 CPU)
make[1]: Leaving directory `/home/rasmus/mysql-5.1.26-rc/unittest'
cd mysql-test ; \
	    /usr/bin/perl ./mysql-test-run.pl   --mysqld=--binlog-format=mixed
Logging: ./mysql-test-run.pl --mysqld=--binlog-format=mixed
080903 15:25:13 [ERROR] Fatal error: Please read "Security" section of the manual to find out how to run mysqld as root!

080903 15:25:13 [ERROR] Aborting

mysql-test-run: *** ERROR: Could not find version of MySQL
make: *** [test-ns] Error 1

I've used the follow configure:
./configure --with-tcp-port=3307 --with-unix-socket-path=/tmp/mysql51.sock --prefix=/usr/local/mysql-5.1.26 --with-mysqld-user=mysql

Version used is mysql-5.1.26-rc on Debian.
[16 Dec 2008 11:35] Susanne Ebrecht
I can't repeat this by using newer MySQL versions (5.1.30).
[18 Dec 2008 17:55] Joerg Bruehe
Regarding the entries of July 16 and Sep 3, failures in "make test":

Didn't you read the message given by the server?

   [ERROR] Fatal error: Please read "Security" section of the manual to find
   out how to run mysqld as root!

From this text, I am pretty certain you were Unix user "root" when running "make test".

This is a NO-NO (and I am quite sure it is documented).

Don't be "root" unless it is absolutely necessary, and it is not necessary when testing a database.
MySQL just protects against this.