Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 17 Dec 1994 20:22:31 +0200
From:      Tudor Hulubei <tudor@cs.pub.ro>
To:        chet@po.cwru.edu
Cc:        arnold@cc.gatech.edu, composer@beyond.dreams.org, friedman@gnu.ai.mit.edu, joshua5@cs.bu.edu, dob@inel.gov, mjo@msen.com, jason@servio.slc.com, timbo@ig.co.uk, trost@cse.ogi.edu, zoo@armadillo.com, lubkin@cs.rochester.edu, james@bigtex.cactus.org, chip%fin@myrddin.sybus.com, dbrooks@ics.com, Greg.Onufer@Eng.Sun.COM, kre@munnari.oz.au, tmwalden@saturn.sys.acc.com, torvalds@cc.helsinki.fi, watson@kodak.com, glenn@mathcs.emory.edu, penningt@reason.psc.edu, devet@adv.iaehv.nl, khera@cs.duke.edu, grog@lemis.de, djm@eng.umd.edu, wieting@tweety.llnl.gov, geoff@well.sf.ca.us, de5@ornl.gov, kayvan@satyr.sylvan.com, smd@uunet.ca, Andy.Linton@aarnet.edu.au, mark@comp.vuw.ac.nz, david@cs.dal.ca, jwe@che.utexas.edu, Karl.Kleinpaste@GODIVA.NECTAR.CS.CMU.EDU, bammi@cadence.com, sanders@bsdi.com, tramey@boi.hp.com, sandro@elf.com, drich@lerc.nasa.gov, carson@cs.columbia.edu, dbecker@legato.com, deven@asylum.sf.ca.us, remy@ccs.neu.edu, freebsd-hackers@freefall.cdrom.com, dtm@nsd.3com.com, lim@solomon.technet.sg, kjetilho@ifi.uio.no, mwette@csi.jpl.nasa.gov, jsh@canary.com, gjb@gba.oz.au, andreas@MPA-Garching.MPG.DE, pgf@foxharp.boston.ma.us, peterc@suite.sw.oz.au, brown@eff.org, bothner@cygnus.com, fox@cac.washington.edu, chet@odin.INS.CWRU.Edu
Subject:   Re: Test release of bash-1.14.3 available
Message-ID:  <9412171822.AA06396@apolo.cs.pub.ro>
In-Reply-To: <9412112218.AA05529.SM@odin.INS.CWRU.Edu> (message from Chet Ramey on Sun, 11 Dec 1994 17:18:57 -0500)

next in thread | previous in thread | raw e-mail | index | archive | help

Hi,

At the first look, compiling bash-1.14.3 on a HP-UX crashes at the very
beginning like this:
(The uname -a result is:
	HP-UX apolo A.09.03 A 9000/715 2014801031 two-user license
and the gcc -v result is:
Reading specs from /usr/local/lib/gcc-lib/hppa1.1-hp-hpux9.03/2.6.1/specs
gcc version 2.6.1
)

   You are about to make this version of GNU Bash for
   this architecture for the first time.  If you haven't
   yet read the README file, you may want to do so.  If
   you wish to report a bug in Bash, or in the installation
   procedure, please run the bashbug script and include:

        * a description of the bug,
        * a recipe for recreating the bug reliably,
        * a fix for the bug if you have one!

