On Fri, 31 Jul 2009, David Arturo Macias Corona wrote: Hi,
> >This looks like side effect caused by results of some previous builds. > >It's possible that if you clean all files left by previous builds then > >above warnings disappear. If it will not help then I would like to see > >whole log file created for 'pp' directory. > Is a fresh checkout, same warnings > Below are partial content of make_ow.log from source dir to hbpp.lib > > make[3]: Entering directory > `E:/harbour907e/harbour/source/pp/obj/os2/watcom' > wpp386 -zq -bt=OS2 -w3 -5r -fp5 -onaehtr -s -ei -zp4 -zt0 -oi+ -i. > -i../../../../../include -DHB_FM_STATISTICS_OFF ../../../hbpp.c > -fo=hbpp.obj ^^^^^^^^^^^^ > wlink sys OS2V2 NAME ../../../../../bin/os2/watcom/hbpp.exe FILE hbpp.obj > LIB ../../../../../lib/os2/watcom/hbcommon, > ../../../../../lib/os2/watcom/hbnortl > Open Watcom Linker Version 1.8 > Portions Copyright (c) 1985-2002 Sybase, Inc. All Rights Reserved. > Source code is available under the Sybase Open Watcom Public License. > See http://www.openwatcom.org/ for details. > loading object files > searching libraries > creating an OS/2 32-bit executable > ../../../../../bin/os2/watcom/hbpp.exe ../../../../../include/hbstdgen.ch > -opptable.c -q -c../../../../../ -v../../../../../include/hbverbld.h > Harbour Preprocessor 2.0.0beta2 > Copyright (c) 1999-2009, http://www.harbour-project.org/ > wpp386 -zq -bt=OS2 -w3 -5r -fp5 -onaehtr -s -ei -zp4 -zt0 -oi+ -i. > -i../../../../../include -DHB_FM_STATISTICS_OFF pptable.c > -fo=pptable.obj > wpp386 -zq -bt=OS2 -w3 -5r -fp5 -onaehtr -s -ei -zp4 -zt0 -oi+ -i. > -i../../../../../include -DHB_FM_STATISTICS_OFF ../../../ppcore.c > -fo=ppcore.obj [...] > for %i in ( *.obj ) do @echo -+%i >> __lib__.tmp ^^^^^^^^^ > wlib -p=64 -c -n @__lib__.tmp > Open Watcom Library Manager Version 1.8 > Portions Copyright (c) 1984-2002 Sybase, Inc. All Rights Reserved. > Source code is available under the Sybase Open Watcom Public License. > See http://www.openwatcom.org/ for details. > Warning! Duplicate symbol 'hb_pp_initRules_' ignored. > Warning! Duplicate symbol 'hb_pp_tokenGet_' ignored. > Warning! Duplicate symbol 'hb_pp_new_' ignored. [...] > rm hbpp.obj > make[3]: Leaving directory `E:/harbour907e/harbour/source/pp/obj/os2/watcom' As I wrote in one of previous messages this it's quite dangerous to use code like: for %i in ( *$(OBJ_EXT) ) do @echo -+ %i >> __lib__.tmp to create library and above situation exploited the problem. Temporary file hbpp.obj created indirectly for hbpp.exe is added to hbpp library. The same happens in GCC OS2 build though 'ar' does not report above warnings. I've just checked old messages between me and Maurilio and found why it was added to os2/gcc.cf. I can hardcode protection against it but instead of adding workaround I would like to find cleaner way to create library without above for %i in ( *$(OBJ_EXT) ) do ... in os2/gcc.cf and watcom.cf The problem is caused by the GNU make 3.81 OS2 port. It GPFs with original line: $(foreach file, $(^F), $(lib_object)) when the list of files is very long. Probably due insufficient memory allocated for some operations and buffer overflow. There is question if we can find workarond for it. In a while I'll commit modifications to os2/watcom.cf which divided list of library files into few smaller lists which should not exceed 1024 characters command line size limit in OS2. Please test it. best regards, Przemek _______________________________________________ Harbour mailing list Harbour@harbour-project.org http://lists.harbour-project.org/mailman/listinfo/harbour