bugmake - Bugs: bug #8616, Length limitation on implicit rule...

 
 

bug #8616: Length limitation on implicit rule file name length

Submitted by:  None
Submitted on:  Mon 19 Apr 2004 10:11:02 AM UTC  
 
Severity: 3 - NormalItem Group: Bug
Status: DuplicatePrivacy: Public
Assigned to: NoneOpen/Closed: Closed
Component Version: 3.80Operating System: POSIX-Based
Fixed Release: NoneTriage Status: None

Add a New Comment(Rich Markup)
   

You are not logged in

Please log in, so followups can be emailed to you.

 

Tue 20 Apr 2004 10:18:02 AM UTC, comment #2:

Hi,

First I want to thank you for the prompt response!

I tried 3.81beta1 and it still doesn't work. This makefile works with /usr/ccs/make so it's must be something gnu make.

Some more information:

I have some properties files in which I need to replace some placeholders at install time but I don't want to apply the "sed" to the jar files because they contain one of the placeholders and hence get corrupted. so I actually have to very similar targets:

$(MK_INSROOT)/lib/java/jar/%: $(PRODUCT_HOME)/specificrisk/src/coasterLoader/build/lib/jar/%
-$(RM) $@
$(INSTALL) $< $@
$(CHMOD) 0444 $@

$(MK_INSROOT)/lib/java/%: $(PRODUCT_HOME)/specificrisk/src/coasterLoader/build/lib/%
-$(RM) $@
$(SED) $< > $@
$(CHMOD) 0444 $@

The first one is the one for the jars and the second one is for the properties and other text files.

The first one doesn't work but the second one does.

The weird thing is this:

If I comment out the target that doesn't work the jar:s actually get picked up by the second target and get processed (but also sed:ed which I don't want). This kind of makes sense I guess since the "%" can match "jar/coasterLoader.jar". But why doesn't the first target work?

Best regards,
Andrei Lenkei

Andrei Lenkei <alenkei>
Mon 19 Apr 2004 10:18:06 PM UTC, comment #1:

There is no line length limitation in GNU make. However, there have been a bug or two in 3.80 that might be causing this problem.

There are patches provided in the closed bugs (do a search with a "Fixed Release" set to "CVS").

Or you can try the beta1 version that was released a few weeks ago. The URL can be found here (remove the bogus extra "\" in the download URL in this email):

http://mail.gnu.org/archive/html/bug-make/2004-03/msg00006.html

If this doesn't solve your problem please update this bug, and also send email to -unavailable- because there's currently a problem in Savannah where it doesn't send mail when bugs are updated.

Paul D. Smith <psmith>
Project Administrator
Mon 19 Apr 2004 10:11:02 AM UTC, original submission:

Hi,

I have tha following rule:

$(MK_INSROOT)/lib/java/jar/%: src/coasterLoader/build/lib/jar/%
-$(RM) $@
$(INSTALL) $< $@
$(CHMOD) 0444 $@

This target fails for a jar called coasterLoader.jar

When I run this in one ClearCase view the current path is "/vobs/MARKET_RISK/specificrisk" and the total dependency becomes "/vobs/MARKET_RISK/specificrisk/src/coasterLoader/build/lib/jar/coasterLoader.jar"
which is ok.

When I build in a different view the current path is "/view/ssa_8_lenkeian_var_specific_2.1_uat1/vobs/MARKET_RISK/" and the total dependency becomes "/view/ssa_8_lenkeian_var_specific_2.1_uat1/vobs/MARKET_RISK/specificrisk/src/coasterLoader/build/lib/jar/coasterLoader.jar" which is NOT OK becaus it can't match the rules.

I have run with the "-d" flag and here is the output:

works:
Considering target file `/home/lenkeian/devel/sbcimp/run/pkgs/RISK/var_specific/v2.1.0/lib/java/jar/coasterLoader.jar'.
File `/home/lenkeian/devel/sbcimp/run/pkgs/RISK/var_specific/v2.1.0/lib/java/jar/coasterLoader.jar' does not exist.
Looking for an implicit rule for `/home/lenkeian/devel/sbcimp/run/pkgs/RISK/var_specific/v2.1.0/lib/java/jar/coasterLoader.jar'.
Trying pattern rule with stem `coasterLoader.jar'.
Trying implicit prerequisite `src/coasterLoader/build/lib/jar/coasterLoader.jar'.
Found an implicit rule for `/home/lenkeian/devel/sbcimp/run/pkgs/RISK/var_specific/v2.1.0/lib/java/jar/coasterLoader.jar'.

doesn't work:
No implicit rule found for `installjars'.
Considering target file `/view/ssa_8_lenkeian_var_specific_2.1_uat1/vobs/MARKET_RISK/INSTALL/sbcimp/run/pkgs/RISK/var_specific/v2.1.0/lib/java/jar/coasterLoader.jar'.
File `/view/ssa_8_lenkeian_var_specific_2.1_uat1/vobs/MARKET_RISK/INSTALL/sbcimp/run/pkgs/RISK/var_specific/v2.1.0/lib/java/jar/coasterLoader.jar' does not exist.
Looking for an implicit rule for `/view/ssa_8_lenkeian_var_specific_2.1_uat1/vobs/MARKET_RISK/INSTALL/sbcimp/run/pkgs/RISK/var_specific/v2.1.0/lib/java/jar/coasterLoader.jar'.
Trying pattern rule with stem `coasterLoader.jar'.
Trying implicit prerequisite `src/coasterLoader/build/lib/jar/coasterLoader.jar'.
Trying pattern rule with stem `jar/coasterLoader.jar'.
Trying implicit prerequisite `src/coasterLoader/build/lib/jar/coasterLoader.jar'.
...

And on ity goes.

I have also tried with another ridiculously long view name (even longer than above) and that fails on even a shorter file:

make[3]: Entering directory `/vobs/MARKET_RISK/merlin/interface/infra'
/view/risk_lenkeian_unix_extremely_long_view_name_to_test_ssa_problem_with_coasterLoader/vobs/MARKET_RISK/makefiles/Makefile5.proj:121: make.depend: No such file or directory

Which leads me to believe that the problem is in the maximum length of the implicit rule maybe?

Best regards,
Andrei Lenkei

Anonymous

 

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

Attach File(s):
   
   
Comment:
   

No files currently attached

 

Depends on the following items: None found

Items that depend on this one: None found

 

CC list is empty

 

Do you think this task is very important?
If so, you can click here to add your encouragement to it.
This task has 0 encouragements so far.

Only logged-in users can vote.

 

Please enter the title of George Orwell's famous dystopian book (it's a date):

 

 

Follow 2 latest changes.

Date Changed By Updated Field Previous Value => Replaced By
Mon 19 Apr 2004 10:18:06 PM UTCpsmithStatusNone=>Duplicate
  Open/ClosedOpen=>Closed

Back to the top


Powered by Savane 3.1-cleanup1