logier@cheops.qld.tne.oz.au (Rob Logie) (04/08/91)
I have got the source for gated release2 from cornell. I am trying to make it under the UCB universe and it complains about not being able to find "memory.h" Has any one any ideas how to get around this (Pyramid seems to have memory.h only in the att universe. If I try to compile under ATT I get a whole new lot of problems) or better still if someone has some src/Makefile.* files that are configured correctly for the Pyramid I would be greatfull if you could mail them to me . I am using OSX 5.0. Thanks in Advance -- Rob Logie EMAIL: logier@cheops.qld.tne.oz.au Telecom Australia FAX: +61 7 837 4704 TNE Computer Support Services PH: +61 7 837 5174 Brisbane Office "These are my opinions alone"
keyvan@pyra.co.uk (Keyvan Shirnia Pre Sales) (04/09/91)
In article <1991Apr8.073344.2646@cheops.qld.tne.oz.au> logier@cheops.qld.tne.oz.au (Rob Logie) writes: >I am trying to make it under the UCB universe and it complains about >not being able to find "memory.h" > >Has any one any ideas how to get around this (Pyramid seems to have memory.h >only in the att universe. If I try to compile under ATT I get a whole new >lot of problems) or better still if someone has some src/Makefile.* files >that are configured correctly for the Pyramid I would be greatfull if you >could mail them to me . Well memory.h is only defined in ATT. (That is the definition) Some other operating systems might have memory.h in their UCB environment, but that is not true UCB! I am not quite sure what kind of errors your are getting. However, the first thing I would try out would be: (Type this in your ATT universe shell) cc -I/usr/.attinclude -I/usr/.ucbinclude gated.c -o gated /.ucblib/libc.a This line should pickup both the UCB and ATT include files. From the linking point of view, since you are already in ATT universe /.attlib/libc.a is automatically searched. But to be sure that you are not missing any UCB routines add /.ucblib/libc.a . If you got any more problems with this, PLEASE do send me an e-mail. Best regards, Keyvan -m------- Keyvan Shirnia Tel : +44 252 373035 ---mmm----- Pre Sales Support -----mmmmm--- Pyramid Technology Ltd. keyvan@pyra.co.uk -------mmmmmmm- Farnborough GU14 7NA, England. "God is real unless declared integer!"
kre@cs.mu.OZ.AU (Robert Elz) (04/12/91)
keyvan@pyra.co.uk (Keyvan Shirnia Pre Sales) writes: >Well memory.h is only defined in ATT. (That is the definition) Some other >operating systems might have memory.h in their UCB environment, but that >is not true UCB! That's an obsolete notion of what BSD is ... memory.h appeared in BSD in 4.3 (years ago). There's not supposed to be any noticeable difference between the BSD mem*() functions (which is what memory.h is all about) so you should be able to simply copy (or link) the ATT universe memory.h into the UCB universe on a pyramid. Unfortunately, I suspect that this may be just pushing the problem back one layer, as if memory.h isn't in pyramid's UCB universe, then its almost certain that the mem*() functions aren't in the libc in its UCB universe either. You may be able to get around that by linking with the ATT universe libc *after* the UCB universe libc - which means that you'll need to explicitly name that on the cc (or ld) command line, not just default to it. The BSD mem*() functions are supposed to be exact functional duplicates of the Sys V versions - though the true BSD versions don't make any pretence to be effecient - they were just added to make it easier to move Sys V progs to BSD, and in general improve compatability between the two). kre ps: I'm pretty sure of all of this, except what might work on the Pyramid, as I put all this stuff in BSD just before 4.3 was released.
rbj@uunet.UU.NET (Root Boy Jim) (04/13/91)
In article <kre.671424242@mundamutti.cs.mu.OZ.AU> kre@cs.mu.OZ.AU (Robert Elz) writes: >keyvan@pyra.co.uk (Keyvan Shirnia Pre Sales) writes: > >>Well memory.h is only defined in ATT. (That is the definition) Some other >>operating systems might have memory.h in their UCB environment, but that >>is not true UCB! > >That's an obsolete notion of what BSD is ... memory.h appeared in BSD >in 4.3 (years ago). I don't believe that it was in the original 4.3. At least it's not documented in the manual sets that you get from Usenix (or us). It may have been hidden away in some System V compatibility library directory in the source tree, however. In any case, it's certainly been available for quite some time. The Tahoe version has a copyright date of 85/08/05, which predates 4.3. It appears that vendors who chase dual universes can't keep up with either one. Sequent does just as bad of a job. >You may be able to get around that by linking with the ATT universe libc >*after* the UCB universe libc - which means that you'll need to explicitly >name that on the cc (or ld) command line, not just default to it. Perhaps I wasn't explicit enuf. Sequent lets you mix and match. Pyramid, on the other hand, puts a reference to either __ucblibc_Id_ or __attlibc_Id in every object in the library, except for version.o, which defines same. So yes, you can use both librarys. I just ran the following program main(){printf("memcmp(\"foo\",\"bar\") = %x\n",memcmp("foo","bar"));} with the command line: cc -o qaz qaz.c -lc /.attlib/libc.a The answer, btw, is 4. I suppose I can pull out both version.o and add them to each library along with anything else I want to cross-pollenate. -- [rbj@uunet 1] stty sane unknown mode: sane