Date: Tue, 23 May 2000 18:46:56 +0100 From: Nik Clayton <nik@freebsd.org> To: Dirk Froemberg <dirk@freebsd.org> Cc: ports@freebsd.org Subject: Re: palm/pose on 3.4-stable Message-ID: <20000523184656.A1760@catkin.nothing-going-on.org> In-Reply-To: <20000522164816.A84681@physik.TU-Berlin.DE>; from dirk@freebsd.org on Mon, May 22, 2000 at 04:48:16PM %2B0200 References: <20000522123134.A58955@catkin.nothing-going-on.org> <20000522164816.A84681@physik.TU-Berlin.DE>
next in thread | previous in thread | raw e-mail | index | archive | help
Dirk, [I've cc'd -ports on this, just to open it out to anyone else's ideas] On Mon, May 22, 2000 at 04:48:16PM +0200, Dirk Froemberg wrote: > On Mon, May 22, 2000 at 12:31:34PM +0100, Nik Clayton wrote: > > Do you know if palm/pose works on 3.4-stable? > > Unfortunally it doesn't. > > Someone submitted a PR: http://www.freebsd.org/cgi/query-pr.cgi?pr=18452 > > I found no time, yet, to work on it... Right. Well, the PR's correct in that you need to build pose and fltk with "USE_NEWGCC=yes" in the Makefile. I think they can both be added without doing any harm. You also need to add the attached patch to remove "/usr/lib" from Makefile.in. I assume that's a 3.x only change. Having said that, pose built on a 4.0 system I have here with that change, so I assume it's benign. Then the build fails because of .h file inconsistencies. <sys/socket.h> on 3.x has the following prototype for getsockopt(); int getsockopt __P((int, int, int, void *, int *)); On 4.x, it's int getsockopt __P((int, int, int, void *, socklen_t *)); Notice that the type of the last parameter has changed. However, both 3.x and 4.x define a socklen_t type; typedef u_int32_t socklen_t; This looks like a bug in 3.x's socket.h. setsockopt() has a similar problem. During the build, gcc detects the signed/unsigned problem (socklen_t is unsigned, and is what pose uses, but getsockopt's final parameter is signed in 3.x) and aborts. Now I can kludge round this, first you have to remove patch-ab, then you need to edit /usr/include/sys/socket.h and comment out the definition of socklen_t while doing the build. That's enough to get pose built on 3.x. Obviously, this isn't acceptable as a general solution. Any ideas? N -- Internet connection, $19.95 a month. Computer, $799.95. Modem, $149.95. Telephone line, $24.95 a month. Software, free. USENET transmission, hundreds if not thousands of dollars. Thinking before posting, priceless. Somethings in life you can't buy. For everything else, there's MasterCard. -- Graham Reed, in the Scary Devil Monastery To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-ports" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20000523184656.A1760>