[bug #18116] filter_out functions seems to always return an empty result

2006-10-26 Thread anonymous

URL:
  

 Summary: filter_out functions seems to always return an
empty result
 Project: make
Submitted by: None
Submitted on: jeudi 26.10.2006 à 09:43 UTC
Severity: 3 - Normal
  Item Group: Bug
  Status: None
 Privacy: Public
 Assigned to: None
 Open/Closed: Open
   Component Version: 3.81
Operating System: POSIX-Based
   Fixed Release: None

___

Details:

Here is an instance of Makefile that shows the issue (from the example given
in the manual):
### begin example
objects=main1.o foo.o main2.o bar.o
mains=main1.o main2.o
test=$(filter_out $(mains),$(objects))

all:
@echo "objects: " $(objects)
@echo "mains: " $(mains)
@echo "test: "  $(test)

### end example
tmp $ make
objects:  main1.o foo.o main2.o bar.o
mains:  main1.o main2.o
test:

The last line of output should be test: foo.o bar.o
OTOH filter works as expected






___

Reply to this item at:

  

___
  Message posté via/par Savannah
  http://savannah.gnu.org/



___
Bug-make mailing list
Bug-make@gnu.org
http://lists.gnu.org/mailman/listinfo/bug-make


[bug #18116] filter_out functions seems to always return an empty result

2006-10-26 Thread anonymous

Follow-up Comment #1, bug #18116 (project make):

> test=$(filter_out $(mains),$(objects))

You misspelled the function: it's "filter-out" with a hyphen, not an
underbar.


Philip Guenther


___

Reply to this item at:

  

___
  Message sent via/by Savannah
  http://savannah.gnu.org/



___
Bug-make mailing list
Bug-make@gnu.org
http://lists.gnu.org/mailman/listinfo/bug-make


[bug #18116] filter_out functions seems to always return an empty result

2006-10-26 Thread Paul D. Smith

Update of bug #18116 (project make):

  Status:None => Not A Bug  
 Open/Closed:Open => Closed 

___

Follow-up Comment #2:

As Philip says, the problem is in the makefile.  If you still have issues
after correcting that, post it here.

Cheers!

___

Reply to this item at:

  

___
  Message sent via/by Savannah
  http://savannah.gnu.org/



___
Bug-make mailing list
Bug-make@gnu.org
http://lists.gnu.org/mailman/listinfo/bug-make


[bug #18123] wilcard function fails (...)*/ expansion

2006-10-26 Thread anonymous

URL:
  

 Summary: wilcard function fails (...)*/ expansion
 Project: make
Submitted by: None
Submitted on: jeudi 26.10.2006 à 15:21 UTC
Severity: 3 - Normal
  Item Group: Bug
  Status: None
 Privacy: Public
 Assigned to: None
 Open/Closed: Open
   Component Version: 3.80
Operating System: POSIX-Based
   Fixed Release: None

___

Details:

Supposing wildcard function expands its arguments as the shell does, it
should only generate directory paths when the pattern ends with /.
This is not the case : it does so this with */, but not with more complex
patterns, which will also generate file paths.






___

File Attachments:


---
Date: jeudi 26.10.2006 à 15:21 UTC  Name: Makefile  Size: 429 o   By: None
Use make dirs, then make list to see the different behaviours


___

Reply to this item at:

  

___
  Message posté via/par Savannah
  http://savannah.gnu.org/



___
Bug-make mailing list
Bug-make@gnu.org
http://lists.gnu.org/mailman/listinfo/bug-make


[bug #18124] make-3.81 isn't parallel build safe

2006-10-26 Thread anonymous

URL:
  

 Summary: make-3.81 isn't parallel build safe
 Project: make
Submitted by: None
Submitted on: Thursday 10/26/2006 at 18:15 UTC
Severity: 3 - Normal
  Item Group: Bug
  Status: None
 Privacy: Public
 Assigned to: None
 Open/Closed: Open
   Component Version: 3.81
Operating System: POSIX-Based
   Fixed Release: None

___

Details:

From

https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=212111

To reproduce it, after glibc build is done, in glibc build directory:

[EMAIL PROTECTED] build-x86_64-linux]$ rm -rf iconv
[EMAIL PROTECTED] build-x86_64-linux]$ make  -j4 PARALLELMFLAGS=-j4 > make.log
make[2]: warning: -jN forced in submake: disabling jobserver mode.
make[2]: warning: -jN forced in submake: disabling jobserver mode.
mkdir /export/build/gnu/glibc-nptl-local/build-x86_64-linux/iconv
gconv_open.c: In function ‘__gconv_open’:
gconv_open.c:59: warning: ‘ptr’ may be used uninitialized in this
function
gconv_open.c: In function ‘__gconv_open’:
gconv_open.c:59: warning: ‘ptr’ may be used uninitialized in this
function
make[2]: warning: -jN forced in submake: disabling jobserver mode.
make[2]: warning: -jN forced in submake: disabling jobserver mode.
make[2]: warning: -jN forced in submake: disabling jobserver mode.
make[2]: warning: -jN forced in submake: disabling jobserver mode.
make[2]: warning: -jN forced in submake: disabling jobserver mode.
make[2]: warning: -jN forced in submake: disabling jobserver mode.
make[2]: warning: -jN forced in submake: disabling jobserver mode.
make[2]: warning: -jN forced in submake: disabling jobserver mode.
make[2]: warning: -jN forced in submake: disabling jobserver mode.
make[2]: warning: -jN forced in submake: disabling jobserver mode.
make[2]: warning: -jN forced in submake: disabling jobserver mode.
make[2]: warning: -jN forced in submake: disabling jobserver mode.
make[2]: warning: -jN forced in submake: disabling jobserver mode.
make[2]: warning: -jN forced in submake: disabling jobserver mode.
make[2]: warning: -jN forced in submake: disabling jobserver mode.
make[2]: warning: -jN forced in submake: disabling jobserver mode.
make[2]: warning: -jN forced in submake: disabling jobserver mode.
make[2]: warning: -jN forced in submake: disabling jobserver mode.
make[2]: warning: -jN forced in submake: disabling jobserver mode.
make[2]: warning: -jN forced in submake: disabling jobserver mode.
make[2]: warning: -jN forced in submake: disabling jobserver mode.
make[2]: warning: -jN forced in submake: disabling jobserver mode.
make[2]: warning: -jN forced in submake: disabling jobserver mode.
make[2]: warning: -jN forced in submake: disabling jobserver mode.
make[2]: warning: -jN forced in submake: disabling jobserver mode.
make[2]: warning: -jN forced in submake: disabling jobserver mode.
make[2]: warning: -jN forced in submake: disabling jobserver mode.
make[2]: warning: -jN forced in submake: disabling jobserver mode.
make[2]: warning: -jN forced in submake: disabling jobserver mode.
make[2]: warning: -jN forced in submake: disabling jobserver mode.
make[2]: warning: -jN forced in submake: disabling jobserver mode.
make[2]: warning: -jN forced in submake: disabling jobserver mode.
make[2]: warning: -jN forced in submake: disabling jobserver mode.
make[2]: warning: -jN forced in submake: disabling jobserver mode.
make[2]: warning: -jN forced in submake: disabling jobserver mode.
make[2]: warning: -jN forced in submake: disabling jobserver mode.
make[2]: warning: -jN forced in submake: disabling jobserver mode.
make[2]: warning: -jN forced in submake: disabling jobserver mode.
make[2]: warning: -jN forced in submake: disabling jobserver mode.
make[2]: warning: -jN forced in submake: disabling jobserver mode.
make[2]: warning: -jN forced in submake: disabling jobserver mode.
make[2]: warning: -jN forced in submake: disabling jobserver mode.
make[2]: warning: -jN forced in submake: disabling jobserver mode.
make[2]: warning: -jN forced in submake: disabling jobserver mode.
make[2]: warning: -jN forced in submake: disabling jobserver mode.
make[2]: warning: -jN forced in submake: disabling jobserver mode.
make[2]: warning: -jN forced in submake: disabling jobserver mode.
make[2]: warning: -jN forced in submake: disabling jobserver mode.
make[2]: warning: -jN forced in submake: disabling jobserver mode.
make[2]: warning: -jN forced in submake: disabling jobserver mode.
make[2]: warning: -jN forced in submake: disabling jobserver mode.
make[2]: warning: -jN forced in submake: disabling jobserver mode.
make[2]: warning: -jN forced in submake: disabling jobserver mode.
make[2]: warning: -jN forced in submake: disabling jobserver mode.
make[2]: warning: -jN forced in submake: disabling jobserver mode.
No rule to make 

[bug #15919] Make-3.81 rc1 hangs with -j 2 but not with -j 1

2006-10-26 Thread Icarus Sparry

Follow-up Comment #8, bug #15919 (project make):

Line numbers are relative to remake.c, version 1.130.
The problem appears to be in check_dep. Stepping through the second and later
times it traverses the graph, in the case where "file" has the record for
"intermed".

It increases depth, and marks the structure as updating.
The if on line 941 is false, this is an intermediate file.
So take the else on 953. The if on 958 is false, we have cmds for this file.
The if on line 966 is false, as we have cmds still!

At line 976 mtime is 1, NONEXISTENT_MTIME, so the if on 978 is false, so we
take the else part, lines 983 to 1032. This is a loop over the dependencies,
in this case there are 2, "src" and "phony".

Stepping through for "src"
The if on 993 is false, "src" is not being updated.
line 1013, maybe_make = 0
The call to check_dep (line 1014) returns 0, and leaves maybe_make
unchanged.
The if on 1016 is true, so *must_make_ptr = 0 (unchanged)
The if on 1019 is false (dep_status==0)
The if on lines 102[23] is false, the command status is cs_finished.

Stepping through for "phony"
The if on 993 is false, "phony" is not being updated.
line 1013, maybe_make = 0
The call to check_dep (line 1014 returns 0, but changes maybe_make to 1.
The if on 1016 is false, this is an order only dependency,
so *must_make_ptr is unchanged.
The if on 1019 is false (dep_status == 0)
The if on lines 102[23] is false, the command_status is cs_finished.

It then unmarks the "intermed" file as being updated, and returns.

However this leaves a tree

+ src
target -- intermed -|
+ phony

where src & phony are in state "cs_finished", target and intermed are in
state cs_deps_running, and nothing is going to change this.

The "maybe_make" local variable in the update_file_1("target",1) (to abuse
notation) is left as zero, but its dependency ("intermed") is still in
cs_deps_running state, so it is not updated.


___

Reply to this item at:

  

___
  Message sent via/by Savannah
  http://savannah.gnu.org/



___
Bug-make mailing list
Bug-make@gnu.org
http://lists.gnu.org/mailman/listinfo/bug-make