Hi,
Sorry for long time response.
My MySQL version is 5.0.22. I'm not a C programmer but it seems the
problem is related to MySQL header my_pthreads.h
I've compiled nss-mysql like this ( From CVS) :
# ./autogen.sh
configure.ac: installing `./install-sh'
configure.ac: installing `./missing'
src/Makefile.am: installing `./depcomp'
# ./configure --enable-group --enable-shadow --with-mysql=/usr/svc/mysql
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking for gawk... gawk
checking whether make sets $(MAKE)... yes
configure: Defaulting configuration directory to "/etc"
checking build system type... i686-pc-linux-gnu
checking host system type... i686-pc-linux-gnu
checking whether to enable maintainer-specific portions of
Makefiles... no
checking for gcc... gcc
checking for C compiler default output file name... a.out
checking whether the C compiler works... yes
checking whether we are cross compiling... no
checking for suffix of executables...
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether gcc accepts -g... yes
checking for gcc option to accept ANSI C... none needed
checking for style of include used by make... GNU
checking dependency style of gcc... gcc3
checking for a BSD-compatible install... /usr/bin/install -c
checking whether ln -s works... yes
checking for gawk... (cached) gawk
checking for a sed that does not truncate output... /usr/bin/sed
checking for egrep... grep -E
checking for ld used by gcc... /usr/i686-pc-linux-gnu/bin/ld
checking if the linker (/usr/i686-pc-linux-gnu/bin/ld) is GNU ld... yes
checking for /usr/i686-pc-linux-gnu/bin/ld option to reload object
files... -r
checking for BSD-compatible nm... /usr/bin/nm -B
checking how to recognise dependent libraries... pass_all
checking how to run the C preprocessor... gcc -E
checking for ANSI C header files... yes
checking for sys/types.h... yes
checking for sys/stat.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for memory.h... yes
checking for strings.h... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for unistd.h... yes
checking dlfcn.h usability... yes
checking dlfcn.h presence... yes
checking for dlfcn.h... yes
checking for g++... g++
checking whether we are using the GNU C++ compiler... yes
checking whether g++ accepts -g... yes
checking dependency style of g++... gcc3
checking how to run the C++ preprocessor... g++ -E
checking for g77... g77
checking whether we are using the GNU Fortran 77 compiler... yes
checking whether g77 accepts -g... yes
checking the maximum length of command line arguments... 32768
checking command to parse /usr/bin/nm -B output from gcc object... ok
checking for objdir... .libs
checking for ar... ar
checking for ranlib... ranlib
checking for strip... strip
checking for correct ltmain.sh version... yes
checking if gcc supports -fno-rtti -fno-exceptions... no
checking for gcc option to produce PIC... -fPIC
checking if gcc PIC flag -fPIC works... yes
checking if gcc static flag -static works... yes
checking if gcc supports -c -o file.o... yes
checking whether the gcc linker (/usr/i686-pc-linux-gnu/bin/ld)
supports shared libraries... yes
checking whether -lc should be explicitly linked in... no
checking dynamic linker characteristics... GNU/Linux ld.so
checking how to hardcode library paths into programs... immediate
checking whether stripping libraries is possible... yes
checking if libtool supports shared libraries... yes
checking whether to build shared libraries... yes
checking whether to build static libraries... no
configure: creating libtool
checking for pthread_mutex_lock in -lpthread... yes
checking for zlibVersion in -lz... yes
checking Mysql installation directory... lib =
/usr/svc/mysql/lib/mysql, include = /usr/svc/mysql/include/mysql
checking for mysql_real_connect in -lmysqlclient_r... no
checking for mysql_real_connect in -lmysqlclient... yes
checking for my_thread_init in -lmysqlclient... no
checking for my_thread_init in -lmysys... yes
checking mysql.h usability... yes
checking mysql.h presence... yes
checking for mysql.h... yes
checking mysql_version.h usability... yes
checking mysql_version.h presence... yes
checking for mysql_version.h... yes
checking for ANSI C header files... (cached) yes
checking for stdlib.h... (cached) yes
checking for string.h... (cached) yes
checking syslog.h usability... yes
checking syslog.h presence... yes
checking for syslog.h... yes
checking for unistd.h... (cached) yes
checking nsswitch.h usability... no
checking nsswitch.h presence... no
checking for nsswitch.h... no
checking shadow.h usability... yes
checking shadow.h presence... yes
checking for shadow.h... yes
checking signal.h usability... yes
checking signal.h presence... yes
checking for signal.h... yes
checking pthread.h usability... yes
checking pthread.h presence... yes
checking for pthread.h... yes
checking for an ANSI C-conforming const... yes
checking for inline... inline
checking for size_t... yes
checking for uid_t in sys/types.h... yes
checking for gid_t... yes
checking whether lstat dereferences a symlink specified with a
trailing slash... yes
checking whether stat accepts an empty string... no
checking for endgrent... yes
checking for endpwent... yes
checking for getspnam... yes
checking for memset... yes
checking for strchr... yes
checking for strdup... yes
checking for strerror... yes
checking for strtol... yes
checking for vasprintf... yes
checking for sigwait... yes
checking for mysql_real_escape_string... yes
configure: creating ./config.status
config.status: creating Makefile
config.status: creating tests/Makefile
config.status: creating src/Makefile
config.status: creating src/config.h
config.status: executing depfiles commands
# make
Making all in tests
make[1]: Entering directory `/usr/svc/dedibox/nss-mysql/tests'
make[1]: Nothing to be done for `all'.
make[1]: Leaving directory `/usr/svc/dedibox/nss-mysql/tests'
Making all in src
make[1]: Entering directory `/usr/svc/dedibox/nss-mysql/src'
make all-am
make[2]: Entering directory `/usr/svc/dedibox/nss-mysql/src'
if /bin/sh ../libtool --tag=CC --mode=compile gcc -DHAVE_CONFIG_H -I.
-I. -I. -DSYSCONFDIR=\"/etc\" -D_REENTRANT
-I/usr/svc/mysql/include/mysql -W -Wall -Wstrict-prototypes
-Wpointer-arith -Wundef -g -O2 -MT parser.lo -MD -MP -MF
".deps/parser.Tpo" -c -o parser.lo parser.c; \
then mv -f ".deps/parser.Tpo" ".deps/parser.Plo"; else rm -f
".deps/parser.Tpo"; exit 1; fi
mkdir .libs
gcc -DHAVE_CONFIG_H -I. -I. -I. -DSYSCONFDIR=\"/etc\" -D_REENTRANT
-I/usr/svc/mysql/include/mysql -W -Wall -Wstrict-prototypes
-Wpointer-arith -Wundef -g -O2 -MT parser.lo -MD -MP -MF
.deps/parser.Tpo -c parser.c -fPIC -DPIC -o .libs/parser.o
In file included from nss-mysql.h:70,
from parser.c:35:
/usr/svc/mysql/include/mysql/my_pthread.h:646:5: warning:
"SIZEOF_CHARP" is not defined
if /bin/sh ../libtool --tag=CC --mode=compile gcc -DHAVE_CONFIG_H -I.
-I. -I. -DSYSCONFDIR=\"/etc\" -D_REENTRANT
-I/usr/svc/mysql/include/mysql -W -Wall -Wstrict-prototypes
-Wpointer-arith -Wundef -g -O2 -MT lib.lo -MD -MP -MF ".deps/lib.Tpo"
-c -o lib.lo lib.c; \
then mv -f ".deps/lib.Tpo" ".deps/lib.Plo"; else rm -f
".deps/lib.Tpo"; exit 1; fi
gcc -DHAVE_CONFIG_H -I. -I. -I. -DSYSCONFDIR=\"/etc\" -D_REENTRANT
-I/usr/svc/mysql/include/mysql -W -Wall -Wstrict-prototypes
-Wpointer-arith -Wundef -g -O2 -MT lib.lo -MD -MP -MF .deps/lib.Tpo -c
lib.c -fPIC -DPIC -o .libs/lib.o
In file included from /usr/svc/mysql/include/mysql/mysql.h:57,
from lib.h:15,
from lib.c:39:
/usr/svc/mysql/include/mysql/mysql_com.h:300:5: warning:
"MYSQL_VERSION_ID" is not defined
In file included from nss-mysql.h:70,
from passwd.h:15,
from lib.h:17,
from lib.c:39:
/usr/svc/mysql/include/mysql/my_pthread.h:646:5: warning:
"SIZEOF_CHARP" is not defined
if /bin/sh ../libtool --tag=CC --mode=compile gcc -DHAVE_CONFIG_H -I.
-I. -I. -DSYSCONFDIR=\"/etc\" -D_REENTRANT
-I/usr/svc/mysql/include/mysql -W -Wall -Wstrict-prototypes
-Wpointer-arith -Wundef -g -O2 -MT shadow.lo -MD -MP -MF
".deps/shadow.Tpo" -c -o shadow.lo shadow.c; \
then mv -f ".deps/shadow.Tpo" ".deps/shadow.Plo"; else rm -f
".deps/shadow.Tpo"; exit 1; fi
gcc -DHAVE_CONFIG_H -I. -I. -I. -DSYSCONFDIR=\"/etc\" -D_REENTRANT
-I/usr/svc/mysql/include/mysql -W -Wall -Wstrict-prototypes
-Wpointer-arith -Wundef -g -O2 -MT shadow.lo -MD -MP -MF
.deps/shadow.Tpo -c shadow.c -fPIC -DPIC -o .libs/shadow.o
In file included from nss-mysql.h:70,
from shadow.c:34:
/usr/svc/mysql/include/mysql/my_pthread.h:646:5: warning:
"SIZEOF_CHARP" is not defined
if /bin/sh ../libtool --tag=CC --mode=compile gcc -DHAVE_CONFIG_H -I.
-I. -I. -DSYSCONFDIR=\"/etc\" -D_REENTRANT
-I/usr/svc/mysql/include/mysql -W -Wall -Wstrict-prototypes
-Wpointer-arith -Wundef -g -O2 -MT passwd.lo -MD -MP -MF
".deps/passwd.Tpo" -c -o passwd.lo passwd.c; \
then mv -f ".deps/passwd.Tpo" ".deps/passwd.Plo"; else rm -f
".deps/passwd.Tpo"; exit 1; fi
gcc -DHAVE_CONFIG_H -I. -I. -I. -DSYSCONFDIR=\"/etc\" -D_REENTRANT
-I/usr/svc/mysql/include/mysql -W -Wall -Wstrict-prototypes
-Wpointer-arith -Wundef -g -O2 -MT passwd.lo -MD -MP -MF
.deps/passwd.Tpo -c passwd.c -fPIC -DPIC -o .libs/passwd.o
In file included from nss-mysql.h:70,
from passwd.c:32:
/usr/svc/mysql/include/mysql/my_pthread.h:646:5: warning:
"SIZEOF_CHARP" is not defined
if /bin/sh ../libtool --tag=CC --mode=compile gcc -DHAVE_CONFIG_H -I.
-I. -I. -DSYSCONFDIR=\"/etc\" -D_REENTRANT
-I/usr/svc/mysql/include/mysql -W -Wall -Wstrict-prototypes
-Wpointer-arith -Wundef -g -O2 -MT group.lo -MD -MP -MF
".deps/group.Tpo" -c -o group.lo group.c; \
then mv -f ".deps/group.Tpo" ".deps/group.Plo"; else rm -f
".deps/group.Tpo"; exit 1; fi
gcc -DHAVE_CONFIG_H -I. -I. -I. -DSYSCONFDIR=\"/etc\" -D_REENTRANT
-I/usr/svc/mysql/include/mysql -W -Wall -Wstrict-prototypes
-Wpointer-arith -Wundef -g -O2 -MT group.lo -MD -MP -MF
.deps/group.Tpo -c group.c -fPIC -DPIC -o .libs/group.o
In file included from nss-mysql.h:70,
from group.c:32:
/usr/svc/mysql/include/mysql/my_pthread.h:646:5: warning:
"SIZEOF_CHARP" is not defined
if /bin/sh ../libtool --tag=CC --mode=compile gcc -DHAVE_CONFIG_H -I.
-I. -I. -DSYSCONFDIR=\"/etc\" -D_REENTRANT
-I/usr/svc/mysql/include/mysql -W -Wall -Wstrict-prototypes
-Wpointer-arith -Wundef -g -O2 -MT ent.lo -MD -MP -MF ".deps/ent.Tpo"
-c -o ent.lo ent.c; \
then mv -f ".deps/ent.Tpo" ".deps/ent.Plo"; else rm -f
".deps/ent.Tpo"; exit 1; fi
gcc -DHAVE_CONFIG_H -I. -I. -I. -DSYSCONFDIR=\"/etc\" -D_REENTRANT
-I/usr/svc/mysql/include/mysql -W -Wall -Wstrict-prototypes
-Wpointer-arith -Wundef -g -O2 -MT ent.lo -MD -MP -MF .deps/ent.Tpo -c
ent.c -fPIC -DPIC -o .libs/ent.o
In file included from nss-mysql.h:70,
from ent.c:31:
/usr/svc/mysql/include/mysql/my_pthread.h:517: error: parse error
before '*' token
/usr/svc/mysql/include/mysql/my_pthread.h:517: warning: function
declaration isn't a prototype
In file included from nss-mysql.h:70,
from ent.c:31:
/usr/svc/mysql/include/mysql/my_pthread.h:646:5: warning:
"SIZEOF_CHARP" is not defined
make[2]: *** [ent.lo] Error 1
make[2]: Leaving directory `/usr/svc/dedibox/nss-mysql/src'
make[1]: *** [all] Error 2
make[1]: Leaving directory `/usr/svc/dedibox/nss-mysql/src'
make: *** [all-recursive] Error 1
Many thanks for your help.
Guillaume Morin a écrit :
Claude,
On 26 May 11:10, anonymous wrote:
I've tried source tarball and cvs, and i'm not able to compile
nss-mysql wih mysql 5.0. Have you got any plan to upgrade nss-mysql
to mysql 5.0 ?
nss-mysql is supposed to compile with MySQL 5.0 client lib. Could you
send exactly the error you're getting?
G.