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