Gary Mills wrote:
> I'm building mysql-3.22.32 under Solaris 2.5.1, using this configure script:
> env CC=cc CXX=CC \
> ./configure --prefix=/usr/local/mysql \
> --with-thread-safe-client \
> When I run `make', it compiles everything, but if I run `make' again,
> it always recompiles some files in the mysys directory. `make install'
> also wants to recompile things, which is a problem for me because I
> normally do the install as root from a filesystem mounted read-only.
> I took a quick look, but couldn't see what is wrong with the Makefile.
> Here's how it looks...
> $ make -n
> Making all in mysys
> cc -DDEFAULT_BASEDIR=\"/usr/local/mysql\" -DDATADIR="\"/usr/local/mysql/var\""
> -DHAVE_CONFIG_H -I./../include -I../include -I.. -D_LARGEFILE_SOURCE
> -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -O -DDBUG_OFF -DHAVE_BROKEN_GETPASS
> -DSOLARIS -DHAVE_RWLOCK_T -c thr_alarm.c
> The problem seems to be that after the make completes, some of the
> object files in that directory are missing...
> $ ll thr_*
> -rw-r--r-- 1 mills cserv 21405 Dec 25 18:34 thr_alarm.c
> -rw-r--r-- 1 mills cserv 30690 Feb 10 07:21 thr_lock.c
> -rw-r--r-- 1 mills cserv 5700 Dec 25 18:34 thr_mutex.c
> -rw-r--r-- 1 mills cserv 2164 Jun 2 18:28 thr_mutex.o
> I hope that someone familiar with the Makefile can fix this?
Check the datetime of the source and object files.
If your clock is WAY off, maybe the object files always appear older
than the source files.
If your source directory is NFS mounted, your server and client
machines may not have their clocks in sync.