06-19-2008
compiler can't find pstatus_t even procfs.h inlcuded
Hi,
I am trying to get a the process cpu usage from the /proc file recently, on the Solaris 5.10. But met some rookie issue which i need some help. for below program, compiler complains that pstatus_t is undefined, although both type are defined in the procfs.h.
#include <sys/procfs.h>
int main()
{
struct pstatus *pstatus_p;
pstatus_t *pstatus_p2;
}
Errors as below:
$ cc pstatus.c
"pstatus.c", line 6: undefined symbol: pstatus_t
"pstatus.c", line 6: undefined symbol: pstatus_p
cc: acomp failed for pstatus.c
$ gcc pstatus.c
In file included from /nfs/other/prod_solaris/wh/dtd/sparc-SunOS5/gcc/3.4.3/bin/../lib/gcc/sparc-sun-solaris2.8/3.4.3/include/sys/signal.h:44,
from /usr/include/sys/old_procfs.h:28,
from /usr/include/sys/procfs.h:29,
from pstatus.c:1:
/usr/include/sys/siginfo.h:259: error: parse error before "ctid_t"
/usr/include/sys/siginfo.h:292: error: parse error before '}' token
/usr/include/sys/siginfo.h:294: error: parse error before '}' token
/usr/include/sys/siginfo.h:390: error: parse error before "ctid_t"
/usr/include/sys/siginfo.h:398: error: conflicting types for '__fault'
/usr/include/sys/siginfo.h:267: error: previous declaration of '__fault' was here
/usr/include/sys/siginfo.h:404: error: conflicting types for '__file'
/usr/include/sys/siginfo.h:273: error: previous declaration of '__file' was here
/usr/include/sys/siginfo.h:420: error: conflicting types for '__prof'
/usr/include/sys/siginfo.h:287: error: previous declaration of '__prof' was here
/usr/include/sys/siginfo.h:424: error: conflicting types for '__rctl'
/usr/include/sys/siginfo.h:291: error: previous declaration of '__rctl' was here
/usr/include/sys/siginfo.h:426: error: parse error before '}' token
/usr/include/sys/siginfo.h:428: error: parse error before '}' token
/usr/include/sys/siginfo.h:432: error: parse error before "k_siginfo_t"
/usr/include/sys/siginfo.h:437: error: parse error before '}' token
In file included from /usr/include/sys/old_procfs.h:28,
from /usr/include/sys/procfs.h:29,
from pstatus.c:1:
I can sure that the cc and gcc works fine with other programs. Would you please take a look at this issue and provide your suggestion. Thanks in adv.
9 More Discussions You Might Find Interesting
1. Shell Programming and Scripting
Hi, I am using Turbo Linux and needs to install Samba on it. But it said that could not find gcc. My question is how to find out which compiler is working on my system. I tried echo $CC but it gave me nothing. How can I set environmental compiler to c.
Thanks in advance. (8 Replies)
Discussion started by: s_aamir
8 Replies
2. UNIX for Dummies Questions & Answers
Hi,
we are converting from IBM-AIX(xl c/c++ compiler) to Linux(GCC complier).
As a part of this i need to change the CFLAGS.
The xl c/c++ complier CFLAGS is
CFLAGS := $(CDEBUG) $(PROJECT_INCLUDE_DIRS) $(COBJECT_MODE) -qcpluscmt -qmakedep -qcheck=all \
-qalign=bit_packed $(LINT_FLAGS)... (0 Replies)
Discussion started by: pbattu1
0 Replies
3. Solaris
Dear Frnz
Could you tell how to determine the c/c++ compiler version installed in the solaris 10/solaris 8.
IT could be very helpful if you can tell me the pkg name also.
Thanks (2 Replies)
Discussion started by: sriram.s
2 Replies
4. Programming
To make a programming language you need a compiler, so what was the first programming language and how was is created if you need the compiler first?
The compiler itself is considered as a high language comparing to the machine! since the compiler is not created in 1's and 0's...
Eventhough i... (12 Replies)
Discussion started by: f.ben.isaac
12 Replies
5. AIX
Command to get the Compiler version(xlc/gcc) from the binary on AIX platform.
I m searching for the Command, to get the Compiler(xlc/gcc) used to build the binary on AIX.
I got two commands used on Linux Platform:
- readelf -a <lib> | grep comment
- hexdump -C -s 0x49e7b -n 1812 <lib>
... (1 Reply)
Discussion started by: Prajakta
1 Replies
6. Programming
Hi experts,
How do I find if a C compiler is installed on Solaris ?
> cc -o
ksh: cc: not found
> CC
ksh: CC: not found
> gcc
ksh: gcc: not found
I am using Solaris 5.8
Thanks,
Sameer. (1 Reply)
Discussion started by: ensameer
1 Replies
7. UNIX for Dummies Questions & Answers
hi,
can we install gcc compiler in unix based OS(sun solar,IBM AIX,HP,etc) and also
can we install sun cc compiler in AIX environment and vice versa.
and more ..is linux support cc compiler
regards
Ajay (3 Replies)
Discussion started by: ajaysahoo
3 Replies
8. Linux
Hello forum memebers,
I have blocking with the issue about procfs.h while proting code from solaris to linux. so pleas let me know any difference between solaris and linux.
Thanks
kshyap (1 Reply)
Discussion started by: kshyap
1 Replies
9. Linux
hello Forum members.
please find the below iisue and help me to solve the issue.
The below variable is declared in the procfs.h and applications has succuessful running on solaris but,as part of my work i am porting the entire application on linux. the only issue remained is below one. ... (1 Reply)
Discussion started by: kshyap
1 Replies
LEARN ABOUT ULTRIX
uuaids
uuaids(8c) uuaids(8c)
Name
uucompact, uumkspool, uurespool, uupoll - uucp utilities
Syntax
uucompact -ssystem
uumkspool system ...
uurespool [ -t# ]
uupoll system ...
Description
All of the commands are located in
The command compacts uucp system spool directories and associated subdirectories. If system is ALL, then all existing uucp system spool
directories are compacted. Otherwise, only the specified system spool directory is compacted. If no system is specified, is compacted.
If is stopped before it is finished, it can be restarted without reprocessing directories. The command continues processing where it left
off during it's previous instantiation.
The command makes a per system spool directory and associated subdirectories for each of the specified systems. For example, if system is
mk3 and if the local system name is penny, the following directories are created:
/usr/spool/uucp/sys/mk3
/usr/spool/uucp/sys/mk3/C.
/usr/spool/uucp/sys/mk3/X.
/usr/spool/uucp/sys/mk3/D.
/usr/spool/uucp/sys/mk3/D.penny
/usr/spool/uucp/sys/mk3/D.penny
The command moves files from old spool directories to new spool directories. Because the structure of the spool directories has changed
from older versions of it is necessary to respool old spooled files to new spool directories in at least two instances:
o When installing the current version of
o When creating a new system spool directory for each system.
In the latter case, it is necessary to move files from to the new spool directories. To ease this task, moves files that have been spooled
in one of 4 formats and respools them under the new spooling structure. The format is specified by the -t# option, where the number sign
(#) can be any one of the following:
o Original spool - All files are in
o Split spool - Contains the subdirectories
o Modified split spool - Contains all subdirectories listed in split spool, and
o Used when a new system directory has been created and spool files must be moved from the DEFAULT directory to the new system directory.
The command forces a connect attempt to the named systems even if recent attempts have failed, but not if the file prohibits the call. For
example, the file will prohibit the call if it is the wrong time of day. Thus, the should be monitored for messages about the connection.
Files
Spool directory
Logfile
See Also
mail(1), uucp(1c), uux(1c)
uuaids(8c)