Tek-Tips is the largest IT community on the Internet today!

Members share and learn making Tek-Tips Forums the best source of peer-reviewed technical information on the Internet!

  • Congratulations SkipVought on being selected by the Tek-Tips community for having the most helpful posts in the forums last week. Way to Go!

compiler cc (forte) on solaris 8 1

Status
Not open for further replies.

antonioelderprado

IS-IT--Management
May 19, 2003
75
0
0
Hi, I have a cc - forte compiler that takes very long time to compile. A simple hello.c takes 2 min; when a c program is much bigger it can take more than 1 hour. From the etruss output:
root@sundev02:/var/scratch# ./etruss -c cc ./hello.c
ucbcc: Warning: Option -YP,:/usr/ucblib:/export/home/opt/SUNWspro/WS6U2/bin/../lib:/export/home/opt/SUNWspro/WS6U2/bin:/usr/ccs/lib:/usr/lib passed to ld, if ld is invoked, ignored otherwise
ld: warning: option -YP appears more than once, first setting taken

syscall cpu sec elapsed latency wait calls errors
_exit .000 .000 .000048 0% 1
fork .000 .040 .013557 0% 3
read .000 .000 .000024 0% 32
open .000 .000 .000037 0% 8 4
close .000 .000 .000021 0% 10 1
brk .000 .000 .000015 0% 12
stat .000 .000 .000033 0% 1
getpid .000 .000 .000014 0% 1
getuid .000 .000 .000013 0% 3
fstat .000 .000 .000020 0% 4
access .000 .000 .000028 0% 1
pgrpsys .000 .000 .000013 0% 2
pipe .000 .000 .000036 0% 2
getgid .000 .000 .000014 0% 2
ioctl .000 .000 .000028 0% 8 5
execve .000 .000 .000000 0% 1
fcntl .000 .000 .000015 0% 2
sigaltstack .000 .000 .000015 0% 1
sigaction .000 .000 .000014 0% 53
waitid .000 120.142 30.035534 99% 4
mmap .000 .000 .000028 0% 10
munmap .000 .000 .000030 0% 3
memcntl .000 .000 .000079 0% 2
sysconfig .000 .000 .000013 0% 2
llseek .000 .000 .000016 0% 1
resolvepath .000 .000 .000032 0% 1
stat64 .000 .000 .000052 0% 2
open64 .000 .000 .000031 0% 1
----- ----- --- ---
sys totals: .003 120.186 173 10
usr time: .004
elapsed: 120.250

---------- per I/O ---------- ---------- total -------------
syscall[file] latency iowait size wait Kb/s calls errors
read[cc]: .000027 .000000 19 0% 0 4
read[S_IFREG]: .000027 .000000 124 0% 0 28
root@sundev02:/var/scratch#
root@sundev02:/var/scratch#


any suggestion will be appreciate, thank you


./antonio/.

./antonio elder prado/.
.\mountain view, ca\.
./bauru, sao paulo/.
 
more info from etruss -a:

this is the part where it gets stuck.

fork() = 6061
close(4) = 0
read(3, " / e x p o r t / h o m e".., 128) = 36
read(3, 0xFFBEEE60, 128) = 0
ioctl(3, TCGETA, 0xFFBEECE4) Err#22 EINVAL
ioctl(3, TCGETA, 0xFFBEED44) Err#22 EINVAL
close(3) = 0
waitid(P_PID, 6061, 0xFFBEED40, WEXITED|WTRAPPED) = 0
brk(0x0003BDE0) = 0
ucbcc: Warning: Option -YP,:/usr/ucblib:/export/home/opt/SUNWspro/WS6U2/bin/../lib:/export/home/opt/SUNWspro/WS6U2/bin:/usr/ccs/lib:/usr/lib passed to ld, if ld is invoked, ignored otherwise
fork() = 6062
waitid(P_PID, 6062, 0xFFBEEE10, WEXITED|WTRAPPED|WNOWAIT) (sleeping...)

--- after this hangs for approx. 2 min, until gives back the prompt.
the final output is:

waitid(P_PID, 6062, 0xFFBEEE10, WEXITED|WTRAPPED|WNOWAIT) (sleeping...)
Received signal #20, SIGWINCH, in waitid() [default]
waitid(P_PID, 6062, 0xFFBEEE10, WEXITED|WTRAPPED|WNOWAIT) (sleeping...)
ld: warning: option -YP appears more than once, first setting taken
waitid(P_PID, 6062, 0xFFBEEE10, WEXITED|WTRAPPED|WNOWAIT) = 0
ioctl(0, TIOCGPGRP, 0xFFBEEDCC) = 0
ioctl(0, TCGETS, 0x000391B8) = 0
waitid(P_PID, 6062, 0xFFBEEE10, WEXITED|WTRAPPED) = 0
llseek(0, 0, SEEK_CUR) = 17415
_exit(0)
root@sundev02:/var/scratch#




./antonio elder prado/.
.\mountain view, ca\.
./bauru, sao paulo/.
 
Problem fixed:
the solution came on utilizing lsof for every child generated. because it was taking 2 min for every child created, i was able to get the pid of the child, and plug the lsof -p <pid> and take a look on what was calling on the pid.
reason for the delay: the reason for the delay was that forte (compiler) has its license embeded with hostname, the machine used to have an old name 2 years ago, so every time the compiler needs to check license, went on looking first for the old-hostname, after a timeout occured, then it went on looking for the new hostname.
solution: i just aliased the hostname with the old name into the /etc/hosts and worked fine.
thank you to all that read this thread.

./antonio elder prado/.
.\mountain view, ca\.
./bauru, sao paulo/.
 
Check the file /etc/opt/licenses/license_combined for the old host name after the SERVER entry... You may be able to change the hostname... Not sure if flexlm will complain or not.
 
Status
Not open for further replies.

Part and Inventory Search

Sponsor

Back
Top