Bug #39026 Cluster change breaking "mysql-test-run.pl" in an installed tree
Submitted: 25 Aug 2008 22:30 Modified: 25 Sep 2008 21:05
Reporter: Joerg Bruehe Email Updates:
Status: Closed Impact on me:
None 
Category:MySQL Cluster: Cluster (NDB) storage engine Severity:S1 (Critical)
Version:6.3.17 Cluster OS:Any
Assigned to: Joerg Bruehe CPU Architecture:Any

[25 Aug 2008 22:30] Joerg Bruehe
Description:
When trying to build Cluster-6.3.17,
one of the problems I had to deal with is that *none* of the packages built took the tests.

The relevant lines of the log are here:

> cd mysql-test ; MTR_BUILD_THREAD=auto \
>     /usr/local/bin/perl ./mysql-test-run.pl --comment=debug  --force --timer \
>         --skip-ndbcluster --skip-rpl --report-features
> Requesting build thread... got 200
> Logging: ./mysql-test-run.pl --comment=debug --force --timer --skip-ndbcluster --skip-rpl --report-features
> mysql-test-run: *** ERROR: Could not find /export/home/mysqldev/tmp-200808250957-6.3.17-22730/sol10-sparc-a/test/share/mysql/english
> Autoreleasing /tmp/mysql-test-ports:200
> make: [test-bt-debug] Error 1 (ignored)

(same for the optimized build)

Splitting the name searched into components:
- Up to "test", it is the directory into which we install the package:
  /export/home/mysqldev/tmp-200808250957-6.3.17-22730/sol10-sparc-a/test/
- The rest is relative to the installation:
  share/mysql/english

That path looks strange, I expect "share/english" only. Why that one ?

This is a quote of "mysql-test-run.pl":
>   # Look for language files and charsetsdir, use same share
>   $path_share=      mtr_path_exists("$glob_basedir/share/mysql",
>                                     "$glob_basedir/sql/share",
>                                     "$glob_basedir/share");
> 
>   $path_language=      mtr_path_exists("$path_share/english");

Hmm - so a "share/mysql/" will have precedence over plain "share/".

But we never had "share/mysql/" in the past - why now ?

In the binary package, I find
> ...-solaris10-sparc/share/
> ...-solaris10-sparc/share/mysql/
> ...-solaris10-sparc/share/mysql/swig/
> ...-solaris10-sparc/share/mysql/swig/mgmapi/
> ...-solaris10-sparc/share/mysql/swig/mgmapi/...  (many files)

whose existence AIUI is caused by this line in "storage/ndb/config/common.mk.am":
   swigincludedir   = "$(datadir)/mysql/swig"

In the main tree, this line is *not* present.

Conclusions / proposals:

1) This looks like you changed the structure of the installation tree.

2) As "mysql-test-run.pl" fails for me, I assume you have never run it
   with a binary installation, just directly within your build tree.

3) Those new files may be missing in an RPM package.

4) In order to get any tests run, I will hack "mysql-test-run.pl" such
   that "share/mysql/" will not be checked.

How to repeat:
Build,
"make_binary_installation",
install that,
run the test suite.

Suggested fix:
Decide for a different directory to put "swig" in,
that doesn't conflict with "mysql-test-run.pl",

or

Change "mysql-test-run.pl" no not look at "share/mysql/".
[26 Aug 2008 8:00] Tomas Ulin
I propose this more stable way of finding the $path_share

  # Look for language files and charsetsdir, use same share
  $path_language=   mtr_path_exists("$glob_basedir/share/mysql/english",
                                    "$glob_basedir/sql/share/english",
                                    "$glob_basedir/share/english");

  $path_share= dirname($path_language);
  $path_charsetsdir=   mtr_path_exists("$path_share/charsets");
[28 Aug 2008 7:25] Bugs System
A patch for this bug has been committed. After review, it may
be pushed to the relevant source trees for release in the next
version. You can access the patch from:

  http://lists.mysql.com/commits/52800

2682 Tomas Ulin	2008-08-26
      bug#39026
[28 Aug 2008 7:25] Bugs System
A patch for this bug has been committed. After review, it may
be pushed to the relevant source trees for release in the next
version. You can access the patch from:

  http://lists.mysql.com/commits/52801

