[Search for users] [Overall Top Noters] [List of all Conferences] [Download this site]

Conference smurf::buildhelp

Title:USG buildhelp questions/answers
Moderator:SMURF::FILTER
Created:Mon Apr 26 1993
Last Modified:Mon Jan 20 1997
Last Successful Update:Fri Jun 06 1997
Number of topics:2763
Total number of notes:5802

2639.0. "building libc.a and libc.so question in v40supportos" by AOSG::FILTER (Automatic Posting Software - mail to flume::puck) Tue Oct 29 1996 20:48

Date Of Receipt: 	29-OCT-1996 19:53:42.65
From: 	KAMLIA::kucherov "sergei kucherov  29-Oct-1996 1950"
To: 	buildhelp@DEC:.zko.kamlia
CC: 	kucherov@DEC:.zko.kamlia
Subj: 	building libc.a and libc.so question in v40supportos
I changed one file in usr/ccs/lib/libc: 	pty.c .

Then I wanted to create a new libc.a and libc.so.
I'm in a sandbox backed by v40supportos.nightly.

I did a "mklinks ." for all of obj and export in my sandbox
to minimize any recompilations.
But it didn't help.
When I do "build" from usr/ccs/lib/libc,
it recompiles everything even though symlinks exist for all objects.
Is it normally broken this way or is there some build magic
I can do to limit the compilations to just my changed pty.c ?

I was going to also ask about building efficiently in usr/shlib/libc,
but the Makefile works great there and just recompiles pty.c
and then calls ar to create libc.so.

Should I QAR the Makefile in usr/ccs/lib/libc or do you
have a better solution for me to avoid recompiling everything
when I change just one module?

	Thanks,
	sergei

T.RTitleUserPersonal
Name
DateLines
2639.1Re: building libc.a and libc.so question in v40supportosAOSG::FILTERAutomatic Posting Software - mail to flume::puckTue Oct 29 1996 20:4922
Date Of Receipt: 	29-OCT-1996 20:15:04.34
From: 	KAMLIA::kucherov "sergei kucherov  29-Oct-1996 2011"
To: 	kucherov@DEC:.zko.kamlia
CC: 	buildhelp@DEC:.zko.kamlia, useg_reng@DEC:.zko.kamlia
Subj: 	Re: building libc.a and libc.so question in v40supportos

I've looked into this a trifle more.
It seems there are *no* object files
in the v40supportos.nightly directory obj/alpha/usr/ccs/lib/libc,
though there are *.o.d files.

So, chances are good that the Makefile is fine, but that the
v40supportos.nightly build somehow didn't work right,
or else some other build magic happens normally that I don't know yet
which explains it (but then the Makefile is broken).

	sergei


P.S. I am copying useg_reng since they are responsible for build failure
investigations.

2639.2Re: building libc.a and libc.so question in v40supportosAOSG::FILTERAutomatic Posting Software - mail to flume::puckTue Oct 29 1996 20:4999
Date Of Receipt: 	29-OCT-1996 20:31:39.52
From: 	KAMLIA::kucherov "sergei kucherov  29-Oct-1996 2028"
To: 	kucherov@DEC:.zko.kamlia
CC: 	buildhelp@DEC:.zko.kamlia
Subj: 	Re: building libc.a and libc.so question in v40supportos

I tried working around the problem by copying all *.o.d to *.o
in obj/alpha/usr/ccs/lib/libc.
When libc.a was being created it issued zillions of errors,
so I gave up on this scheme.

My next workaround was to "ar xv" the pool's libc.a into
my sandbox object directory. Then the obviously-correct objects
are there for libc.a to be created in my sandbox.
But this issued the same zillions of errors which I list below,
and I give up on this scheme.

Please tell me how to build libc.a without recompiling anything
more than my one file pty.o, and without getting zillions of warnings
that look very bad.

	Thanks,
	sergei


ode x40 music> build
relative path: ./usr/ccs/lib/libc.
string passed to 
/usr/sde/osf1/build/v40supportos.nightly/tools/alpha_OSF1/alpha/hostbin/make:
   make -cF build_all 
cd ../../../../../obj/alpha/usr/ccs/lib/libc
/usr/sde/osf1/build/v40supportos.nightly/tools/alpha_OSF1/alpha/acc/cc   -std0 
-EL  -Wf,-wchar32 -DBSD44 -DMSG -DNLS -D__WCHAR_T_LEN=4 -DMACH -DCMU -DOSF -DOSF 
 -Dalpha -D__alpha__ -D__alpha  -Dunix -D__unix__      -O2 -Olimit 5000    -pg 
