njw@doc.imperial.ac.uk (N J Williams) (06/25/91)
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.
gk5g+@ANDREW.CMU.EDU (Gary Keim) (06/25/91)
Excerpts from misc: 24-Jun-91 compiling patch10 on sun4, .. N J Williams@doc.imperia (2092+0) > 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: Yes, it is overriden by your site files. I believe all of what follows came from your site.mcr file: XUTILDIR=/usr/bin/X11 SYSTEM_H_FILE = sun4_41/system.h SYS_IDENT = sun4_41 SYS_OS_ARCH = sun_sparc The reason I think this is because if you look at the last few macros defined by sun4_41/system.mcr you see that they are: MALLOCALIGNMENT = 8 PICFLAG = -pic SHLIBLDFLAGS = -assert pure-text Can you send me your site files? I'd like to figure this out. Gary Keim ATK Group