tech-pkg archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: bootstrap failure



On 01/07/15 20:58, Jan Danielsson wrote:
[---]
> sh: syntax error: unexpected EOF
[---]

   Wondering if it was as simple as a broken /bin/sh, I decided to try
need_ksh=yes, but then this happens:

-----------------------------------------------
creating config.h
./emacs-gen.sh ./emacs.c > tmpemacs.out
mv tmpemacs.out emacs.out
./mkman ksh ./ksh.Man > tmpksh.1
mv tmpksh.1 ksh.1
CONFIG_FILES="" CONFIG_HEADERS=config.h ./config.status
creating config.h
config.h is unchanged
date > stamp-h
./siglist.sh "gcc -E  -DHAVE_CONFIG_H -I. -I." < ./siglist.in >
tmpsiglist.out
mv tmpsiglist.out siglist.out
gcc -c  -DHAVE_CONFIG_H -I. -I. -g -O alloc.c
In file included from sh.h:728,
                 from alloc.c:32:
proto.h:160: error: conflicting types for 'mcheck'
/usr/qnx650/target/qnx6/usr/include/malloc.h:145: note: previous
declaration of
'mcheck' was here
*** [alloc.o] Error code 1

bmake: stopped in /usr/pkgsrc/bootstrap/work/ksh
1 error

bmake: stopped in /usr/pkgsrc/bootstrap/work/ksh
===> exited with status 2
aborted.
-----------------------------------------------

   The QNX mcheck() is part of __EXT_QNX.  As a work-around I tried
putting #undef __EXT_QNX just before #include <stdlib.h> in sh.h.  This
makes it pass alloc.c, but runs into problems on trap.c, because NSIG is
only set for __EXT_QNX.

   sh.h has a block which looks like this:

   #ifdef NSIG
   #  define SIGNALS NSIG
   #else
     ...
   #  ifdef _SIGMAX      /* QNX */
   #    define SIGNALS  _SIGMAX
   #  endif

   It looks like the code in trap.c is supposed to use SIGNALS, not
NSIG.  Anyway; I added a "#define NSIG _NSIG" to the "QNX" block in
sh.h, and now the shell binary builds and links.

-- 
Kind Regards,
Jan


Home | Main Index | Thread Index | Old Index