home *** CD-ROM | disk | FTP | other *** search
/ NetNews Usenet Archive 1992 #20 / NN_1992_20.iso / spool / alt / lucidem / help / 403 < prev    next >
Encoding:
Text File  |  1992-09-10  |  10.2 KB  |  316 lines

  1. Newsgroups: alt.lucid-emacs.help
  2. Path: sparky!uunet!nestroy!news-mail-gateway
  3. From: franks@ntu.ac.SG (Frank Siebenlist)
  4. Subject: 19.3 installation on decstation/ultrix4.2 with native cc
  5. Message-ID: <9209110328.AA00345@ntu.ac.sg>
  6. Sender: franks%ntu.ac.sg@lucid.com
  7. Organization: WU Mail/News Gateway
  8. Date: Fri, 11 Sep 1992 19:17:41 GMT
  9. Lines: 305
  10.  
  11.  
  12. Find attached the descriptions of three problems 
  13. with work-arounds (sigh...) and the used config.h.
  14.  
  15. First impression of 19.3:
  16. installation "somewhat" easier than 19.2, 
  17. colour-version doesn't bomb anymore on MacX1.1.7,
  18. popup menus stay on the (visible) screen!,
  19. more defined menus (be careful, emacs might become user friendly...),
  20. no scrollbars yet (hint, hint, hint....)
  21. great job, THANKS.
  22. Rgds, Frank.
  23.  
  24. ps. Is there any site keeping split files of the distribution?
  25.     (it is still kind of a miracle to ftp 8MB across the pacific in one go)
  26.  
  27. ____________________________________________________________________________
  28. 1. src/lwlib/lwlib.c wouldn't compile:
  29.  
  30. ******
  31. cc -c -O -Wf,-XNh2000 -Olimit 2000 -I/usr/include/mit -I/usr/include       
  32. -DUSE_LUCID lwlib.c
  33. ccom: Error: lwlib.c, line 400: syntax error
  34.             char* real_name = (char*) __builtin_alloca (length + 2);
  35.       ---------------------------------------------------------^
  36. ******
  37. The compiler is not very descriptive, but the offending line reads:
  38.  
  39.       char* real_name = (char*)alloca (length + 2);
  40.  
  41. Not sure what is wrong with that (?), 
  42. kind of odd that the compiler expands the macro in the error message (??),
  43. guiding the compiler step by step thru the compilation process worked
  44. (???):
  45.  
  46.       char* real_name;
  47.       length = length + 2;
  48.       real_name = (char*)alloca (length);
  49.  
  50. ____________________________________________________________________________
  51. 2. src/gmalloc.c wouldn't compile:
  52.  
  53. ******
  54. cc -g   -I/usr/include/mit -Demacs  -I./lwlib   -c gmalloc.c -o gmalloc.o
  55. ccom: Error: /usr/include/stdio.h, line 92: illegal type combination
  56.       typedef unsigned int    unsigned int;        
  57.       -------------------------------------^
  58. ccom: Error: gmalloc.c, line 1241: redeclaration of old_free_hook
  59.       static void (*old_free_hook) ();
  60.       -------------------------------^
  61. ccom: Error: gmalloc.c, line 1242: redeclaration of old_malloc_hook
  62.       static char *(*old_malloc_hook) ();
  63.       ----------------------------------^
  64. ccom: Error: gmalloc.c, line 1243: redeclaration of old_realloc_hook
  65.       static char *(*old_realloc_hook) ();
  66.       -----------------------------------^
  67. ******
  68. The gmalloc.c which came with 19.2 had no problem but seems "very"
  69. different.
  70. 19.3 seems to work with the 19.2 version of gmalloc.c though,
  71. but there must be a reason for having a new version (?),
  72. so I decided not to use gmalloc at all but the system's one.
  73. ____________________________________________________________________________
  74. 3. Changed ymakefile:
  75.  
  76. original reads:
  77.  
  78.   #define LIBS_TERMCAP -lcurses
  79.  
  80. had to add two more libs:
  81.  
  82.   #define LIBS_TERMCAP -lcurses -ltermcap -lcursesX
  83.  
  84. 19.2 core-dumped when curses was substituted by cursesX (?), 
  85. haven't tried it yet for 19.3.
  86. ____________________________________________________________________________
  87. 4. config.h:
  88.  
  89. /* Allow Emacses larger than 16 megabytes.  */
  90.  
  91. #ifndef VALBITS
  92. #define VALBITS 26
  93. #define GCTYPEBITS 5
  94. #endif
  95.  
  96. /* Define USE_GCC to compile with GCC.
  97.    Define USE_LCC to compile with Lucid C.
  98.    Otherwise, "cc" will be used.
  99.    You -must- use an ANSI C compiler.
  100.    This has to come before include the m- file.
  101.  */
  102.  
  103. /* #define USE_GCC */
  104. /* #define USE_LCC */
  105.  
  106. /* Include here a s- file that describes the system type you are using.
  107.    See the file ../etc/MACHINES for a list of systems and the names of
  108.    the s- files to use for them.  See s-template.h for documentation on 
  109.    writing s- files.
  110.  */
  111. #include "s/s-bsd4-3.h"
  112.  
  113. /* Include here a m- file that describes the machine and system you use.
  114.    See the file ../etc/MACHINES for a list of machines and the names of 
  115.    the m- files to use for them.   See m-template.h for info on what m- 
  116.    files should define.
  117.  */
  118. #include "m/m-pmax.h"
  119.  
  120. /* Load in the conversion definitions if this system
  121.    needs them and the source file being compiled has not
  122.    said to inhibit this.  There should be no need for you
  123.    to alter these lines.  */
  124.  
  125. #ifdef SHORTNAMES
  126. #ifndef NO_SHORTNAMES
  127. #include "../shortnames/remap.h"
  128. #endif /* not NO_SHORTNAMES */
  129. #endif /* SHORTNAMES */
  130.  
  131. /* Define HAVE_X_WINDOWS if you want to use the X window system.  */
  132. #define HAVE_X_WINDOWS
  133.  
  134. #ifdef HAVE_X_WINDOWS
  135. #ifndef MULTI_SCREEN
  136. #define MULTI_SCREEN
  137. #endif
  138. #endif
  139.  
  140. /* Define `subprocesses' if you want to have code for asynchronous
  141.    subprocesses (as used in M-x compile and M-x shell).  These do not
  142.    work for some USG systems yet; for the ones where they work, the
  143.    s-*.h file defines this flag.  */
  144.  
  145. #ifndef VMS
  146. #ifndef USG
  147. #define subprocesses
  148. #endif
  149. #endif
  150.  
  151. /* Define USER_FULL_NAME to return a string
  152.    that is the user's full name.
  153.    It can assume that the variable `pw'
  154.    points to the password file entry for this user.
  155.  
  156.    At some sites, the pw_gecos field contains
  157.    the user's full name.  If neither this nor any other
  158.    field contains the right thing, use pw_name,
  159.    giving the user's login name, since that is better than nothing.  */
  160.  
  161. #define USER_FULL_NAME pw->pw_gecos
  162.  
  163. /* Define AMPERSAND_FULL_NAME if you use the convention
  164.    that & in the full name stands for the login id.  */
  165.  
  166. /* #define AMPERSAND_FULL_NAME */
  167.  
  168. /* Define HIGHPRI as a negative number if you want Emacs to run at a higher
  169.    than normal priority.  For this to take effect, you must install it as
  170.    setuid root. */
  171.  
  172. /* #define HIGHPRI */
  173.  
  174. /* support `getenv' and `setenv' in Emacs (unix only) */
  175. #define MAINTAIN_ENVIRONMENT
  176.  
  177. /* Define LISP_FLOAT_TYPE if you want emacs to support floating-point
  178.    numbers. */
  179.  
  180. #define LISP_FLOAT_TYPE
  181.  
  182. /* Define GNU_MALLOC if you want to use the *new* GNU memory allocator.
  183.    If you have trouble with _malloc being multiply-defined, or if you're
  184.    on a NeXT (or possibly MACH in general) comment out the next four lines.
  185.  */
  186.  
  187. /*
  188. #ifdef SYSTEM_MALLOC
  189. #undef SYSTEM_MALLOC
  190. #endif
  191. #define GNU_MALLOC
  192. */
  193.  
  194. /* Define NEED_STRDUP if your system doesn't have a strdup() function.
  195.    Define NEED_REALPATH if your system does not include a realpath()
  196. function.
  197.    If you system doesn't have the fmod() function, then you need to define
  198.    either HAVE_DREM or HAVE_REMAINDER, as appropriate.
  199.  
  200.    These flags really should be in the appropriate s- file, so if you need 
  201.    to do this, let us know and we'll put them there in the next release.
  202.  */
  203. #define NEED_STRDUP
  204. #define NEED_REALPATH
  205. /* #define HAVE_DREM */
  206. /* #define HAVE_REMAINDER */
  207.  
  208.  
  209. /* Define REL_ALLOC if you want to use the relocating allocator for
  210.    buffer space.  (There are too many problems with this right now.) */
  211.  
  212. /* #define REL_ALLOC */
  213.  
  214. /* Non-Lucid sites can't compile with Energize support yet */
  215. /* #define ENERGIZE */
  216.  
  217. /* You should define LWLIB_HAS_EXTENSIONS if and only if the lwlib
  218. Imakefile
  219.    had INCLUDE_EXTENSIONS defined.  This makes it possible to link
  220. arbitrary
  221.    other widgets into the Emacs frame; Energize requires this.  The only
  222.    reason you would not want this defined is if you couldn't get lwlib to
  223.    compile this way because you don't have read-access to the X source
  224. tree.
  225.    See also LWLIB_USES_MOTIF and LWLIB_USES_OLIT, below.
  226.  */
  227. #ifdef ENERGIZE
  228. #define LWLIB_HAS_EXTENSIONS
  229. #endif
  230.  
  231. /* Sun SparStations and SGI machines have support for playing different
  232. sound
  233.    files as beeps.  If you are on a SparcStation but do not have the sound 
  234.    option installed for some reason (It's usually in /usr/demo/SOUND/) then
  235.    undefine USE_SOUND.
  236.  */
  237. /* #undef USE_SOUND */
  238.  
  239.  
  240. /* Compile in support for running emacs directly from temacs (useful for
  241.    debugging emacs) */
  242. #define RUNNABLE_TEMACS
  243.  
  244.  
  245. #ifdef THIS_IS_YMAKEFILE
  246.  
  247. /* If you have defined USE_MOTIF in the lwlib Imakefile, then you must
  248. define
  249.    LWLIB_USES_MOTIF here.  Similarly, if you have defined USE_OLIT in the
  250.    lwlib Imakefile, you must define LWLIB_USES_OLIT here.  This is because
  251.    emacs must be linked with the Motif or OpenLook libraries if lwlib has
  252.    been configured to use them.  (Note: you cannot define both.)
  253.  */
  254. /* #define LWLIB_USES_MOTIF */
  255. /* #define LWLIB_USES_OLIT */
  256.  
  257.  
  258. /* Define LD_SWITCH_SITE to contain any special flags your loader may
  259.    need.  For instance, if you've defined HAVE_X_WINDOWS above and your
  260.    X libraries aren't in a place that your loader can find on its own,
  261.    you might want to add "-L/..." or something similar.  */
  262.  
  263. /* #define LD_SWITCH_SITE -L/x11r4/usr.`arch`/lib */
  264.  
  265.  
  266. /* Define C_SWITCH_SITE to contain any special flags your compiler may
  267.    need.  For instance, if you've defined HAVE_X_WINDOWS above and your
  268.    X include files aren't in a place that your compiler can find on its
  269.    own, you might want to add "-I/..." or something similar.  */
  270.  
  271. /* #define C_SWITCH_SITE -I/cadillacgnu/gcc-include -I/x11r4/usr/include */
  272.  
  273. #define C_SWITCH_SITE -I/usr/include/mit
  274.  
  275. #ifdef USE_GCC
  276. /* Depending on how GCC is installed, you may need to add the gcc library
  277.    here.  This could also go in LD_SWITCH_SITE.  If you get errors about
  278.    __fixunsdfsi or__main being undefined, you probably need to do this. */
  279.  
  280. /* #define LIB_GCC /cadillacgnu/lib/sun4/gcc-gnulib */
  281.  
  282. #endif /* USE_GCC */
  283.  
  284.  
  285. /* If you are using SunOS 4.1.1 and X11r5, then you need this patch.
  286.    There is a stupid bug in the SunOS libc.a: two functions which X11r5
  287.    uses, mbstowcs() and wcstombs(), are unusable when programs are
  288.    statically linked (as Emacs must be) because the static version of
  289.    libc.a contains the *dynamic* versions of these functions.  These
  290.    functions don't seem to be called when Emacs is running, so it's 
  291.    enough to define stubs for them.
  292.  
  293.    This appears to be fixed in SunOS 4.1.2.
  294.  
  295.    Also, SunOS 4.1.1 contains buggy versions of strcmp and strcpy that
  296.    sometimes reference memory past the end of the string, which can segv.
  297.  */
  298. #ifdef sparc
  299. #define OBJECTS_SYSTEM sunOS-fix.o strcmp.o strcpy.o
  300. #endif
  301.  
  302.  
  303. #endif /* THIS_IS_YMAKEFILE */
  304.  
  305. ____________________________________________________________________________
  306. if you really want to know...
  307.  
  308. Frank Siebenlist                             Email: franks@imt.ntu.ac.sg
  309. Institute of Manufacturing Technology (IMT)    Tel: (65) 799-1336
  310. Nanyang Technological University (NTU)         Fax: (65) 791-2927
  311. Nanyang Avenue
  312. Singapore 2263
  313.  
  314.  
  315.  
  316.