Re: [Tack-devel] ACK compiles on NetBSD-macppc, sort of...
Moved to https://github.com/davidgiven/ack
Brought to you by:
dtrg
From: Gregory T. (t. K. <gt...@di...> - 2006-07-17 23:26:58
|
>One thing that is still failing in the INSTALL shell is the EM interpreter= for C: > >Failed for EM interpreter in C, see util/int/Out=20 > >util/int/Out has the following errors (modified for content): > >./util/int/m_ioctl.c: In function `do_ioctl': >./ util/int/m_ioctl.c:63: error: storage size of `tc_buf' isn't known >./ util/int/m_ioctl.c:94: error: `TIOCSETN' undeclared (first use in this f= unction) >./ util/int/m_ioctl.c:94: error: (Each undeclared identifier is reported= only once >./ util/int/m_ioctl.c:94: error: for each function it appears in.) >./ util/int/m_ioctl.c:98: error: `TIOCSETC' undeclared (first use in this f= unction) >./ util/int/m_ioctl.c:101: error: `TIOCGETC' undeclared (first use in this = function) >*** Error code 1 > >Stop. >make: stopped in /home/lapd/ack/obj/util/int > >I'm not sure what to make of this one, as the ioctl stuff is actually= declared in /usr/include/sys/ioctl_compat.h with BSD. Perhaps this header= is not getting picked up? Where should it have been included? > David Given already anticipated this problem in util/int/sysidf.h: Index: util/int/sysidf.h =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D RCS file: /cvsroot/tack/Ack/util/int/sysidf.h,v retrieving revision 2.5 diff -r2.5 sysidf.h 26,27c26,29 < =20 < //#define WANT_SGTTY --- >=20 > #ifdef BSD_X=20 > #define WANT_SGTTY > #endif With a quick fix to util/int/moncalls.c: Index: util/int/moncalls.c =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D RCS file: /cvsroot/tack/Ack/util/int/moncalls.c,v retrieving revision 2.9 diff -r2.9 moncalls.c 59a60,62 > #ifdef BSD4_2 > extern off_t lseek(); > #else 60a64,65 > #endif I now get: <snip> =2E/util/int/init.c: In function `init': =2E/util/int/init.c:68: warning: this decimal constant is unsigned only in= ISO C90 <snip> make: don't know how to make ./trap_msg. Stop make: stopped in /home/lapd/ack/obj/util/int There are no trap_msg files. I'm still not sure what to make of the test.c failure: ../bin/bin/acc -mem44 -I$ACKDIR/include/tail_ac -ansi -o test test.c Unresolved references Procedures: Data: __ctype Looks like __ctype is being referenced but unresolved. I have not been able= to track down a __ctype reference. Overall the changes are not vast. It seems like most of the fixes revolve= around actually making the BSD_X/BSD4_1/BSD4_2 code compliant with BSD4_4,= but for the most part the stuff still works once the hooks are found and= tied in. Unfortunately I'm not an expert on BSD nor POSIX, so my patches= will probably need additional cleaning. tim Gregory T. (tim) Kelly Owner Dialectronics.com P.O. Box 606 Newberry, SC 29108 "Anything war can do, peace can do better." -- Bishop Desmond Tutu |