2682 Tomas Ulin	2008-08-26
      bug#39026
[29 Aug 2008 16:25] Bugs System
A patch for this bug has been committed. After review, it may
be pushed to the relevant source trees for release in the next
version. You can access the patch from:

  http://lists.mysql.com/commits/52923

2667 Magnus Svensson	2008-08-29
      bug#39026
[12 Sep 2008 7:59] Jon Stephens
Documented bugfix in the NDB 6.2.16 and 6.3.17 changelogs as follows:

        An invalid path specification caused mysql-test-run.pl to fail.
[27 Feb 2009 12:10] Bugs System
A patch for this bug has been committed. After review, it may
be pushed to the relevant source trees for release in the next
version. You can access the patch from:

  http://lists.mysql.com/commits/67837

2758 Bjorn Munch	2009-02-27
      Bug #43256 Bug#39026 got re-surrected
      Problems with use of share/mysql dir
      Explicitly look for "english" language file
[27 Feb 2009 15:09] Bugs System
A patch for this bug has been committed. After review, it may
be pushed to the relevant source trees for release in the next
version. You can access the patch from:

  http://lists.mysql.com/commits/67868

2863 Magnus Svensson	2009-02-27
      Bug #43256 Bug#39026 got re-surrected
       Problems with use of share/mysql dir
       Explicitly look for "english" language file
      modified:
        mysql-test/mysql-test-run.pl
[27 Feb 2009 15:23] Bugs System
Pushed into 5.1.32-ndb-6.2.18 (revid:msvensson@mysql.com-20090227150925-r67jo4305y9pk9tr) (version source revid:msvensson@mysql.com-20090227150925-r67jo4305y9pk9tr) (merge vers: 5.1.32-ndb-6.2.18) (pib:6)
[27 Feb 2009 15:27] Bugs System
Pushed into 5.1.32-ndb-6.3.24 (revid:msvensson@mysql.com-20090227152549-j5i72woqim626dxz) (version source revid:msvensson@mysql.com-20090227152549-j5i72woqim626dxz) (merge vers: 5.1.32-ndb-6.3.24) (pib:6)
[27 Feb 2009 16:25] Bugs System
Pushed into 5.1.32-ndb-6.4.4 (revid:msvensson@mysql.com-20090227153142-8m04kxkvznzd60ju) (version source revid:msvensson@mysql.com-20090227153142-8m04kxkvznzd60ju) (merge vers: 5.1.32-ndb-6.4.4) (pib:6)
[10 Mar 2009 13:53] Bugs System
Pushed into 6.0.11-alpha (revid:bjorn.munch@sun.com-20090310133716-5qpotn2sggp621s1) (version source revid:bjorn.munch@sun.com-20090310133716-5qpotn2sggp621s1) (merge vers: 6.0.11-alpha) (pib:6)
[10 Mar 2009 13:56] Bugs System
Pushed into 5.1.33 (revid:bjorn.munch@sun.com-20090310134806-wnurk6dobx9u605b) (version source revid:bjorn.munch@sun.com-20090310134806-wnurk6dobx9u605b) (merge vers: 5.1.33) (pib:6)
[9 May 2009 16:44] Bugs System
Pushed into 5.1.34-ndb-6.2.18 (revid:jonas@mysql.com-20090508185236-p9b3as7qyauybefl) (version source revid:jonas@mysql.com-20090508100057-30ote4xggi4nq14v) (merge vers: 5.1.33-ndb-6.2.18) (pib:6)
[9 May 2009 17:41] Bugs System
Pushed into 5.1.34-ndb-6.3.25 (revid:jonas@mysql.com-20090509063138-1u3q3v09wnn2txyt) (version source revid:jonas@mysql.com-20090508175813-s6yele2z3oh6o99z) (merge vers: 5.1.33-ndb-6.3.25) (pib:6)
[9 May 2009 18:38] Bugs System
Pushed into 5.1.34-ndb-7.0.6 (revid:jonas@mysql.com-20090509154927-im9a7g846c6u1hzc) (version source revid:jonas@mysql.com-20090509073226-09bljakh9eppogec) (merge vers: 5.1.33-ndb-7.0.6) (pib:6)