OSEC

Neohapsis is currently accepting applications for employment. For more information, please visit our website www.neohapsis.com or email hr@neohapsis.com
 
Re: `gmake test` probs Solaris9 for M. 4.1.4.

From: Michael Stassen (Michael.Stassenverizon.net)
Date: Fri Sep 09 2005 - 10:55:45 CDT


Hugh,

I get the same thing on Mac OS X 10.3.9. My thinking was that rather than
replying with an unhelpful "Me too", I would do some digging and then reply
with what I found. I realize now that left you hanging (sorry), so I'll
report what I've found so far.

The test suite is broken.

The archive test is meant to test the archive table engine, but the archive
engine is not built into mysql by default. You have to add the
--with-archive-storage-engine if you want it. You didn't do that, so the
archive test should have been skipped.

With mysql 4.1.12, `make -n test` reveals

   cd mysql-test; ./mysql-test-run && ./mysql-test-run --ps-protocol

With 4.1.14, that has changed to

   cd mysql-test; perl mysql-test-run.pl && perl mysql-test-run.pl
   --ps-protocol

Apparently, the test program shell script, mysql-test-run, has been
rewritten as a perl script, though there is no mention of this in the change
log <http://dev.mysql.com/doc/mysql/en/news-4-1-x.html>. A quick glance at
the source shows that the perl script is not finished -- it has quite a few
commented-out, "fix me" sections.

You still have a couple of options to test your build. You can run the new
test suite with the --force option. Do what make would do, `cd mysql-test`,
then `perl mysql-test-run.pl --force`. You will see that every test that
should have been skipped will instead be run and fail (archive, the bdb
tests, blackhole, csv, example, func_des_encrypt, isam, the ndb tests,
openssl_1, raid, and so on). If every test passes except for tests of
things you don't have, you should be OK. In particular, there are a set of
innodb tests which should answer your question about whether or not innodb
is working in your build.

There's a second way, which I think is better. It turns out that the old
shell-script test suite is still built. Hence, you can still test the old
way.

   cd mysql-test && ./mysql-test-run --force

This will properly skip tests of features not compiled in. Note that I
added --force because, at least in my case, the new embedded test,
not_embedded_server, is run and fails. I'm not yet sure if that should have
been skipped.

As the old test script is still built and the new test script is unfinished,
undocumented, and broken, I am suspicious that the real problem is that make
was prematurely (accidentally?) changed to use the new one before it was
ready. I've copied the bugs list in hopes of an answer.

Michael

P.S. Out of curiosity, why did you find it necessary to edit
BUILD/compile-solaris-sparc? Couldn't you make the changes you wanted with
options to configure?