/bin/sh ./support/mksysdefs -s .
cp ./cpp-Makefile tmp-Makefile.c
rm -f ./support/getcppsyms
/bin/sh ./support/mkdirs support
cc -o ./support/getcppsyms ./support/getcppsyms.c
rm -f bash-Makefile
/lib/cpp -Dhp9000s700 -Dhp9000s800 -Dhppa -Dhpux -Dunix -P -I. -I. -DCPP_CC=cc tmp-Makefile.c | awk -f ./support/cat-s > bash-Makefile
rm -f tmp-Makefile.c
make  -f bash-Makefile   srcdir=.
make[1]: Entering directory `/home/student/tudor/src/bash-1.14.3'
cc  -O -g  -DHAVE_VFPRINTF -DHAVE_UNISTD_H -DHAVE_STDLIB_H
-DHAVE_LIMITS_H -DHAVE_GETGROUPS  -DHAVE_SYS_PARAM -DVOID_SIGHANDLER
-DNO_SBRK_DECL -DHAVE_SOCKETS -DHAVE_GETHOSTNAME +O3 -Ae -DHPUX -Dhpux
-DHAVE_GETHOSTNAME -DUSG -DHAVE_WAIT_H  -DHAVE_DUP2 -DHAVE_STRERROR
-DHAVE_DIRENT -DHAVE_DIRENT_H -DHAVE_STRING_H -DHAVE_VARARGS_H -DHAVE_STRCHR   -D"hp9000s700" -D"hpux_9" -DSHELL    -o newversion.aux ./newversion.c
cc: +O3: No such file or directory
*Initialization*:1: missing token-sequence in `#assert'
make[1]: *** [newversion.aux] Error 1
make[1]: Leaving directory `/home/student/tudor/src/bash-1.14.3'
make: *** [all] Error 2

removing +O3 from bash-Makefile doesn't appear to be good enough because
gcc doesn't recognize the -Ae option. Removing both +O3 and -Ae from the
SYSDEP variable appears to be ok. Let's wait...
The link step failed. This appears to be the problem:

make[2]: Leaving directory `/home/student/tudor/src/bash-1.14.3/lib/tilde'
rm -f bash
cc     -O -g -L ./lib/readline/   -L ./lib/tilde/ -L ./lib/glob/  -o bash shell.o y.tab.o general.o make_cmd.o print_cmd.o  dispose_cmd.o execute_cmd.o variables.o copy_cmd.o error.o expr.o flags.o jobs.o subst.o hash.o mailcheck.o test.o trap.o alias.o  ./lib/malloc/alloca.o braces.o unwind_prot.o  input.o bashhist.osiglist.o  version.o bashline.o bracecomp.o builtins/libbuiltins.a -lreadline  -lcurses -lglob -ltilde
/bin/ld: builtins/libbuiltins.a: Missing library symbol table
collect2: ld returned 1 exit status
make[1]: *** [bash] Error 1
make[1]: Leaving directory `/home/student/tudor/src/bash-1.14.3'
make: *** [all] Error 2

The libbuiltins.a library should be ranlib-ed. After
ranlib libbuiltins.a
the linker failed at the next step, the readline library.
This should be ranlib-ed too. The glob & tilde libraries too.
Ok, I did it.
It WORKS !

make test fails like this:

cc   test.o   -o test
/bin/ld: Unsatisfied symbols:
   interactive_shell (data)
   current_user (data)
   get_name_for_error (code)
   xrealloc (code)
   main
collect2: ld returned 1 exit status
make: *** [test] Error 1

I don't know. Should this work ? I am not sure.
Anyway, as far as I saw, ./bash works ok.


Until now I've used gcc 2.6.1. I will try the native, non-ANSI, HP-UX C
compiler (a K&R one). Let's see what happens:

(You should note that the native HP-UX C compiler is a very dumb one. It
doesn't understands optimization and debug info flags, so the following
warnings are normal (in its opinion, of course :-) )

cc: warning 422: Unknown option "O" ignored.
cc: warning 422: Unknown option "g" ignored.
cc: warning 422: Unknown option "A" ignored.
cc: warning 422: Unknown option "e" ignored.

Anyway, these are warnings, not errors like when using gcc.
OOPS, some strange warnings here:

cc -c -O -g  -DHAVE_VFPRINTF -DHAVE_UNISTD_H -DHAVE_STDLIB_H -DHAVE_LIMITS_H -DHAVE_GETGROUPS  -DHAVE_SYS_PARAM -DVOID_SIGHANDLER -DNO_SBRK_DECL -DHAVE_SOCKETS-DHAVE_GETHOSTNAME +O3 -Ae -DHPUX -Dhpux -DHAVE_GETHOSTNAME -DUSG -DHAVE_WAIT_H -DHAVE_DUP2 -DHAVE_STRERROR -DHAVE_DIRENT -DHAVE_DIRENT_H -DHAVE_STRING_H -DHAVE_VARARGS_H -DHAVE_STRCHR   -D"hp9000s700" -D"hpux_9" -DSHELL    -I/home/student/tudor/src/bash-1.14.3 -I/home/student/tudor/src/bash-1.14.3/./lib/ -I././lib/ -I. -I/home/student/tudor/src/bash-1.14.3/builtins -I. -I. -I././lib/ ulimit.c
cc: warning 422: Unknown option "O" ignored.
cc: warning 422: Unknown option "g" ignored.
cc: warning 422: Unknown option "A" ignored.
cc: warning 422: Unknown option "e" ignored.
cc: "builtins/ulimit.def", line 354: warning 31: String literal contains undefined escape sequence.
cc: "builtins/ulimit.def", line 686: warning 31: String literal contains undefined escape sequence.
cc: "builtins/ulimit.def", line 693: warning 31: String literal contains undefined escape sequence.
cc: "builtins/ulimit.def", line 699: warning 31: String literal contains undefined escape sequence.
rm -f ulimit.c

Hmmm, the same problem with builtins/libbuiltins.a not beeing ranlib-ed.
The other libraries too... (readline, glob, tilde)
ok, got a binary, it works !

make test fails in the same way. Maybe I should not try this, I don't know.
So, the problem is that make doesn't detect the presence of gcc. In fact
/usr/bin is the native HP-UX compiler, gcc is installed in /usr/local/bin
and I have a link to it in my ~/bin directory. You should check the ranlib
part too...  It might be my problem because we have both /bin/ranlib (the
native version) and /usr/local/bin/ranlib (the GNU version). I have
/usr/local/bin in PATH *before* /bin so, this might be the problem. But
when I have ranlibed "by hand" the libraries it worked just fine.


If you want to check where those ulimit.def warnings come from and you
need our headers, just send me an email and I will send them uuencoded
to you.

Best regards,
Tudor



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?9412171822.AA06396>