From mboxrd@z Thu Jan 1 00:00:00 1970 Message-Id: <200406141130.i5EBUoJ13665@zamenhof.cs.utwente.nl> To: Fans of the OS Plan 9 from Bell Labs <9fans@cse.psu.edu> Subject: Re: [9fans] any success with current plan9port on sunos5.8? In-reply-to: Your message of "Mon, 14 Jun 2004 10:05:23 +0000." References: <200406111351.i5BDpUU20806@plg2.math.uwaterloo.ca> From: Axel Belinfante MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-ID: <13661.1087212650.1@zamenhof.cs.utwente.nl> Date: Mon, 14 Jun 2004 13:30:50 +0200 Topicbox-Message-UUID: 9cc38724-eacd-11e9-9e20-41e7f4b1d025 Bengt wrote: > Richard C Bilson wrote: > > > Well, I had to comment out some stuff that doesn't work and rename a > > few symbols, but in large part it works. I believe Bengt already > > described most of these problems. I'm typing this in acme right now. > > > > it has to be added that i only got things to compile. i can not get the > graphical programs (sam, acme, 9term) to work. the window appears, but > there is no content. a working acme is much better result than i > managed. congratulations. Just to make sure you do not have the same problem as I had: check which *yield* symbols are present in your non-working binary, do something like nm o.acme |grep yield If you have both p9yield and yield you likely have the same problem. in the same way, try (typing path from memory) nm $PLAN9/src/libthread/fdwait.o | grep yield that is where my problem originated. Fix it by recompiling fdwait.c such that the yield() call in that file gets #define'ed to p9yield, so there is no reference any more to the sunos system library yield routine. My fix was: ; cvs diff fdwait.c Index: fdwait.c =================================================================== RCS file: /cvs/plan9/src/libthread/fdwait.c,v retrieving revision 1.8 diff -r1.8 fdwait.c 1c1 < #define NOPLAN9DEFINES --- > //#define NOPLAN9DEFINES This is to make sure that the following workaround to deal with the yield name clash has the right effect. Index: thread.h =================================================================== RCS file: /cvs/plan9/include/thread.h,v retrieving revision 1.9 diff -r1.9 thread.h 124c124,128 < int yield(void); --- > int p9yield(void); > #ifndef NOPLAN9DEFINES > #define yield p9yield > #endif > Looking at it now, I guess a different (better?!?) solution might be to simply remove the #ifndef NOPLAN9DEFINES and #endif lines from around above #define in thread.h . Axel.