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