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

Reply via email to