Operating System - Linux
1752808 Members
5664 Online
108789 Solutions
New Discussion юеВ

Re: Errors compiling rootsh 1.5.2 on HP-UX 11.11

 
SOLVED
Go to solution
Ken O'Neil
Frequent Advisor

Errors compiling rootsh 1.5.2 on HP-UX 11.11


Right up front I'll say that compiling binaries from source is not my thing, but I would like to implement rootsh on HP-UX 11.11 and can't find a pre-compiled binary for it anywhere. After downloading and untarring the source package, I executed configure and make -f Makefile, but right off the bat it looks like there are several errors. This did produce a binary that executes, at least rootsh -V returns the proper information and I'm not getting any error messages or core dumps when it runs, but I don't want to waste a lot of time testing if it didn't compile properly right off the bat.

Would anyone mind looking at the output below from configure and make and help me understand if these are significant errors,something I should be concerned with?

# ./configure
checking for a BSD-compatible install... /opt/imake/bin/install -c
checking whether build environment is sane... yes
checking for gawk... no
checking for mawk... no
checking for nawk... no
checking for awk... awk
checking whether make sets $(MAKE)... yes
checking build system type... cpp: "", line 0: error 4021: Unable to stat .
hppa2.0w-hp-hpux11.11
checking host system type... hppa2.0w-hp-hpux11.11
checking for syslog... enabled
checking for syslog facility... local5.notice
checking for syslog linenumbering... enabled
checking for username in syslog... enabled
checking for logfile... enabled
checking for logdir... /var/adm/rootsh
checking for maximum logfile size... 0
checking for defaultshell... /sbin/sh
checking for gcc... gcc
checking for C compiler default output file name... a.out
checking whether the C compiler works... yes
checking whether we are cross compiling... no
checking for suffix of executables...
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether gcc accepts -g... yes
checking for gcc option to accept ANSI C... none needed
checking for style of include used by make... GNU
checking dependency style of gcc... gcc3
checking for /etc/shells... not found
checking how to run the C preprocessor... gcc -E
checking for egrep... grep -E
checking for ANSI C header files... yes
checking for LIBUTIL=-lutil in -lutil... no
checking for ANSI C header files... (cached) yes
checking for sys/types.h... yes
checking for sys/stat.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for memory.h... yes
checking for strings.h... yes
checking for inttypes.h... yes
checking for stdint.h... no
checking for unistd.h... yes
checking for string.h... (cached) yes
checking fcntl.h usability... yes
checking fcntl.h presence... yes
checking for fcntl.h... yes
checking sys/file.h usability... yes
checking sys/file.h presence... yes
checking for sys/file.h... yes
checking sys/param.h usability... yes
checking sys/param.h presence... yes
checking for sys/param.h... yes
checking stropts.h usability... yes
checking stropts.h presence... yes
checking for stropts.h... yes
checking libgen.h usability... yes
checking libgen.h presence... yes
checking for libgen.h... yes
checking pty.h usability... no
checking pty.h presence... no
checking for pty.h... no
checking for forkpty... no
checking for forkpty in -lutil... no
checking getopt.h usability... no
checking getopt.h presence... no
checking for getopt.h... no
checking for getopt_long... no
checking for getopt_long in -lgnugetopt... no
checking for basename... yes
checking for getusershell... yes
checking getusershell prototype... yes
checking for clearenv... yes
checking for sigset... yes
checking for sigaction... yes
checking whether supplying sigset prototypes is permitted... no
checking return type of signal handlers... void
checking select() and fd_set in sys/select.h and sys/bsdtypes.h... not needed
checking FD_ZERO and strings.h or bstring.h... not needed
checking for master pty... ptmx
checking if your system supports the ttcompat streams module... no
checking operating system... hp-ux
checking for su... /usr/bin/su
checking for a BSD-compatible install... /opt/imake/bin/install -c
checking whether make sets $(MAKE)... (cached) yes
configure: creating ./config.status
config.status: creating Makefile
config.status: creating src/Makefile
config.status: creating src/config.h
config.status: linking ./src/gnugetopt.h to src/getopt.h
config.status: executing depfiles commands