-Wc,-use_caller_eflag -DCOMPAT_43 -DLIBC_SCCS -DRT  -D_NAME_SPACE_WEAK_STRONG    
-Wf,-readonly_strings -D_THREAD_SAFE -D_REENTRANT    -I  `genpath -I.` `genpath  
-Ialpha -ISIA `  -I/usr/sb/x40/export/alpha/usr/include 
-I/usr/sde/osf1/build/v40supportos.nightly/export/alpha/usr/include  -c 
../../../../../../src/usr/ccs/lib/libc/pty.c
/usr/sde/osf1/build/v40supportos.nightly/tools/alpha_OSF1/alpha/acc/ar crZ 
libc.a NCchrlen.o NCcollate.o NCcoluniq.o NCdec.o NCdechr.o NCdecode.o 
NCdecstr.o NCenc.o NCencode.o NCencstr.o NCflatchr.o NCisNLchar.o NLchrlen.o 
NLctime.o NLfla ...
...
ksh -p `genloc /src/usr/ccs/lib/libc/pollution_check` libc.a
Warning: invalid object file in archive: NCchrlen.o
Warning: invalid object file in archive: NCcollate.o
Warning: invalid object file in archive: NCcoluniq.o
Warning: invalid object file in archive: NCdec.o
Warning: invalid object file in archive: NCdechr.o
Warning: invalid object file in archive: NCdecode.o
Warning: invalid object file in archive: NCdecstr.o
Warning: invalid object file in archive: NCenc.o
Warning: invalid object file in archive: NCencode.o
Warning: invalid object file in archive: NCencstr.o
Warning: invalid object file in archive: NCflatchr.o
Warning: invalid object file in archive: NCisNLchar.o
Warning: invalid object file in archive: NLchrlen.o
Warning: invalid object file in archive: NLctime.o
Warning: invalid object file in archive: NLflatstr.o
Warning: invalid object file in archive: NLflattab.o
Warning: invalid object file in archive: NLgetamsg.o
Warning: invalid object file in archive: NLisNLcp.o
Warning: invalid object file in archive: NLxcol.o
Warning: invalid object file in archive: __lc_dlclose.o
Warning: invalid object file in archive: __lc_dlopen.o
Warning: invalid object file in archive: __lc_dlsym.o
Warning: invalid object file in archive: _tolower.o
Warning: invalid object file in archive: _toupper.o
Warning: invalid object file in archive: a64l.o
Warning: invalid object file in archive: abort.o
Warning: invalid object file in archive: alarm.o
Warning: invalid object file in archive: atfork.o
Warning: invalid object file in archive: atof.o
Warning: invalid object file in archive: atoi.o
Warning: invalid object file in archive: atol.o
Warning: invalid object file in archive: auditwrite.o
Warning: invalid object file in archive: basename.o
Warning: invalid object file in archive: bresvport.o
Warning: invalid object file in archive: bsearch.o
Warning: invalid object file in archive: calloc.o
Warning: invalid object file in archive: catgetmsg.o
Warning: invalid object file in archive: catgets.o
Warning: invalid object file in archive: catopen.o
Warning: invalid object file in archive: cfspeed.o
Warning: invalid object file in archive: cfork.o
Warning: invalid object file in archive: clock.o
Warning: invalid object file in archive: closedir.o
Warning: invalid object file in archive: clrerr.o
Warning: invalid object file in archive: confstr.o
Warning: invalid object file in archive: creadir.o
Warning: invalid object file in archive: crypt.o
Wa ...
... zillions more nasty looking "Warnings" like these.

-- tell me I should ship libc.a to a customer after
these messages :-0


2639.3Re: building libc.a and libc.so question in v40supportosAOSG::FILTERAutomatic Posting Software - mail to flume::puckWed Oct 30 1996 09:53124
Date Of Receipt: 	30-OCT-1996 09:35:21.33
From: 	FLUME::"[email protected]" "30-Oct-1996 0931"
To: 	[email protected]
CC: 	[email protected]
Subj: 	Re: building libc.a and libc.so question in v40supportos

.o.d files are TEXT files listing the dependencies of each .o file and are 
generated by the compiler. Renaming them as .o files would understandably 
generate errors.

Yes, Virginia it's true - libc.a does nuke and rebuild itself upon rebuild 
attempts. Not sure if this is by design or by accident.  It doesn't really 
take all that long to build (10-12 minutes). You probably could have built it 
several times over in the time it took you to play with the links.



		-Grant

