> I'm between a rock and a hard place. I know - I'm in a similar position. Having code which reliably generates rules (with $eval) is a powerful feature and, once you've tasted it, it's hard to give it up. However, I've been using the 3.81 beta builds very successfully on a number of platforms for many months. Debian's "testing" distribution has had 3.81 beta builds for a couple of months now. It's good to go, or very nearly so.
> 3.8.1 isn't released yet. Not for long. Paul's making a serious effort to get 3.81 released - the hope is it will be this very week. make-3.81rc2 is now available from ftp://alpha.gnu.org/gnu/make (in case you're still using a beta build). The previous (3.80) release of make was about three and a half years ago. Hopefully 3.82 won't take as long but, if 3.81rc2 exhibits any problems in your production environment, now would be a really, really good time to report them. ------------------------------------- Martin's Outlook, BlueArc Engineering -----Original Message----- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of PATTON, BILLY (SBCSI) Sent: Friday, March 17, 2006 4:53 To: bug-make@gnu.org Subject: bug in 3.8.0 define build_proj_template $(1): $(foreach bb,$(BB_$(patsubst build+%,%,$(1))),$(addsuffix +$(bb),$(addprefix build+,$(patsubst build+%,%,$(1))))) @echo "build_proj_template $(1)" endef $(foreach proj,$(PROJECTS),$(eval $(call build_proj_template,$(addprefix build+,$(proj))))) If I change the eval to warning 3.79 ok 3.79.1 ok 3.8.0 ok 3.8.1 ok change warning back to eval 3.79 nothing 3.79.1 nothing 3.8.0 segmentation fault core dump 3.8.1 ok Since 3.8.1 is beta. It cannot put it to a production environment. I'm between a rock and a hard place. 3.79 is installed but doesn't work. The impact is taking a hard look at upgrading some of the servers to 3.8.0. but it failes. 3.8.1 isn't released yet. Segmentation fault (core dumped) (gdb) bt #0 0xc0199cbc in _sigfillset+0x26fc () from /usr/lib/libc.2 #1 0xc0197e18 in _sigfillset+0x858 () from /usr/lib/libc.2 #2 0xc0198cfc in _sigfillset+0x173c () from /usr/lib/libc.2 #3 0xc0195bec in _sscanf+0x8fc () from /usr/lib/libc.2 #4 0xc019b510 in realloc+0x1a0 () from /usr/lib/libc.2 #5 0x1f738 in xrealloc ( ptr=0x40018f78 "build+ldb : build+ldb+inftp build+ldb+opi build+ldb+schapi build+ldb+tuxapi build+ldb+ldngn build+ldb+in fgn build+ldb+ldgn build+ldb+ld" <Address 0x40019000 out of bounds>, size=4294965501) at misc.c:384 #6 0xb5ec in variable_buffer_output (ptr=0x40018810 "@[EMAIL PROTECTED]", string=0x40018498 "", length=1) at expand.c:67 #7 0xba08 in variable_expand_string (line=0x40018810 "@[EMAIL PROTECTED]", string=0x40018459 "$(eval $(call build_proj_template,$(addprefix build+,$(proj))))", length=-1) at expand.c:207 #8 0xc0e4 in variable_expand (line=0x40018459 "$(eval $(call build_proj_template,$(addprefix build+,$(proj))))") at expand.c:415 #9 0xc224 in variable_expand_for_file ( line=0x40018459 "$(eval $(call build_proj_template,$(addprefix build+,$(proj))))", file=0x0) at expand.c:457 #10 0xc510 in allocated_variable_expand_for_file ( line=0x40018459 "$(eval $(call build_proj_template,$(addprefix build+,$(proj))))", file=0x0) at expand.c:555 #11 0x11478 in func_foreach (o=0x40017bf8 "build_proj_template", argv=0x68ff1870, funcname=0x36a98 "foreach") at function.c:874 #12 0x12c80 in expand_builtin_function (o=0x40017bf8 "build_proj_template", argc=3, argv=0x68ff1870, entry_p=0x40003604) at function.c:1864 #13 0x12fd8 in handle_function (op=0x68ff17a4, stringp=0x68ff17a8) at function.c:1964 #14 0xbac8 in variable_expand_string (line=0x40017bf8 "build_proj_template", string=0x40017390 "$(foreach proj,$(PROJECTS),$(eval $(call build_proj_template,$(addprefix build+,$(proj)))))", length= 91) at expand.c:235 #15 0x21c38 in eval (ebuf=0x68ff1574, set_default=1) at read.c:913 #16 0x20828 in eval_makefile (filename=0x40015148 "XXX", flags=0) at read.c:379 #17 0x201a8 in read_all_makefiles (makefiles=0x4000fe70) at read.c:205 #18 0x1b390 in main (argc=3, argv=0x68ff0694, envp=0x68ff06a4) at main.c:1444 (gdb) _______________________________________________ Bug-make mailing list Bug-make@gnu.org http://lists.gnu.org/mailman/listinfo/bug-make