# make -f Makefile
No suffix list.
Making all in src
cd .. && /bin/sh ./config.status src/config.h
config.status: creating src/config.h
config.status: src/config.h is unchanged
make all-am
No suffix list.
if gcc -DHAVE_CONFIG_H -I. -I. -I. -g -O2 -Wall -Wstrict-prototypes -Wmissing-declarations -Wnested-externs -Wpointer-arith -pedantic -MT rootsh.o -MD -MP -MF ".deps/rootsh.Tpo" -c -o rootsh.o rootsh.c; \
then mv -f ".deps/rootsh.Tpo" ".deps/rootsh.Po"; else rm -f ".deps/rootsh.Tpo"; exit 1; fi
In file included from rootsh.c:68:
getopt.h:147: warning: function declaration isn't a prototype
rootsh.c: In function `setupshell':
rootsh.c:972: warning: unused variable `validshell'
rootsh.c: In function `main':
rootsh.c:238: warning: 'dashShell' might be used uninitialized in this function
if gcc -DHAVE_CONFIG_H -I. -I. -I. -g -O2 -Wall -Wstrict-prototypes -Wmissing-declarations -Wnested-externs -Wpointer-arith -pedantic -MT write2syslog.o -MD -MP -MF ".deps/write2syslog.Tpo" -c -o write2syslog.o write2syslog.c; \
then mv -f ".deps/write2syslog.Tpo" ".deps/write2syslog.Po"; else rm -f ".deps/write2syslog.Tpo"; exit 1; fi
if gcc -DHAVE_CONFIG_H -I. -I. -I. -g -O2 -Wall -Wstrict-prototypes -Wmissing-declarations -Wnested-externs -Wpointer-arith -pedantic -MT getopt.o -MD -MP -MF ".deps/getopt.Tpo" -c -o getopt.o getopt.c; \
then mv -f ".deps/getopt.Tpo" ".deps/getopt.Po"; else rm -f ".deps/getopt.Tpo"; exit 1; fi
In file included from getopt.c:105:
getopt.h:147: warning: function declaration isn't a prototype
getopt.c:212: warning: function declaration isn't a prototype
getopt.c:217: warning: function declaration isn't a prototype
if gcc -DHAVE_CONFIG_H -I. -I. -I. -g -O2 -Wall -Wstrict-prototypes -Wmissing-declarations -Wnested-externs -Wpointer-arith -pedantic -MT getopt1.o -MD -MP -MF ".deps/getopt1.Tpo" -c -o getopt1.o getopt1.c; \
then mv -f ".deps/getopt1.Tpo" ".deps/getopt1.Po"; else rm -f ".deps/getopt1.Tpo"; exit 1; fi
In file included from getopt1.c:25:
getopt.h:147: warning: function declaration isn't a prototype
gcc -g -O2 -Wall -Wstrict-prototypes -Wmissing-declarations -Wnested-externs -Wpointer-arith -pedantic -o rootsh rootsh.o write2syslog.o getopt.o getopt1.o
No suffix list.
/bin/sh ./config.status
config.status: creating Makefile
config.status: creating src/Makefile
config.status: creating src/config.h
config.status: src/config.h is unchanged
config.status: linking ./src/gnugetopt.h to src/getopt.h
config.status: executing depfiles commands
5 REPLIES 5
Tom Schroll
Frequent Advisor
Solution

Re: Errors compiling rootsh 1.5.2 on HP-UX 11.11


Ken, I know I typed a reply to this before. I suggested to install gmake because the "No suffix list." errors are being produced by HP-UX's make.

So the question is, did you get my reply? And what happened to it? Was there a small problem with the forum that made my reply disappear?

Either way, try installing the gmake depot and start fresh with a new configure and make. Note: you don't need to use
"make -f Makefile". By default, make uses the current directory and looks for a file called "Makefile" on its own. Just run "make".

-- Tom
If it ain't broke, it needs optimized.
Ken O'Neil
Frequent Advisor

Re: Errors compiling rootsh 1.5.2 on HP-UX 11.11

I didn't see a reply from you before, and didn't get an email notification of one. This is the first one I've see, but thank you! I think gmake is already installed so maybe its a path issue.

Other than the "No Suffix List" error, should I be concerned at all about the warnings from getopt.h, getopt.c and rootsh.c?

The binary I compiled seems to be running well, but I just wasn't sure to trust it with the error and warnings above.

Thanks again!
Tom Schroll
Frequent Advisor

Re: Errors compiling rootsh 1.5.2 on HP-UX 11.11


Ken,

Hrrmmm, yeah, I don't know what happened to my last post either. Odd. Maybe I forgot to press submit? Who knows.

Anyways, yeah, try using gmake instead of make when you do the actual make (specify the absolute path to your gmake). When I build freeware, I usually modify my PATH so that the GNU utilities show up first in my PATH. ('setenv PATH "/usr/local/bin:$PATH"' if you are using csh/tcsh *or* 'PATH="/usr/local/bin:$PATH; export PATH' for sh/ksh/bash)

I did notice a few small issues and warnings that did concern me and I'd be curious to know if they go away with gmake. Honestly you are lucky it compiled that cleanly. :-)

Since all of your compile messages were warnings, I wouldn't sweat it if the application compiled and is running. Sometimes there are cases when freeware programmers will try to use a function in a way that is not compatible with HP-UX's implementation of the same function. It's hard to define what is serious and what is not. This comes from trial and error.

Basically, run some regressions on it and if it works, you should be fine. I understand your concern about "wolves in the woods" because I do the same thing. If you are good with "C" code, you could probably correct these warnings. But if you are not, then the best thing to do is see what happens on the fly.

That being said, the next best thing is to check with us here to determine if warnings or errors are critical. That's what this forum is for. :-)

Take care...

-- Tom
If it ain't broke, it needs optimized.
Rick Garland
Honored Contributor

Re: Errors compiling rootsh 1.5.2 on HP-UX 11.11

Ken O'Neil
Frequent Advisor

Re: Errors compiling rootsh 1.5.2 on HP-UX 11.11

Thanks Rick. I had corresponded with Gerhard about this after I posted and I believe he put that up there in response.

His take as well as others on what I posted was that the errors and warnings above were inconsequential, and my testing of the resulting binary did not yield any errors.

Thanks again though for the heads up.