| 
| I tried working around the problem by copying all *.o.d to *.o
| in obj/alpha/usr/ccs/lib/libc.
| When libc.a was being created it issued zillions of errors,
| so I gave up on this scheme.
| 
| My next workaround was to "ar xv" the pool's libc.a into
| my sandbox object directory. Then the obviously-correct objects
| are there for libc.a to be created in my sandbox.
| But this issued the same zillions of errors which I list below,
| and I give up on this scheme.
| 
| Please tell me how to build libc.a without recompiling anything
| more than my one file pty.o, and without getting zillions of warnings
| that look very bad.
| 
| 	Thanks,
| 	sergei
| 
| 
| ode x40 music> build
| relative path: ./usr/ccs/lib/libc.
| string passed to 
| /usr/sde/osf1/build/v40supportos.nightly/tools/alpha_OSF1/alpha/hostbin/make:
|    make -cF build_all 
| cd ../../../../../obj/alpha/usr/ccs/lib/libc
| /usr/sde/osf1/build/v40supportos.nightly/tools/alpha_OSF1/alpha/acc/cc   -std
0 
| -EL  -Wf,-wchar32 -DBSD44 -DMSG -DNLS -D__WCHAR_T_LEN=4 -DMACH -DCMU -DOSF -D
OSF 
|  -Dalpha -D__alpha__ -D__alpha  -Dunix -D__unix__      -O2 -Olimit 5000    -p
g 
| -Wc,-use_caller_eflag -DCOMPAT_43 -DLIBC_SCCS -DRT  -D_NAME_SPACE_WEAK_STRONG
    
| -Wf,-readonly_strings -D_THREAD_SAFE -D_REENTRANT    -I  `genpath -I.` `genpa
th  
| -Ialpha -ISIA `  -I/usr/sb/x40/export/alpha/usr/include 
| -I/usr/sde/osf1/build/v40supportos.nightly/export/alpha/usr/include  -c 
| ../../../../../../src/usr/ccs/lib/libc/pty.c
| /usr/sde/osf1/build/v40supportos.nightly/tools/alpha_OSF1/alpha/acc/ar crZ 
| libc.a NCchrlen.o NCcollate.o NCcoluniq.o NCdec.o NCdechr.o NCdecode.o 
| NCdecstr.o NCenc.o NCencode.o NCencstr.o NCflatchr.o NCisNLchar.o NLchrlen.o 
| NLctime.o NLfla ...
| ...
| ksh -p `genloc /src/usr/ccs/lib/libc/pollution_check` libc.a
| Warning: invalid object file in archive: NCchrlen.o
| Warning: invalid object file in archive: NCcollate.o
| Warning: invalid object file in archive: NCcoluniq.o
| Warning: invalid object file in archive: NCdec.o
| Warning: invalid object file in archive: NCdechr.o
| Warning: invalid object file in archive: NCdecode.o
| Warning: invalid object file in archive: NCdecstr.o
| Warning: invalid object file in archive: NCenc.o
| Warning: invalid object file in archive: NCencode.o
| Warning: invalid object file in archive: NCencstr.o
| Warning: invalid object file in archive: NCflatchr.o
| Warning: invalid object file in archive: NCisNLchar.o
| Warning: invalid object file in archive: NLchrlen.o
| Warning: invalid object file in archive: NLctime.o
| Warning: invalid object file in archive: NLflatstr.o
| Warning: invalid object file in archive: NLflattab.o
| Warning: invalid object file in archive: NLgetamsg.o
| Warning: invalid object file in archive: NLisNLcp.o
| Warning: invalid object file in archive: NLxcol.o
| Warning: invalid object file in archive: __lc_dlclose.o
| Warning: invalid object file in archive: __lc_dlopen.o
| Warning: invalid object file in archive: __lc_dlsym.o
| Warning: invalid object file in archive: _tolower.o
| Warning: invalid object file in archive: _toupper.o
| Warning: invalid object file in archive: a64l.o
| Warning: invalid object file in archive: abort.o
| Warning: invalid object file in archive: alarm.o
| Warning: invalid object file in archive: atfork.o
| Warning: invalid object file in archive: atof.o
| Warning: invalid object file in archive: atoi.o
| Warning: invalid object file in archive: atol.o
| Warning: invalid object file in archive: auditwrite.o
| Warning: invalid object file in archive: basename.o
| Warning: invalid object file in archive: bresvport.o
| Warning: invalid object file in archive: bsearch.o
| Warning: invalid object file in archive: calloc.o
| Warning: invalid object file in archive: catgetmsg.o
| Warning: invalid object file in archive: catgets.o
| Warning: invalid object file in archive: catopen.o
| Warning: invalid object file in archive: cfspeed.o
| Warning: invalid object file in archive: cfork.o
| Warning: invalid object file in archive: clock.o
| Warning: invalid object file in archive: closedir.o
| Warning: invalid object file in archive: clrerr.o
| Warning: invalid object file in archive: confstr.o
| Warning: invalid object file in archive: creadir.o
| Warning: invalid object file in archive: crypt.o
| Wa ...
| ... zillions more nasty looking "Warnings" like these.
| 
| -- tell me I should ship libc.a to a customer after
| these messages :-0
| 

-- 

				-Grant