bugmake - Bugs: bug #35132, Side effects of .SECONDARY with no...

 
 

bug #35132: Side effects of .SECONDARY with no targets not documented

Submitter:  None
Submitted:  Tue 20 Dec 2011 10:07:20 PM UTC
   
 
Severity:  3 - Normal Item Group:  Documentation
Status:  Works for me Privacy:  Public
Assigned to:  None Open/Closed:  Closed
Component Version:  3.82 Operating System:  POSIX-Based
Fixed Release:  None Triage Status:  Need Info
* Mandatory Fields

Add a New Comment Rich Markup
   

Mon 10 Sep 2012 12:08:37 AM UTC, comment #1: 

Unfortunately I can't understand the issues you're having well enough to decide whether there's a problem here, either in the implementation or in the code.  I don't know what "unpredictable behavior" you mean.  Reading the referenced message doesn't enlighten me.

One thing that makes me wary is that you're using symbolic links as targets.  It's important to understand that by default make doesn't know anything about symbolic links: it treats them just like any other file.  That is, when make examines the time-last-modified of the target it will see the time last modified of the file the link points to, NOT the link itself.  So if you're relying on the timestamp when the link was created to be considered by make as distinct from the timestamp when the pointed-to file was modified, that just won't work.  This doesn't have anything to do with .SECONDARY or .PRECIOUS, etc. it's just how the POSIX filesystem works.

In newer versions of GNU make you can force make to consider the timestamp of symlinks separately by using the --check-symlink-times command line argument; see the documentation.

At this point I don't have enough detail to move forward with this bug so I'm closing it.  If you have more information feel free to add another comment; I'll get email and I can re-open the bug.

Paul D. Smith <psmith>
Group administrator
Tue 20 Dec 2011 10:07:20 PM UTC, original submission:  

There are some side effects associated with intermediate/secondary targets that aren't documented in any real detail in the documentation.

The documentation for .SECONDARY gives the impression you can use .SECONDARY to disable automatic deletion of intermediate targets, but doing so causes a number of side effects that produce unpredictable behavior in a build.

Unfortunately, I do not have a concise or publishable example demonstrating the problem; however, I outlined it on this thread:

http://groups.google.com/group/gnu.utils.bug/browse_frm/thread/d882703f60b20ea5?hl=en#

-Brian

Anonymous

 

(Note: upload size limit is set to 16384 kB, after insertion of the required escape characters.)

Attach Files:
   
   
Comment:
   

No files currently attached

 

Depends on the following items: None found

Items that depend on this one: None found

 

Carbon-Copy List
  • -email is unavailable- added by psmith (Posted a comment)
  •  

    There are 0 votes so far. Votes easily highlight which items people would like to see resolved in priority, independently of the priority of the item set by tracker managers.

    Only logged-in users can vote.

     

    Follow 3 latest changes.

    Date Changed by Updated Field Previous Value => Replaced by
    2012-09-10 psmith StatusNone Works for me
        Open/ClosedOpen Closed
        Triage StatusNone Need Info

    Back to the top

    Powered by Savane 3.13-caa5.
    Corresponding source code