home *** CD-ROM | disk | FTP | other *** search
/ InfoMagic Source Code 1993 July / THE_SOURCE_CODE_CD_ROM.iso / gnu / lucid / help-lucid-emacs / text0571.txt < prev    next >
Encoding:
Text File  |  1993-07-14  |  4.0 KB  |  108 lines

  1. In article <9306241745.AA07003@jekyll.al.alcoa.com>
  2. mlh@ncf.al.alcoa.com (Mike Harper) writes:
  3.  
  4. > Do you know of anyone who has already done the dirty work of
  5. > building the necessary files for the HP700?
  6.  
  7. I built Lucid Emacs 19.6 on a HP9000/755 with HP-UX 9.01 using HP's
  8. unbundled C compiler.
  9.  
  10. There was no need to change the s- and m- (!) header files at all. I
  11. did change config.h in some points:
  12.   - commented out the USE_GCC #define 
  13.   - included s/s-hpux8.h and m/m-hp9000s800.h
  14.   - #define'd SYSTEM_MALLOC (no GNU malloc available)
  15.   - added our weird locations for X and Xpm libraries to the linker
  16.     path via LD_SWITCH_SITE
  17.   - same for the includes in C_SWITCH_SITE
  18.  
  19. The compiler then did not accept the cast of an argument to pstat() in
  20. fns.c (although I don't understand *why* not), so I changed it:
  21.  
  22. *** fns.c       Tue Mar 30 16:15:10 1993
  23. --- /usr/local/tmp/lemacs-19.6/src/fns.c        Mon Jun 21 12:08:29 1993
  24. ***************
  25. *** 1555,1568 ****
  26.         }
  27.       }
  28.   #else  /* not VMS */
  29.   
  30.   #ifdef HAVE_HPUX_PSTAT
  31. !     pstat(PSTAT_DYNAMIC,(union pstun)&pst_dyn,sizeof(pst_dyn),0,0);
  32.       load_ave[0] = pst_dyn.psd_avg_1_min;
  33.       load_ave[1] = pst_dyn.psd_avg_5_min;
  34.       load_ave[2] = pst_dyn.psd_avg_15_min;
  35.   #else /* HAVE_HPUX_PSTAT */
  36.     /*
  37.      *  4.2BSD UNIX-specific code -- read _avenrun from /dev/kmem
  38.      */
  39.   
  40. --- 1555,1574 ----
  41.         }
  42.       }
  43.   #else  /* not VMS */
  44.   
  45.   #ifdef HAVE_HPUX_PSTAT
  46. ! { 
  47. !     union pstun pstun ;
  48. !     pstun.pst_dynamic = &pst_dyn ;
  49. !     pstat(PSTAT_DYNAMIC,pstun,sizeof(pst_dyn),0,0);
  50.       load_ave[0] = pst_dyn.psd_avg_1_min;
  51.       load_ave[1] = pst_dyn.psd_avg_5_min;
  52.       load_ave[2] = pst_dyn.psd_avg_15_min;
  53. + }
  54.   #else /* HAVE_HPUX_PSTAT */
  55.     /*
  56.      *  4.2BSD UNIX-specific code -- read _avenrun from /dev/kmem
  57.      */
  58.   
  59.  
  60. The next problem was the linking stage, where the xmakefile wants to
  61. link temacs with cc. This results in several symbols being multiply
  62. defined, since cc links crt0.o in the first place, but crt0.o also
  63. appears in the argument list. So I patched xmakefile to use LD=ld and
  64. to set up the LDFLAGS appropriately for the ld command:
  65.     "LDFLAGS= -a archive -L/usr/lib/..." [etc.]
  66.  
  67. Another problem were xpm.h and libXpm.h, which don't seem to be
  68. installed by default with HP-UX 9.0. (The same seems to be true for
  69. SunOS 4.1.2, btw.)  At last I found these files in our local Tcl/Tk
  70. installation.
  71.  
  72. There may have been more difficulties, but this is what I remember.
  73. Things may different when compiling with gcc, I didn't try that.
  74.  
  75. Lemacs seems to run fine, except that it sometimes hangs for a while
  76. and then dumps core due to a segmentation violation. Fortunately this
  77. is rare enough not to annoy me too much.
  78.  
  79. This is the backtrace from xdb:
  80.  
  81.  0 fatal_error_signal + 0x000000a4 (0, 0, 0x10d8f7, 0)
  82.  1 _sigreturn (0, 0, 0, 0)
  83.  2 pixel_to_glyph_translation + 0x00000134 (0, 0, 0, 0)
  84.  3 event_pixel_translation + 0x00000110 (0x4001160d, 0x40076c00, 0x1, 0x40133374)
  85.  4 Fevent_window + 0x0000002c (0x7b033ab0, 0x37418, 0x40076c00, 0x400b8ba0)
  86.  5 Fkey_binding + 0x00000070 (0x7b033ab8, 0x401ac730, 0x402e3010, 0x1)
  87.  6 command_builder_find_leaf + 0x00000128 (0x402ea158, 0, 0x682e3010, 0)
  88.  7 compose_command + 0x00000054 (0x402e3010, 0x407e72c, 0x40075c00, 0x40079c00)
  89.  8 dispatch_event_internal + 0x0000006c (0xc08149c, 0x407e754, 0x1, 0x40079c00)
  90.  9 Fdispatch_event + 0x00000054 (0, 0x7b033990, 0, 0x10)
  91. 10 command_loop_1 + 0x0000017c (0x7b033830, 0x7b033848, 0x116800, 0x4008b948)
  92. 11 condition_case_1 + 0x000000dc (0, 0, 0x40011670, 0x40079c00)
  93. 12 command_loop_2 + 0x0000004c (0x7b033640, 0x7fffffff, 0x27, 0x134)
  94. 13 internal_catch + 0x00000094 (0, 0xa100000, 0x40080340, 0x40080330)
  95. 14 command_loop + 0x00000084 (0x4001160d, 0xa100000, 0x40011670, 0x40079c00)
  96. 15 recursive_edit_1 + 0x00000050 (0x4001160d, 0xa100000, 0x40011670, 0x40079c00)
  97. 16 Frecursive_edit + 0x000000ac (0, 0, 0, 0)
  98. 17 main + 0x000005a0 (0, 0, 0, 0)
  99.  
  100. I haven't explored xdb enough yet to get more out of it, and gdb (4.6)
  101. won't even accept the file as an executable. Sigh.
  102.  
  103. --
  104. Juergen Nickelsen
  105.  
  106.