While I have your attention, let me take this opportunity to report that
I've run into quite a few obstacles building MySQL from source.  (I
reported most of these at the end of October, but have received no
response.)

1) Back in August (8-8-2001, in thread "Build problems (+solution) on
HPUX10.20/gcc 2.95"), you wrote

> On our HPUX 10.20 machine, we use the following configure line to
> build our binaries:
>
> CFLAGS="-DHPUX -I/opt/dce/include  -O3 -fpic" \
> CXX=gcc \
> CXXFLAGS="-DHPUX -I/opt/dce/include -felide-constructors -fno-exceptions -fno-rtti 
>-O3 " \
> ./configure \
> --prefix=/usr/local/mysql \
> "--with-comment=Official MySQL binary" \
> --with-extra-charsets=complex \
> "--with-server-suffix="  \
> --with-pthread \
> --with-named-thread-libs=-ldce \
> --disable-shared
>
> And this compiles without any problems.

This differs from the manual.  In particular, the manual leaves out the
'-fpic' part of the CFLAGS.  I ran into trouble building PHP and
DBD::mysql before I saw your note.  The manual should be fixed.

2) While this worked for 3.23.41, I cannot believe it has worked for you
since 3.23.43.  It doesn't for me.  The problem is that somewhere between
41 and 43, mysqlbinlog got moved to the client directory (though this is
not mentioned in the change log).  As far as I can see, mysqlbinlog is
threaded, unlike the rest of client.  That is, mysqlbinlog needs -ldce
(--with-named-thread-libs=).  Hence, make dies with

/bin/sh ../libtool --mode=link gcc -O3 -DDBUG_OFF -DHPUX
-I/opt/dce/include -felide-constructors -fno-exceptions -fno-rtti -O3
-fno-implicit-templates -fno-exceptions -fno-rtti -DHAVE_BROKEN_SNPRINTF
-D_INCLUDE_LONGLONG -DSIGNALS_DONT_BREAK_READ -o mysqlbinlog mysqlbinlog.o
../libmysql/libmysqlclient.la -lz -lcrypt -lm
gcc -O3 -DDBUG_OFF -DHPUX -I/opt/dce/include -felide-constructors
-fno-exceptions -fno-rtti -O3 -fno-implicit-templates -fno-exceptions
-fno-rtti> -DHAVE_BROKEN_SNPRINTF -D_INCLUDE_LONGLONG
-DSIGNALS_DONT_BREAK_READ -o mysqlbinlog mysqlbinlog.o
../libmysql/.libs/libmysqlclient.a -lz -lcrypt -lm -lz> -lcrypt -lm
/usr/ccs/bin/ld: Unsatisfied symbols:
    pthread_once (code)
    pthread_setspecific (code)
    pthread_getspecific (code)
    pthread_keycreate (code)
 collect2: ld returned 1 exit status
 make[2]: *** [mysqlbinlog] Error 1
 make[2]: Leaving directory `/scr/src/mysql-3.23.46/client'
 make[1]: *** [all-recursive] Error 1
 make[1]: Leaving directory `/scr/src/mysql-3.23.46'
 make: *** [all-recursive-am] Error 2

every time.  I have to copy that last command, cd into client, paste the
last command and add '-ldce', then cd back up, and rerun make.  
Configure/make should have taken care of this.  That is,
--with-named-thread-libs=-ldce must be propagated to client/Makefile for
mysqlbinlog.

3) (A minor thing I discovered by accident -- I don't need it.)  If you
use configure option --datadir (say --datadir=DATADIR), make test fails
immediately because mysqld needs the contents of mysql-test/share but is
looking for mysql-test/DATADIR.

  $make test
  cd mysql-test ; ./mysql-test-run
  Installing Test Databases
  Removing Stale Files
  Installing Master Databases

  ../sql/mysqld: Fatal error: Can't find
messagefile'/src/mysql-3.23.46/mysql-test/DATADIR/mysql/english/errmsg.sys'

  Error:  Could not install master test DBs
  make: *** [test] Error 1

Configure/make should either rename mysql-test/share to the value of
datadir or symlink datadir to share in mysql-test, or at least a note
should be added to the install docs.

4) Test rpl000001 fails immediately because:

> The file '../../std_data/words.dat' must be in the database directory
> or be readable by all

Clearly, configure/make should have made std_data/words.dat readable by all.

5) This is new as of 3.23.46:  mysqld won't shut down.  For example, make
test ends with

  Ending Tests
  Shutting-down MySQL daemon

  Warning;  Aborted waiting on pid 
file:'/src/mysql-3.23.46/mysql-test/var/run/mysqld.pid' after 20 seconds
  Master shutdown finished
  Warning;  Aborted waiting on pid 
file:'/src/mysql-3.23.46/mysql-test/var/run/mysqld-slave.pid' after 20 seconds
  Slave shutdown finished

but ps shows mysqld still running, and kill -9 is required to get rid of
it.  I note that one of the changes from .45 to .46 was to fix this exact
problem for Mac OSX, so I wonder if this change broke things for HPUX
10.20.

Michael



---------------------------------------------------------------------
Before posting, please check:
   http://www.mysql.com/manual.php   (the manual)
   http://lists.mysql.com/           (the list archive)

To request this thread, e-mail <[EMAIL PROTECTED]>
To unsubscribe, e-mail <[EMAIL PROTECTED]>
Trouble unsubscribing? Try: http://lists.mysql.com/php/unsubscribe.php

Reply via email to