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

Reply via email to