henkel%nepjt@ncsuvx.ncsu.edu (Chuck Henkel) (03/23/90)
Context: Sun386i 150XP SunOS 4.0.2 X11R4 with all fixes applied. Some defines in sun.cf and site.def: #define UseSunWindowsInServer YES /* link in SunWindows support? */ #define AllocateLocalDefines -DINCLUDE_ALLOCA_H #define SetTtyGroup YES #define InstallXinitConfig YES /* install sample xinit config */ The "pure-text" assertion fails when linking libXmu.so.4.0: cc -pic -c -DSHAREDCODE -DSUNSHLIB -O -I../../. <object>.c ... (cd shared; ld -o ../libXmu.so.4.0~ -assert pure-text <object list> ) ld: assert pure-text failed at d2a in CmapAlloc.o ld: assert pure-text failed at ecd in CmapAlloc.o And, even if it had linked correctly, when subsequently compiling mkfontdir, the command is: cc -o mkfontdir mkfontdir.o fontdir.o snf_util.o -O -Bstatic \ -L../.././lib/Xmu -lXmu -Bdynamic So it tries to dynamically link with libXmu, and when mkfontdir is later executed, it fails, of course, because the directory that libXmu resides in was not incorporated in ld.so.cache using ldconfig. (How was I supposed to know that beforehand, anyway?). Has anyone else confronted this problem? If anyone has succesfully compiled on a Sun386, would you mind sending me your site.def and sun.cf files? Incidentally, I tried to fix the problem by removing the "pure-text" assertion from the Imake rule "NormalSharedLibraryTarget", but the compilation still failed when it tried to execute mkfontdir even after I had run ldconfig: ../../.././fonts/mkfontdir/mkfontdir . ld.so: libXmu.so.4: not found *** Error code 127 Which, I suppose, makes sense if: 1) libXmu.so.4 is somehow invalid because it failes the pure-text assertion. -or- 2) You're supposed to run ldconfig if any shared library in the directory changes. In that case: *Why link mkfontdir dynamically!?* -- | Chuck Henkel | | | N.C. State University | Curious about evolution? | | Department of Nuclear Engineering | Read Stephen J. Gould. | | henkel%nepjt@ncsuvx.ncsu.edu | |