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
To unsubscribe:    http://lists.mysql.com/[EMAIL PROTECTED]

Reply via email to