Path: utzoo!utgpu!news-server.csri.toronto.edu!cs.utexas.edu!sdd.hp.com!zaphod.mps.ohio-state.edu!cis.ohio-state.edu!ucbvax!doc.imperial.ac.uk!njw From: njw@doc.imperial.ac.uk (N J Williams) Newsgroups: comp.soft-sys.andrew Subject: compiling patch10 on sun4, sunos4.1.1 Message-ID: Date: 24 Jun 91 17:38:13 GMT Sender: daemon@ucbvax.BERKELEY.EDU Organization: The Internet Lines: 63 Well, here we go. When compiling patch10 on a sun4 machine which is running sunos 4.1.1: building (dependInstall) (/a/beauty/home/theory/andrew/sun4/build/overhead/class/machdep/sun_s parc) the file global.o is not created in shared library form (at least, it is not placed in the 'shared' directory. However, later on: building (dependInstall) (/a/beauty/home/theory/andrew/sun4/build/overhead/class/lib) [...] ld -assert pure-text -o libclass.a shared/class.o classproc.o ../machdep/machine/entry.o \ ../machdep/machine/shared/doload.o shared/mapping.o \ shared/classind.o ../machdep/machine/shared/globals.o ld: ../machdep/machine/shared/globals.o: No such file or directory *** Error code 4 This ain't good. Thinking that maybe it isn't supposed to be in 'shared' (as entry.o is not), I changed the local Makefile to reference ../machdep/machine/globals.o. This failed badly with the assert pure-text complaining. I assume this means that it needs munging into position independent code. Looking further into this, the directory ../machdep/machine is a symlink to ../machdep/sun_sparc. This *should* be sun_sparc_41 surely... In the Makefile, SYS_OS_ARCH=sun_sparc_41 is set from the macro file, but this is overriden to be sun_sparc later on: # End of what comes from the allsys.mcr file # MALLOCALIGNMENT = 8 PICFLAG = -pic SHLIBLDFLAGS = -assert pure-text XUTILDIR=/usr/bin/X11 SYSTEM_H_FILE = sun4_41/system.h SYS_IDENT = sun4_41 SYS_OS_ARCH = sun_sparc # # The following is from the allsys.mcr file, and may be over-ridden [...] I removed this second definition of SYS_OS_ARCH, redid the makefiles and redid the make of the machdep and lib directories and it all hummed along happily. So... somehow, this second (and wrong) definition is creeping in from somewhere. I dunno how. Any clues? Nick. (BTW, same directory (class/lib): "class.c", line 594: warning: illegal pointer combination I don't know how religious ITC is about removing these...) Nick Williams, Dept of Computing, Imperial College, London, UK.