Hugh Sasse wrote:
> I've see no reply to this and I checked the archives, so please
> excuse my resubmitting it. Maybe I shouldn't be using 4.1.14 but
> 4.0.x?
> Thank you,
> Hugh
> On Wed, 7 Sep 2005, Hugh Sasse wrote:
>
>> Attempts to do make test prior to installation, to check that I'm
>> installing something workable, give:
>>
>> <quote>
>> neelix hgs 63 %> gmake test
>> cd mysql-test; perl mysql-test-run.pl && perl mysql-test-run.pl
>> --ps-protocol
>> No ndbcluster support
>> Killing Possible Leftover Processes
>> Removing Stale Files
>> Installing Master Databases
>> Installing Master Databases
>> Installing Slave Databases
>> Installing Slave Databases
>> Installing Slave Databases
>> =======================================================
>> Finding Tests in the 'main' suite
>> Starting Tests in the 'main' suite
>>
>> TEST RESULT
>> -------------------------------------------------------
>>
>> alias [ pass ]
>> alter_table [ pass ]
>> analyse [ pass ]
>> analyze [ pass ]
>> ansi [ pass ]
>> archive [ fail ]
>> Errors are (from
>> /scratch/hgs/mysql-4.1.14/mysql-test/var/log/mysqltest-time) :
>> This test is not supported by this installation
>> mysqltest returned unexpected code 15872, it has probably crashed
>> (the last lines may be the most important ones)
>>
>> Aborting: archive failed. To continue, re-run with '--force'.
>> Ending Tests
>> Shutting-down MySQL daemon
>>
>> Master(s) shutdown finished
>> Slave(s) shutdown finished
>> gmake: *** [test] Error 1
>> neelix hgs 64 %>
>> </quote>
>>
>> So, firstly, invoke what with '--force'? You don't get anything
>> useful if you pass that to make
>>
>> Also, how can I tell if InnoDB built OK? I'm doing this for use
>> with Ruby on Rails, and I need it to be in a separate directory from
>> the version we already have (3.x) used by others. I modified
>> mysql-4.1.14/BUILD/compile-solaris-sparc thusly
>>
>> neelix hgs 81 %> display_diffs.rb .
>> --- ./compile-solaris-sparc.orig 2005-08-17 18:06:41.000000000
>> +0100
>> +++ ./compile-solaris-sparc 2005-09-06 18:36:25.386697000 +0100
>> -11,6 +11,6
>> (cd gemini && aclocal && autoheader && aclocal && automake &&
>> autoconf)
>> fi
>>
>> -CFLAGS="-g -Wimplicit -Wreturn-type -Wswitch -Wtrigraphs -Wcomment -W
>> -Wchar-subscripts -Wformat -Wparentheses -Wsign-compare
>> -Wwrite-strings -Wunused -O3 -fno-omit-frame-pointer -mcpu=v8
>> -Wa,-xarch=v8plusa" CXX=gcc CXXFLAGS="-Wimplicit -Wreturn-type
>> -Wswitch -Wtrigraphs -Wcomment -W -Wchar-subscripts -Wformat
>> -Wparentheses -Wsign-compare -Wwrite-strings -Woverloaded-virtual
>> -Wsign-promo -Wreorder -Wctor-dtor-privacy -Wnon-virtual-dtor
>> -felide-constructors -fno-exceptions -fno-rtti -O3
>> -fno-omit-frame-pointer -mcpu=v8 -Wa,-xarch=v8plusa -g" ./configure
>> --prefix=/usr/local/mysql --enable-assembler
>> --with-extra-charsets=complex --enable-thread-safe-client
>> +CFLAGS="-g -Wimplicit -Wreturn-type -Wswitch -Wtrigraphs -Wcomment -W
>> -Wchar-subscripts -Wformat -Wparentheses -Wsign-compare
>> -Wwrite-strings -Wunused -O3 -fno-omit-frame-pointer -mcpu=v8
>> -Wa,-xarch=v8plusa" CXX=gcc CXXFLAGS="-Wimplicit -Wreturn-type
>> -Wswitch -Wtrigraphs -Wcomment -W -Wchar-subscripts -Wformat
>> -Wparentheses -Wsign-compare -Wwrite-strings -Woverloaded-virtual
>> -Wsign-promo -Wreorder -Wctor-dtor-privacy -Wnon-virtual-dtor
>> -felide-constructors -fno-exceptions -fno-rtti -O3
>> -fno-omit-frame-pointer -mcpu=v8 -Wa,-xarch=v8plusa -g" ./configure
>> --prefix=/usr/local/mysql --enable-assembler
>> --with-extra-charsets=complex --enable-thread-safe-client
>> --with-tcp-port=3308 --with-unix-socket-path=/tmp/mysql4.sock
>> --prefix=/usr/local/mysql-4.1.14
>>
>> gmake -j 4
>> neelix hgs 82 %>
>> and I invoked the script directly, and also tried with bash.
>>
>> Not sure what else to pass on.
>>
>> GNU Make version 3.79.1, by Richard Stallman and Roland McGrath.
>> Built for sparc-sun-solaris2.9
>>
>> gcc (GCC) 3.4.3
>>
>> Thank you
>> Hugh

--
MySQL General Mailing List
For list archives: http://lists.mysql.com/mysql