On Thu, 20 Dec 2001, Michael Widenius wrote:
> Hi! > > >>>>> "Michael" == Michael Stassen <[EMAIL PROTECTED]> writes: > <CUT> > Michael> 2) While this worked for 3.23.41, I cannot believe it has worked for you > Michael> since 3.23.43. It doesn't for me. The problem is that somewhere between > Michael> 41 and 43, mysqlbinlog got moved to the client directory (though this is > Michael> not mentioned in the change log). > > We don't document all internal changes in the changelog. (We didn't > think this was important). I'm sure you've thought about this more than I have, so I'll leave what to document up to you. I'll just comment that I didn't have this problem in .41, then did have the problem in .43. I wanted to solve the problem and make a useful report, but the change log didn't help. I had to find what had changed on my own. > Michael> As far as I can see, mysqlbinlog is > Michael> threaded, unlike the rest of client. That is, mysqlbinlog needs -ldce > Michael> (--with-named-thread-libs=). Hence, make dies with > > mysqlbinlog is not threaded. OK, I never looked at the code, so I probably shouldn't have jumped to that conclusion. But, see the link error (quoted below). The unsatisfied symbols are all pthread_something. So I added my named threaed lib with -ldce, and it seemed to work. From what you say, I gather either those should have come from libmysqlclient.a, or shouldn't be there at all. > Michael> /bin/sh ../libtool --mode=link gcc -O3 -DDBUG_OFF -DHPUX > Michael> -I/opt/dce/include -felide-constructors -fno-exceptions -fno-rtti -O3 > Michael> -fno-implicit-templates -fno-exceptions -fno-rtti -DHAVE_BROKEN_SNPRINTF > Michael> -D_INCLUDE_LONGLONG -DSIGNALS_DONT_BREAK_READ -o mysqlbinlog mysqlbinlog.o > Michael> ../libmysql/libmysqlclient.la -lz -lcrypt -lm > Michael> gcc -O3 -DDBUG_OFF -DHPUX -I/opt/dce/include -felide-constructors > Michael> -fno-exceptions -fno-rtti -O3 -fno-implicit-templates -fno-exceptions > -fno-rtti> -DHAVE_BROKEN_SNPRINTF -D_INCLUDE_LONGLONG > Michael> -DSIGNALS_DONT_BREAK_READ -o mysqlbinlog mysqlbinlog.o > Michael> ../libmysql/.libs/libmysqlclient.a -lz -lcrypt -lm -lz> -lcrypt -lm > Michael> /usr/ccs/bin/ld: Unsatisfied symbols: > Michael> pthread_once (code) > Michael> pthread_setspecific (code) > Michael> pthread_getspecific (code) > Michael> pthread_keycreate (code) > Michael> collect2: ld returned 1 exit status > Michael> make[2]: *** [mysqlbinlog] Error 1 > Michael> make[2]: Leaving directory `/scr/src/mysql-3.23.46/client' > Michael> make[1]: *** [all-recursive] Error 1 > Michael> make[1]: Leaving directory `/scr/src/mysql-3.23.46' > Michael> make: *** [all-recursive-am] Error 2 > > Michael> every time. I have to copy that last command, cd into client, paste the > Michael> last command and add '-ldce', then cd back up, and rerun make. > Michael> Configure/make should have taken care of this. That is, > Michael> --with-named-thread-libs=-ldce must be propagated to client/Makefile for > Michael> mysqlbinlog. > > This is strange; I have built mysqlbinlog on HPUX 10.x and many other OS > without having to add -lpthread (or similar) to the link line. > > Here is the link line on our HPUX 10.20 machine: > > /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 > -DDO_NOT_REMOVE_THREAD_WRAPPERS -DHPUX -DSIGNAL_WITH_VIO_CLOSE -o > mysqlbinlog mysqlbinlog.o ../libmysql/libmysqlclient.la -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 -DDO_NOT_REMOVE_THREAD_WRAPPERS -DHPUX > -DSIGNAL_WITH_VIO_CLOSE -o mysqlbinlog mysqlbinlog.o > ../libmysql/.libs/libmysqlclient.a -lcrypt -lm -lcrypt -lm > > No problem here... I see only two differences: You have -DDO_NOT_REMOVE_THREAD_WRAPPERS and -DSIGNAL_WITH_VIO_CLOSE which I do not. Should I? I looked at configure (in 3.23.46). It only sets DO_NOT_REMOVE_THREAD_WRAPPERS if it thinks you are running rhapsody, and it only sets SIGNAL_WITH_VIO_CLOSE if it thinks you're running darwin. Should these be added to hpux10.20? Actually, while looking at configure, I see that for HPUX 10.20 it does: *hpux10.20*) echo "Enabling snprintf workaround for hpux 10.20" CFLAGS="$CFLAGS -DHAVE_BROKEN_SNPRINTF -DSIGNALS_DONT_BREAK_READ" CXXFLAGS="$CXXFLAGS -DHAVE_BROKEN_SNPRINTF -D_INCLUDE_LONGLONG -DSIGNALS_DONT_BREAK_READ" if test "$with_named_thread" = "no" then echo "Using --with-named-thread=-lpthread" with_named_thread="-lcma" fi ;; I've been building with "--with-named-thread-libs=-ldce" per the manual. Is that a mistake? <CUT> > Michael> 4) Test rpl000001 fails immediately because: > > >> The file '../../std_data/words.dat' must be in the database directory > >> or be readable by all > > Michael> Clearly, configure/make should have made std_data/words.dat readable by all. > > I checked our distribution: > > monty@mysql-work$ gtar tvfz binary/mysql-4.0.1-alpha.tar.gz | grep words.dat > -rw-r--r-- 102/234 81 2001-12-20 06:03:01 >mysql-4.0.1-alpha/mysql-test/std_data/words.dat > > Looks ok to me. What's your UMASK? Mine is 077. So while words.dat is world-readable in the archive, it is not world-readable once extracted. And to be clear, I'm talking about source, not binary. > Michael> 5) This is new as of 3.23.46: mysqld won't shut down. For example, make > Michael> test ends with > <SNIP> > > Yes, it this; This will be fixed in 4.0.1 and 3.23.47. > > Here is a patch for this. <CUT> Thanks for the patch, I'm trying it now. > > Regards, > Monty > 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