On Wed, 16 Dec 2009, Viktor Szakáts wrote:

 > I wonder why this didn't came up earlier, for one thing 
 > hbmk script is unrelated to default build process, and in 
 > default build process -n1 option is added by config/rules.mk. 
 > This is right for libs, but not right for bins.
 > 
 > (default build process also uses hbmk2, but it's 
 > using -n1/-n2 correctly)
 > 
 > So question is: Why is a problem now, and why wasn't 
 > it so far?

i honestly have no freaking idea. i had one good build for at just 
about when przemek started adding initsegstartup, then everything went 
completely haywire for several hours (nothing that i could attribute 
to any change he made), and then suddenly it started working again.

i *am* cleaning aggressively, to the extent of:

cd `dirname $0`/harbour && rm -rf `find . -type d -name obj` lib/unixware/ 
bin/unixware/

and i have no idea why it turned upside down, nor do i know what made 
it behave well again. i did not however do blind check builds on other 
platforms.

it probably must have been a heisenbug or a hiccup in my setup (in 
fact there still is one quite strange phenomenon, but i'm still trying 
to hunt that down, before inevitably failing and crying for help:)...

 > (correction is easy after that point)

in fact the build procedure still runs -n1, and now all is fine.

 > 
 > Brgds,
 > Viktor
 > 
 > On 2009 Dec 16, at 01:37, Tamas TEVESZ wrote:
 > 
 > > On Tue, 15 Dec 2009, [email protected] wrote:
 > > 
 > > hi,
 > > 
 > >> Revision: 13255
 > >>          
 > >> http://harbour-project.svn.sourceforge.net/harbour-project/?rev=13255&view=rev
 > >> Author:   druzus
 > >> Date:     2009-12-15 23:24:29 +0000 (Tue, 15 Dec 2009)
 > >> 
 > >> Log Message:
 > >> -----------
 > >> 2009-12-16 00:24 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
 > >>  * harbour/bin/hb-func.sh
 > >>    * use -n2 as default harbour compiler parameter in hb* scripts
 > > 
 > > that didn't really help, and it's getting even more strange.
 > > 
 > > the build log clearly shows harbour still being called with -n1, i 
 > > checked the older ones, it was so all along the way as well.
 > > 
 > > the completely strange part is that if, using the very same options, 
 > > copy-pasted from the build log, i build a "private copy" of hbrun, 
 > > then it works.
 > > 
 > > so, the result of a "make" in the source tree gets me a 
 > > bin/$plat/$comp/hbrun which gives BASE/1003
 > > 
 > > the following gives a working hbrun:
 > > 
 > > unixware714:~/hb/harbour$ env | fgrep HB
 > > unixware714:~/hb/harbour$ gmake > ../log 2>&1                              
 > >                                                     
 > > unixware714:~/hb/harbour$ ./bin/unixware/gcc/hbrun
 > > Error BASE/1003  Variable does not exist: S_AINCDIR
 > > Called from _APPMAIN(90)                                                   
 > >                                                     
 > > unixware714:~/hb/harbour$ ./bin/unixware/gcc/harbour utils/hbrun/hbrun.prg 
 > > -iinclude -n1 -q0 -w2 -es2 -kmo -i- -l              
 > > unixware714:~/hb/harbour$ gcc -DHB_OS_UNIXWARE -I. -Iinclude -D_SCO_DS 
 > > -Wall -W -O3   -o hbrun.o -c hbrun.c
 > > unixware714:~/hb/harbour$ gcc  -pthread -I. -Llib/unixware/gcc 
 > > -Iinclude -L/usr/X11R6/lib -ohbrun hbrun.o -lhbcplr -lhbpp
 > > -lhbcommon -lhbextern -lhbdebug -lhbvm -lhbrtl -lhblang -lhbcpage 
 > > -lgtcgi -lgtpca -lgtstd -lgtcrs -lgtxwc -lgttrm -lhbrdd
 > > -lrddntx -lrddnsx -lrddcdx -lrddfpt -lhbsix -lhbhsx -lhbusrrdd 
 > > -lhbuddall -lhbrtl -lhbvm -lhbmacro -lhbcplr -lhbpp -lhbcommon
 > > -lhbpcre -lcurses -lX11 -lz -lsocket -lnsl -lresolv -lm
 > > unixware714:~/hb/harbour$ ./hbrun --> runs fine
 > > 
 > > what gets me thinking is that the size difference between the two 
 > > files is relatively big:
 > > 
 > > -rwxr-xr-x    1 ice      other       3541060 Dec 16 00:54 ./hbrun          
 > >                                                     
 > > -rwxr-xr-x    1 ice      other       3541592 Dec 16 00:52 
 > > bin/unixware/gcc/hbrun                                               
 > > 
 > > which they proportionally keep after being stripped:
 > > 
 > > -rwxr-xr-x    1 ice      other       3252400 Dec 16 01:05 ./hbrun
 > > -rwxr-xr-x    1 ice      other       3252848 Dec 16 01:05 
 > > bin/unixware/gcc/hbrun
 > > 
 > > and even after a treat of `mcs -d': (this strips the .comment 
 > > sections, which the native binutils populate with the exact versions 
 > > of files, tools and stuff that were involved producing said elf 
 > > object):
 > > 
 > > -rwxr-xr-x    1 ice      other       3031452 Dec 16 01:05 ./hbrun
 > > -rwxr-xr-x    1 ice      other       3031900 Dec 16 01:05 
 > > bin/unixware/gcc/hbrun
 > > 
 > > there is no real (to me..) difference between the generated c sources:
 > > 
 > > unixware714:~/hb/harbour$ /usr/local/bin/diff -u ./hbrun.c 
 > > ./utils/hbrun/obj/unixware/gcc/hbrun.c
 > > --- ./hbrun.c   2009-12-16 00:53:29.240000007 +0100
 > > +++ ./utils/hbrun/obj/unixware/gcc/hbrun.c      2009-12-16 
 > > 00:52:07.190000002 +0100
 > > @@ -1,7 +1,7 @@
 > > /*
 > >  * Harbour 2.0.0beta3 (Rev. 13256)
 > >  * GNU C 2.95 (32-bit)
 > > - * Generated C source from "utils/hbrun/hbrun.prg"
 > > + * Generated C source from "../../../hbrun.prg"
 > >  */
 > > 
 > > #include "hbvmpub.h"
 > > @@ -156,7 +156,7 @@
 > > { "HB_GT_PCA", {HB_FS_PUBLIC}, {HB_FUNCNAME( HB_GT_PCA )}, NULL },
 > > { "HB_GT_STD", {HB_FS_PUBLIC}, {HB_FUNCNAME( HB_GT_STD )}, NULL },
 > > { "(_INITSTATICS00003)", {HB_FS_INITEXIT | HB_FS_LOCAL}, {hb_INITSTATICS}, 
 > > NULL }
 > > -HB_INIT_SYMBOLS_EX_END( hb_vm_SymbolInit_HBRUN, "utils/hbrun/hbrun.prg", 
 > > 0x0, 0x0002 )
 > > +HB_INIT_SYMBOLS_EX_END( hb_vm_SymbolInit_HBRUN, "../../../hbrun.prg", 
 > > 0x0, 0x0002 )
 > > 
 > > #if defined( HB_PRAGMA_STARTUP )
 > >    #pragma startup hb_vm_SymbolInit_HBRUN
 > > 
 > > 
 > > yet, there is some strange (related?) difference between the c strings 
 > > in the binaries (hbrun.ok and hbrun.bad are the outputs of `strings' on
 > > the working and the non-working binaries, respectively):
 > > 
 > > unixware714:~/hb/harbour$ /usr/local/bin/diff -u1 hbrun.ok hbrun.bad 
 > > --- hbrun.ok    2009-12-16 01:13:37.700000100 +0100
 > > +++ hbrun.bad   2009-12-16 01:13:44.940000011 +0100
 > > @@ -8,2 +8,3 @@
 > > __MVSETBASE
 > > +S_NCOL
 > > HB_HRBDO
 > > @@ -35,2 +36,3 @@
 > > OUTSTD
 > > +S_NROW
 > > ALLTRIM
 > > @@ -66,2 +68,3 @@
 > > PCOUNT
 > > +S_AINCDIR
 > > AADD
 > > @@ -70,3 +73,4 @@
 > > _APPMAIN
 > > -utils/hbrun/hbrun.prg
 > > +HBRUN
 > > +hbrun.prg
 > > HB_INC_INSTALL
 > > @@ -83,2 +87,3 @@
 > > dddddd
 > > +z1S(
 > > j'Harbour "DOt Prompt" Console / runner 
 > > 
 > > ... ok, so these suspiciously look like the static variables in 
 > > hbrun.prg (and are good account for the size difference)...
 > > 
 > > and i am lost again. if i am doing this, i have no idea how...
 > > 
 > > -- 
 > > [-]
 > > 
 > > mkdir /nonexistent
 > > _______________________________________________
 > > Harbour mailing list (attachment size limit: 40KB)
 > > [email protected]
 > > http://lists.harbour-project.org/mailman/listinfo/harbour
 > 
 > _______________________________________________
 > Harbour mailing list (attachment size limit: 40KB)
 > [email protected]
 > http://lists.harbour-project.org/mailman/listinfo/harbour
 > 

-- 
[-]

mkdir /nonexistent
_______________________________________________
Harbour mailing list (attachment size limit: 40KB)
[email protected]
http://lists.harbour-project.org/mailman/listinfo/harbour

Reply via email to