yogevb / a-dda

Automatically exported from code.google.com/p/a-dda
0 stars 0 forks source link

Problem with compilation of downloadable source packages immediately after their release #115

Closed GoogleCodeExporter closed 9 years ago

GoogleCodeExporter commented 9 years ago
Recent downloadable packages (like adda_1.0.zip) were produced on a Linux 
machine in Novosibirsk (time zone GMT+6) by 'svn export' and then zipping. The 
files in the package obtain the modification time in that time zone. In 
particular, the file const.h (and possibly others) is usually modified within 
one hour of this process.

Then, when user from, e.g., Europe or USA downloads the package soon after its 
release, some of the source (or headers) file happen to have modification time 
in the future (relative to his local time zone). This causes certain problems 
when running make. For ADDA this problems are fatal causing infinite loop of 
regenerating dependencies.

If you experience such problem, the easy solution is to locate all source files 
(in src/ folder) with modification time in the future and "touch" them to bring 
them to the current time.

I've made a quick web search of similar issues. It seems that make may produce 
warnings like "Clock skew detected", but only if modification time of the 
Makefile itself is in the future. So we should think about some way to check 
for such weird situation from inside the file and touch the files ourselves 
(however making it portable will not be easy).

A workaround is to wait one day after downloading new packages to Google Code 
before announcing the new release to the users. It will happen this way 
automatically this time, because I need to finalize a couple of wiki pages 
first.

Original issue reported on code.google.com by yurkin on 10 Sep 2010 at 12:21

GoogleCodeExporter commented 9 years ago
With the change in dependencies generation (r1191) this problem is not that 
relevant, as the builds process fine. The only problem is that on second run of 
make future timestamp may cause completer rebuild. But that scenario is not 
that likely (and can be fixed by 'touch'). 

Original comment by yurkin on 28 Oct 2013 at 4:35