12-10-2007
Shell Compiler shc
I have been using shc compiler from long time, now I am moving to another version or different OS where it is not working as expected.
I have shc working pretty well in Solaris 8 , On Solaris 10, I am unable to make/compile shc
make shc on Solaris 10 :
$ make shc
gcc -Wall -O6 -pedantic shc.c -o shc
In file included from /usr/include/sys/signal.h:34,
from /usr/include/signal.h:26,
from shc.c:94:
/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:292: error: ISO C forbids data definition with no type or storage class
/usr/include/sys/siginfo.h:294: error: parse error before '}' token
/usr/include/sys/siginfo.h:294: error: ISO C forbids data definition with no type or storage class
/usr/include/sys/siginfo.h:390: error: parse error before "ctid_t"
/usr/include/sys/siginfo.h:392: error: conflicting types for `__proc'
/usr/include/sys/siginfo.h:261: error: previous declaration of `__proc'
/usr/include/sys/siginfo.h:398: error: conflicting types for `__fault'
/usr/include/sys/siginfo.h:267: error: previous declaration of `__fault'
/usr/include/sys/siginfo.h:404: error: conflicting types for `__file'
/usr/include/sys/siginfo.h:273: error: previous declaration of `__file'
/usr/include/sys/siginfo.h:420: error: conflicting types for `__prof'
/usr/include/sys/siginfo.h:287: error: previous declaration of `__prof'
/usr/include/sys/siginfo.h:424: error: conflicting types for `__rctl'
/usr/include/sys/siginfo.h:291: error: previous declaration of `__rctl'
/usr/include/sys/siginfo.h:426: error: parse error before '}' token
/usr/include/sys/siginfo.h:426: error: ISO C forbids data definition with no type or storage class
/usr/include/sys/siginfo.h:428: error: parse error before '}' token
/usr/include/sys/siginfo.h:428: error: ISO C forbids data definition with no type or storage class
/usr/include/sys/siginfo.h:432: error: parse error before "k_siginfo_t"
/usr/include/sys/siginfo.h:437: error: parse error before '}' token
/usr/include/sys/siginfo.h:437: error: ISO C forbids data definition with no type or storage class
In file included from /usr/include/signal.h:26,
from shc.c:94:
/usr/include/sys/signal.h:85: error: parse error before "siginfo_t"
In file included from shc.c:94:
/usr/include/signal.h:111: error: parse error before "siginfo_t"
/usr/include/signal.h:113: error: parse error before "siginfo_t"
*** Error code 1
make: Fatal error: Command failed for target `shc'
The other issue which is not compile issue is on Linux Platform ( Red Hat 2.6 kernel 2.6.9-55.0.2.ELsmp)
I am able to compile shc and comiple my shell scripts using shc without any issues. When my script is running and I do
ps -ef |grep myscript
It is kind of showing whole script in Linux ( That is defeating purpose using shell script compile)
I have tried to contact author few times as well but could not contact so not sure whether his email id got changed.
Any help is greatly appreciated.
10 More Discussions You Might Find Interesting
1. UNIX for Dummies Questions & Answers
I know I can run the cksum command for multiple files in a directory and send the results to a new file.
EX.)
# cd /usr
# cksum *_ex* > /tmp/cksumusr.txt
But I can't figure out how to run this command on multiple files in all directories on drive. Is it possible to do this, without having... (2 Replies)
Discussion started by: crazykelso
2 Replies
2. UNIX for Dummies Questions & Answers
I am trying to install PROFTPD-1.2.7 on a SCO OpenServer 5.0.6 Server with a gcc-2.95.2 installed the VOLS files from http://www.caldera.com/skunkware.
The problem I am having is when I try to run ./configure in the proftpd directory I get this error:
# ./configure
checking build system... (6 Replies)
Discussion started by: stufine
6 Replies
3. Programming
Hi All,
I m very new to unix.
I have a basic doubt ..
In unix I m seeing that there is a * at the end of by executable name (exe1*)..
Wht is the significance of that
Thanks a lot in advance (2 Replies)
Discussion started by: binums
2 Replies
4. AIX
Hi,
Please give me the detailed Differences between writing Unix Shell script and AIX Shell Scripts. Thanks in advance..... (0 Replies)
Discussion started by: haroonec
0 Replies
5. Programming
Hi - I have two complex (for me at least) make files. The older one creates a succesful executable. The later one uses if statements to conditionally make different versions of the executable. The 2nd produces an executable that fails. I have "eyeballed" the differences in the Make files and run... (18 Replies)
Discussion started by: BrighterLater
18 Replies
6. Shell Programming and Scripting
Hello gurus,
I have three korn shell script 3.1, 3.2, 3.3. I would like to call three shell script in one shell script.
i m looking for something like this
call 3.1;
If 3.1 = "complete" then
call 3.2;
if 3.2 = ''COMPlete" then
call 3.3;
else
exit
The... (1 Reply)
Discussion started by: shashi369
1 Replies
7. Shell Programming and Scripting
Hello Unix users, this is my first post here. :)
I want to search a directory (and subdirectories) for executable files (files with rwx------ permission) and move them to a different folder. What Unix commands can accomplish this? (2 Replies)
Discussion started by: Sagan_Radiation
2 Replies
8. Shell Programming and Scripting
I am trying to create executables for the following files
Currently, I am making 9 different directories for for each. I would like to make 1 directory but everytime I try it does not work.
CROSS_COMPILE?=
# CROSS_COMPILE used to = arm-arago-linux-gnueabi... (1 Reply)
Discussion started by: bpetersen
1 Replies
9. Shell Programming and Scripting
Hi everyone,
I am working with an executable (let's say work) in bash shell. When I run this work
executable it asks the following information;
1- choose task a or b
2- input file
3- output file
4- some operational choices
after it reads the given input file, does some algebraic... (17 Replies)
Discussion started by: hayreter
17 Replies
10. Ubuntu
https://www.unix.com/302461112-post1.html
Thank you. It's still in Linux Mint 17 (3 Replies)
Discussion started by: jgt
3 Replies
LEARN ABOUT SUNOS
siginfo.h
siginfo.h(3HEAD) Headers siginfo.h(3HEAD)
NAME
siginfo.h, siginfo - signal generation information
SYNOPSIS
#include <siginfo.h>
DESCRIPTION
If a process is catching a signal, it might request information that tells why the system generated that signal. See sigaction(2). If a
process is monitoring its children, it might receive information that tells why a child changed state. See waitid(2). In either case, the
system returns the information in a structure of type siginfo_t, which includes the following information:
int si_signo /* signal number */
int si_errno /* error number */
int si_code /* signal code */
union sigval si_value /* signal value */
si_signo contains the system-generated signal number. For the waitid(2) function, si_signo is always SIGCHLD.
If si_errno is non-zero, it contains an error number associated with this signal, as defined in <errno.h>.
si_code contains a code identifying the cause of the signal.
If the value of the si_code member is SI_NOINFO, only the si_signo member of siginfo_t is meaningful, and the value of all other members
is unspecified.
User Signals
If the value of si_code is less than or equal to 0, then the signal was generated by a user process (see kill(2), _lwp_kill(2),
sigqueue(3RT), sigsend(2), abort(3C), and raise(3C)) and the siginfo structure contains the following additional information:
pid_t si_pid /* sending process ID */
uid_t si_uid /* sending user ID */
ctid_t si_ctid /* sending contract ID */
zoneid_t si_zoneid /* sending zone ID */S
If the signal was generated by a user process, the following values are defined for si_code:
SI_USER The implementation sets si_code to SI_USER if the signal was sent by kill(2), sigsend(2), raise(3C) or abort(3C).
SI_LWP The signal was sent by _lwp_kill(2).
SI_QUEUE The signal was sent by sigqueue(3RT).
SI_TIMER The signal was generated by the expiration of a timer created by timer_settime(3RT).
SI_ASYNCIO The signal was generated by the completion of an asynchronous I/O request.
SI_MESGQ The signal was generated by the arrival of a message on an empty message queue. See mq_notify(3RT).
si_value contains the application specified value, which is passed to the application's signal-catching function at the time of the signal
delivery if si_code is any of SI_QUEUE, SI_TIMER, SI_ASYNCHIO, or SI_MESGQ.
System Signals
Non-user generated signals can arise for a number of reasons. For all of these cases, si_code contains a positive value reflecting the rea-
son why the system generated the signal:
Signal Code Reason
SIGILL ILL_ILLOPC illegal opcode
ILL_ILLOPN illegal operand
ILL_ILLADR illegal addressing mode
ILL_ILLTRP illegal trap
ILL_PRVOPC privileged opcode
ILL_PRVREG privileged register
ILL_COPROC co-processor error
ILL_BADSTK internal stack error
SIGFPE FPE_INTDIV integer divide by zero
FPE_INTOVF integer overflow
FPE_FLTDIV floating point divide by zero
FPE_FLTOVF floating point overflow
FPE_FLTUND floating point underflow
FPE_FLTRES floating point inexact result
FPE_FLTINV invalid floating point operation
FPE_FLTSUB subscript out of range
SIGSEGV SEGV_MAPERR address not mapped to object
SEGV_ACCERR invalid permissions for mapped
object
SIGBUS BUS_ADRALN invalid address alignment
BUS_ADRERR non-existent physical address
BUS_OBJERR object specific hardware error
SIGTRAP TRAP_BRKPT process breakpoint
TRAP_TRACE process trace trap
SIGCHLD CLD_EXITED child has exited
CLD_KILLED child was killed
CLD_DUMPED child terminated abnormally
CLD_TRAPPED traced child has trapped
CLD_STOPPED child has stopped
CLD_CONTINUED stopped child had continued
SIGPOLL POLL_IN data input available
POLL_OUT output buffers available
POLL_MSG input message available
POLL_ERR I/O error
POLL_PRI high priority input available
POLL_HUP device disconnected
Signals can also be generated from the resource control subsystem. Where these signals do not already possess kernel-level siginfo codes,
the siginfo si_code will be filled with SI_RCTL to indicate a kernel-generated signal from an established resource control value.
Signal Code Reason
SIGXRES SI_RCTL resource-control generated
signal
SIGHUP
SIGTERM
The uncatchable signals SIGSTOP and SIGKILL have undefined siginfo codes.
Signals sent with a siginfo code of SI_RCTL contain code-dependent information for kernel-generated signals:
Code Field Value
SI_RCTL hr_time si_entity process-model entity of control
In addition, the following signal-dependent information is available for kernel-generated signals:
Signal Field Value
SIGILL caddr_t si_addr address of faulting instruction
SIGFPE
SIGSEGV caddr_t si_addr address of faulting memory ref-
erence
SIGBUS
SIGCHLD pid_t si_pid child process ID
int si_status exit value or signal
SIGPOLL long si_band band event for POLL_IN,
POLL_OUT, or POLL_MSG
SEE ALSO
_lwp_kill(2), kill(2), setrctl(2), sigaction(2), sigsend(2), waitid(2), abort(3C), aio_read(3RT), mq_notify(3RT), raise(3C), sig-
nal.h(3HEAD), sigqueue(3RT), timer_create(3RT), timer_settime(3RT)
NOTES
For SIGCHLD signals, if si_code is equal to CLD_EXITED, then si_status is equal to the exit value of the process; otherwise, it is
equal to the signal that caused the process to change state. For some implementations, the exact value of si_addr might not be available;
in that case, si_addr is guaranteed to be on the same page as the faulting instruction or memory reference.
SunOS 5.10 19 Jul 2004 siginfo.h(3HEAD)