Schwarz, Konrad <konrad.schwarz <at> siemens.com> writes:
> I am building a project in Cygwin using a GCC/binutils cross-compiler
hosted on Windows.
> i.e., make and other utilities are from Cygwin;
> gcc, ld, ar, etc. are from the cross-compiler toolchain which was compiled
natively for Windows.
> I consistently see
>       make[1]: Warning: File 'libmylib.a(myfile.o)' has modification time 3516
s in the future
>       make[1]: warning:  Clock skew detected.  Your build may be incomplete.
> (The exact time varies somewhat).
> The build is indeed incomplete.
> I am using the lib(member): form of rule in the Makefile, so make uses the
modification time of the member in the archive to see if it needs updating.
> As the time is close to an hour and since I am one hour east of GMT, this
might be related to a time-zone problem.
> If anyone has run across this problem and has some hints for me, I would
be most grateful.

Are you storing any of your build input or output on a network drive? 
There can be problems with server<->Windows<->Cygwin conversions of file
times from some network servers. 
Do builds with all files on a local drive for time stamp consistency. 

Are timezone updates and settings for your Windows and Cygwin environments
current and identical e.g. Europe/Berlin or equivalent? 

make -d will show you what files and times are being compared. 
Run ls -l and cmd dir, and Windows and Cygwin ar -tv on the inputs and
outputs to see what both sides see for file and member timestamps. 
 
make -B will force a complete rebuild as a workaround. 

You may have to find a Windows build of make that handles archive member
file times consistently with your Windows cross-ar, and perhaps also a shell
for use by make, if build scripts do any explicit time operations. 



--
Problem reports:       http://cygwin.com/problems.html
FAQ:                   http://cygwin.com/faq/
Documentation:         http://cygwin.com/docs.html
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple

Reply via email to