On Fri, 31 Jul 2009, David Arturo Macias Corona wrote: Hi,
> >If it still generates GPF then you can finally try sth like: > >define create_library > >echo $(LIB_DIR)/$@ > __lib__.tmp > >$(if $(wordlist 1, 10,$(^F)), echo $(wordlist 1, 10,$(addprefix > >-+,$(^F))) >> __lib__.tmp,) > >$(if $(wordlist 11, 20,$(^F)), echo $(wordlist 11, 20,$(addprefix > >-+,$(^F))) >> __lib__.tmp,) > >$(if $(wordlist 21, 30,$(^F)), echo $(wordlist 21, 30,$(addprefix > >-+,$(^F))) >> __lib__.tmp,) > >$(AR) $(ARFLAGS) @__lib__.tmp > >endef > >your results should help in locating the exact reason of problem. > Does not fail in hbrtl.lib Thank you very much. So the last version work. What will happen if we add more lines, i.e.: define create_library echo $(LIB_DIR)/$@ > __lib__.tmp $(if $(wordlist 1, 10,$(^F)), echo $(wordlist 1, 10,$(addprefix -+,$(^F))) >> __lib__.tmp,) $(if $(wordlist 11, 20,$(^F)), echo $(wordlist 11, 20,$(addprefix -+,$(^F))) >> __lib__.tmp,) $(if $(wordlist 21, 30,$(^F)), echo $(wordlist 21, 30,$(addprefix -+,$(^F))) >> __lib__.tmp,) $(if $(wordlist 31, 40,$(^F)), echo $(wordlist 31, 40,$(addprefix -+,$(^F))) >> __lib__.tmp,) $(if $(wordlist 41, 50,$(^F)), echo $(wordlist 41, 50,$(addprefix -+,$(^F))) >> __lib__.tmp,) $(if $(wordlist 51, 60,$(^F)), echo $(wordlist 51, 60,$(addprefix -+,$(^F))) >> __lib__.tmp,) $(if $(wordlist 61, 70,$(^F)), echo $(wordlist 61, 70,$(addprefix -+,$(^F))) >> __lib__.tmp,) $(if $(wordlist 71, 80,$(^F)), echo $(wordlist 71, 80,$(addprefix -+,$(^F))) >> __lib__.tmp,) $(if $(wordlist 81, 90,$(^F)), echo $(wordlist 81, 90,$(addprefix -+,$(^F))) >> __lib__.tmp,) $(if $(wordlist 91,100,$(^F)), echo $(wordlist 91,100,$(addprefix -+,$(^F))) >> __lib__.tmp,) $(if $(wordlist 101,110,$(^F)), echo $(wordlist 101,110,$(addprefix -+,$(^F))) >> __lib__.tmp,) $(if $(wordlist 111,120,$(^F)), echo $(wordlist 111,120,$(addprefix -+,$(^F))) >> __lib__.tmp,) $(if $(wordlist 121,130,$(^F)), echo $(wordlist 121,130,$(addprefix -+,$(^F))) >> __lib__.tmp,) $(if $(wordlist 131,140,$(^F)), echo $(wordlist 131,140,$(addprefix -+,$(^F))) >> __lib__.tmp,) $(if $(wordlist 141,150,$(^F)), echo $(wordlist 141,150,$(addprefix -+,$(^F))) >> __lib__.tmp,) $(if $(wordlist 151,160,$(^F)), echo $(wordlist 151,160,$(addprefix -+,$(^F))) >> __lib__.tmp,) $(if $(wordlist 161,170,$(^F)), echo $(wordlist 161,170,$(addprefix -+,$(^F))) >> __lib__.tmp,) $(if $(wordlist 171,180,$(^F)), echo $(wordlist 171,180,$(addprefix -+,$(^F))) >> __lib__.tmp,) $(if $(wordlist 181,190,$(^F)), echo $(wordlist 181,190,$(addprefix -+,$(^F))) >> __lib__.tmp,) $(if $(wordlist 191,200,$(^F)), echo $(wordlist 191,200,$(addprefix -+,$(^F))) >> __lib__.tmp,) $(if $(wordlist 201,210,$(^F)), echo $(wordlist 201,210,$(addprefix -+,$(^F))) >> __lib__.tmp,) $(if $(wordlist 211,220,$(^F)), echo $(wordlist 211,220,$(addprefix -+,$(^F))) >> __lib__.tmp,) $(if $(wordlist 221,230,$(^F)), echo $(wordlist 221,230,$(addprefix -+,$(^F))) >> __lib__.tmp,) $(if $(wordlist 231,240,$(^F)), echo $(wordlist 231,240,$(addprefix -+,$(^F))) >> __lib__.tmp,) $(if $(wordlist 241,250,$(^F)), echo $(wordlist 241,250,$(addprefix -+,$(^F))) >> __lib__.tmp,) $(if $(wordlist 251,260,$(^F)), echo $(wordlist 251,260,$(addprefix -+,$(^F))) >> __lib__.tmp,) $(if $(wordlist 261,270,$(^F)), echo $(wordlist 261,270,$(addprefix -+,$(^F))) >> __lib__.tmp,) $(if $(wordlist 271,280,$(^F)), echo $(wordlist 271,280,$(addprefix -+,$(^F))) >> __lib__.tmp,) $(if $(wordlist 281,290,$(^F)), echo $(wordlist 281,290,$(addprefix -+,$(^F))) >> __lib__.tmp,) $(if $(wordlist 291,300,$(^F)), echo $(wordlist 291,300,$(addprefix -+,$(^F))) >> __lib__.tmp,) $(AR) $(ARFLAGS) @__lib__.tmp endef ??? > Reviewing messages I posted this info days ago: [...] > As you can see in third case of make.exe sometimes CPU goes to 100% and > freeze, and segmentation fault happen building librtl.a ( in current case, > hbrtl.lib ) > So is an older problem with make.exe in OS/2, either with gcc or watcom as > you said Yes and it's a bug in OS2 GNU make port we are exploiting from time to time. If we find some acceptable solution the we will use it. If not we will have to return to the: for %i in ( *$(OBJ_EXT) ) do @echo ... >> __lib__.tmp trick and add some hack to protect against adding hbpp.obj to library. Though we can also try to disable rules for parallel processing. They will reduce total number of used rules so maybe it's good workaround for the memory overflow. If you add at config/dir.cf[19]: JOB_SRV := NO just before: ifeq ($(JOB_SRV),NO) then you disable parallel processing rules. > Actually I am not using third case of make.exe, just second case > Same error with make.exe (3.81) of Viktor Szakats (second case with static > build) BTW what happens when you tries to use older make (3.7x) with current SVN code? best regards, Przemek _______________________________________________ Harbour mailing list Harbour@harbour-project.org http://lists.harbour-project.org/mailman/listinfo/harbour