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