lat@snoopy.cs.vt.edu (Laurie Zirkle) (05/15/91)
I am trying to get ATT C++ 2.1 to compile/install on a DECstation 5000/200 running Ultrix 4.1. I do not currently have a CC translator that I can use to port the sucker, but on previous versions of Ultrix, I could use the BSD instructions and get it installed. The problem I am running into is when the lib/stream stuff is being compiled - it complains about memcpy(). I can furnish more information to anyone that could help me. Laurie Zirkle internet: lat@vtopus.cs.vt.edu Computer Systems Engineer bitnet: lat@vtcs1.cs.vt.edu Computer Science VPI&SU, Blacksburg, VA 24061
pauld@stowe.cs.washington.edu (Paul Barton-Davis) (05/17/91)
In article <1225@creatures.cs.vt.edu> lat@snoopy.cs.vt.edu (Laurie Zirkle) writes: > >I am trying to get ATT C++ 2.1 to compile/install on a DECstation 5000/200 >running Ultrix 4.1. I do not currently have a CC translator that I can >use to port the sucker, but on previous versions of Ultrix, I could >use the BSD instructions and get it installed. The problem I am running >into is when the lib/stream stuff is being compiled - it complains about >memcpy(). I can furnish more information to anyone that could help me. > There is a stupid error in the memory.h/iostream.h headers that comes with 2.1. The template or memory.h gives a list of OS'es that it should be used with, and bsd2 is not one of them. iostream.h, on the other hand, *always* references memory.h. The solution is to change the os list for memory.h to "all". If you port to systems other than Ultrix, you may need to use the alliant block that redefines memcpy etc. in terms of bcopy - many 4.2 BSD systems only have the latter. AT&T should fix this one. Also, Ultrix defines clock() as returning clock_t, whereas as C++ 2.1's stdlib defines it as returning long. This needs fixing too. I had so many minor gripes that for each new OS I've ported it too (Ultrix and dynix so far), I defined a new OS name. I'm also working on redoing the awful makefiles AT&T distribute. Its not that they don't work, but they are very difficult to modify to allow compilation on different systems with the same file. Imake, here we come .... Good to see that commercial source distributions are not really much different from net code :-) When all is said and done, you can bring up 2.1 from scratch on Ultrix (and Dynix). -- Paul Barton-Davis <pauld@cs.washington.edu> UW Computer Science Lab "People cannot cooperate towards common goals if they are forced to compete with each other in order to guarantee their own survival."