home *** CD-ROM | disk | FTP | other *** search
/ NetNews Usenet Archive 1992 #16 / NN_1992_16.iso / spool / comp / lang / tcl / 1023 < prev    next >
Encoding:
Text File  |  1992-07-22  |  14.2 KB  |  426 lines

  1. Newsgroups: comp.lang.tcl
  2. Path: sparky!uunet!convex!news.utdallas.edu!corpgate!bnrgate!bgtys9!tewei
  3. From: tewei@bnr.ca (Te-Wei Sun)
  4. Subject: Problem in installations for tclX6.2b
  5. Message-ID: <1992Jul22.132705.10326@bnr.ca>
  6. Keywords: tclX installations
  7. Sender: news@bnr.ca
  8. Reply-To: tewei@bnr.ca (Te-Wei Sun)
  9. Organization: Bell-Northern Research, Ottawa, Ontario, CANADA
  10. Distribution: comp.lang.tcl
  11. Date: Wed, 22 Jul 92 13:27:05 GMT
  12. Lines: 412
  13.  
  14.  
  15. Hi,
  16.  
  17. I am trying to install tclX6.2b to tk2.1 on Sparc station, which runs
  18. on SunOS 4.1.1.
  19.  
  20. Everything went well until tcl executable is being created. The linker
  21. does not seem to be able to find 'mcount'. (undefined symbol).
  22.  
  23. I have run the config file come with tk2.1. The hierarchy of the 
  24. directories is: tk2.1/tcl/extended. (I believe that's what I am supposed
  25. to do.)
  26.  
  27. I would also like to have tk2.1 interfacing with C++.
  28. (I have tried to set CPLUSOBJS=tcl++.o.  However, I don't know how tcl++.o
  29. can be created.)
  30.  
  31. Attached below is a copy of my Config.mk for tclX6.2b.
  32.  
  33. Any comment is deeply appreciated.
  34.  
  35. It would also be great if someone can give me some hint about interfacing
  36. tk2.1 with C++.
  37.  
  38. Thank you in anticipation.
  39.  
  40.  
  41. #
  42. # Configuration section.  Modify this section to set some general options and
  43. # selecting a section for a specific Unix implementation.
  44. #
  45. #==============================================================================
  46.  
  47. #------------------------------------------------------------------------------
  48. # Location of the UCB Tcl distribution relative to this directory.  TclX works
  49. # with either Tcl 6.1 or Tcl 6.2.
  50. #
  51. #TCL_UCB_DIR=../tcl6.1
  52. TCL_UCB_DIR=../
  53.  
  54. #------------------------------------------------------------------------------
  55. # If you are a Tk user and would like to build a version "wish", the Tk shell,
  56. # that includes the TclX command set, define TCL_TK_SHELL=wish and the
  57. # location of your Tk directory in TCL_TK_DIR relative to this directory. If you
  58. # do not want a "wish" compiled, don't define TCL_TK_SHELL. The libraries
  59. # required to link Tk are defined in the system specific sections below.
  60. #
  61. TCL_TK_SHELL=wish
  62. TCL_TK_DIR=/bnr/tcl/tk2.1
  63.  
  64. #------------------------------------------------------------------------------
  65. # Compiler debug/optimization/profiling flag to use.  Not that if debugging or
  66. # profiling is enabled, the DO_STRIPPING option below must be disabled.
  67. #
  68. OPTIMIZE_FLAG=-O
  69.  
  70. #------------------------------------------------------------------------------
  71. # Stripping of the final tclshell binary.  Specify `true' if the binary is to
  72. # be stripped (optimized case) or specify `false' if the binary is not to be
  73. # stripped (debugging case).
  74. #
  75. DO_STRIPPING=true
  76.  
  77. #------------------------------------------------------------------------------
  78. # Enable or disable Tcl history in the Tcl flag.  If this macro is set to
  79. # '-DTCL_NOHISTORY', the `history' command will not be available in the Tcl
  80. # shell.  Many people do not find the history command useful and its rather
  81. # large, so this way it can be excluded from the standard shell.  It will
  82. # still be in the library and will be available in other applications if they
  83. # use `Tcl_RecordAndEval'.
  84. #
  85. HISTORY_FLAG=
  86.  
  87. #------------------------------------------------------------------------------
  88. # If C++ is to be used these should be used.  Specifying CPLUSOBJS includes the
  89. # C++ support code in the Tcl library. CCPLUS is the command to run your C++
  90. # compiler. CPLUSINCL is the location of your standard C++  include files.
  91. #
  92. #CPLUSOBJS=tcl++.o
  93. CCPLUS=CC
  94. CPLUSINCL=/usr/include/CC
  95.  
  96. #------------------------------------------------------------------------------
  97. # Memory debugging defines.  These are only of interest if you are adding C
  98. # code to Tcl or debugging Tcl C code.  They help find memory overwrites and
  99. # leaks.  One or more of the following flags may be specified (in the form
  100. # -DFLAGNAME).
  101. #
  102. #    o TCL_MEM_DEBUG - Turn on memory debugging. 
  103. #    o TCL_SHELL_MEM_LEAK - Dump a list of active memory blocks when the
  104. #      shell exits an eof (requires TCL_MEM_DEBUG).
  105. #
  106. # NOTE: If TCL_MEM_DEBUG is enabled, the Berkeley Tcl distribution must be 
  107. # recompiled with this option as well, or it will not link.  In addition a flag
  108. # MEM_VALIDATE may be specified in the Berkeley Tcl compilation to do
  109. # validation of all memory blocks on each allocation or deallocation (very
  110. # slow).
  111. #
  112. MEM_DEBUG_FLAGS=
  113.  
  114. #==============================================================================
  115. # Install options sections.  This sections describes the installation options.
  116. # Some of the actual values are set under each system definition in the
  117. # system dependent section.  Your might want to change some of these values
  118. # before installing.
  119. #..............................................................................
  120. #
  121. # o TCL_OWNER - The user that will own all Tcl files after installation.
  122. #   (system dependent)
  123. # o TCL_GROUP - The group that all Tcl files will belong to after installation.
  124. #   (system dependent)
  125. # o TCL_DEFAULT - Base name of Tcl default file.  This name will have a
  126. #   version number appended.  (system dependent)
  127. #
  128.  
  129. #
  130. # The directory to install Tcl binary into.
  131. #
  132. TCL_BINDIR=/bnr/tcl/tk2.1/tcl
  133.  
  134. #
  135. # The directory tcl.a library goes into.
  136. #
  137. TCL_LIBDIR=/bnr/tcl/tk2.1/tcl
  138.  
  139. #
  140. # The directory the Tcl .h files go into.
  141. #
  142. TCL_INCLUDEDIR=/bnr/tcl/tk2.1/tcl
  143.  
  144. #
  145. # The directory .tcl files and the .tlib library goes into.
  146. #
  147. TCL_TCLDIR=/usr/local/lib/tcl
  148.  
  149. #==============================================================================
  150. # This section defines where and how the manual pages are to be installed.
  151. # This is somewhat problematic, so a global option not to install manual pages
  152. # is provided. Since there are so many manual pages provided, they are placed
  153. # together in one Tcl manual page directory, rather than splitting into the
  154. # standard manual pages directories.  The actual definitions of these variables
  155. # are set for in the system dependent section.  You might want to modify these
  156. # values.
  157. #..............................................................................
  158.  
  159. #
  160. # Set to 1 to install manual files, to 0 to not install manual files.
  161. #
  162.  
  163. TCL_MAN_INSTALL=1
  164.  
  165. # o TCL_MAN_BASEDIR - Base manual directory where all of the man.* and cat.*
  166. #   directories live.
  167. # o TCL_MAN_CMD_SECTION - Section for Tcl command  manual pages. Normal `1' or
  168. #   `C'.
  169. # o TCL_MAN_FUNC_SECTION - Section for Tcl C level function manual pages.
  170. #   In some cases it might be desirable install all manual pages in one
  171. #   section, in this case, the value should be the same as TCL_MAN_CMD_SECTION.
  172. # o TCL_MAN_SEPARATOR - The separator character used in the directory name
  173. #   of the cat* and man* manual directories.  This is usually empty or 
  174. #   a period.
  175. # o TCL_MAN_STYLE - The style of manual management the system has.  It is
  176. #   a string with one of the following values:
  177. #      o SHORT - Short file name installation (an index can be generated).
  178. #      o LONG - Long file name installation, a link will be made for each
  179. #        name the manual page is to be available under.
  180. # o TCL_MAN_INDEX - If 1, then a manual page index will be build in the manual
  181. #   base directory named index.TCL. Not useful if TCL_MAN_STYLE is LONG. Each
  182. #   line in the file has the form:
  183. #       mansubject manfile section
  184. # o TCL_MAN_INDEX_MERGE - If 1, then the manual index will be merged with the
  185. #   an index file named `index' in the manual base directory.  The old index
  186. #   will be backed up in a file named `index.bak'.
  187.  
  188. #==============================================================================
  189. # System specific configuration.  Comment out the section of defines that are
  190. # required for your version of Unix.  In addition to the options defined in the
  191. # Berkeley source the following options can be defined here.  This information
  192. # will help you build your own system configuration if one is not supplied
  193. # here.
  194. #
  195. #    o SYS_DEP_FLAGS - The system dependency flags.  The following options are
  196. #      available, these should be defined using -Dflag.
  197. #
  198. #      o TCL_HAVE_SETLINEBUF - Define if the `setlinebuf' is available as part
  199. #        of stdio.
  200. #      o TCL_32_BIT_RANDOM - Define if the `rand' function returns a value in
  201. #        the range 0..(2^31)-1, leave undefined if `rand' returns a value
  202. #        in the range 0..(2^15)-1.
  203. #      o TCL_NO_SELECT - The select call is not available.
  204. #      o TCL_NEED_SYS_SELECT_H - Define if <sys/select.h> is required. May not
  205. #        need it, even if it is there.
  206. #      o TCL_USE_BZERO_MACRO - Use a macro to define bzero for the select
  207. #        FD_ZERO macro.
  208. #      o TCL_POSIX_SIG - Set if posix signals are available (sigaction, etc).
  209. #      o TCL_HAVE_CATGETS - Set if XPG/3 message catalogs are available
  210. #        (catopen, catgets, etc).
  211. #      o TCL_TM_GMTOFF - Set if the seconds east of GMT field in struct tm is
  212. #        names 'tm_gmtoff'.  Not set if its is names 'tm_tzadj'.
  213. #      o TCL_NEED_TIME_H - Set if time.h is required.
  214. #      o TCL_SIG_PROC_INT - Set if signal functions return int rather than
  215. #         void.
  216. #    o LINK_OPTIONS - The flags to specify when linking the tclshell.
  217. #
  218. #    o RANLIB_CMD - Either `ranlib' if ranlib is required or `true' if ranlib
  219. #      should not be used.
  220. #
  221. #    o MCS_CMD - Command to delete comments from the object file comment
  222. #      section, if available.  The command `true' if it's not available.  This
  223. #      makes the object file even smaller after its stipped.
  224. #
  225. #    o SUPPORT_FLAGS - The flags for SUPPORT_OBJS code.  The following options
  226. #      are available, these should be defined using -Dflag.
  227. #
  228. #      o TCL_HAS_TM_ZONE - If if 'struct tm' has the 'tm_zone' field.   Used
  229. #        by strftime.
  230. #
  231. #    o SUPPORT_OBJS - The object files to compile to implement library 
  232. #      functions that are not available on this particular version of Unix.
  233. #      The following are available:
  234. #         o strftime
  235.  
  236. #------------------------------------------------------------------------------
  237. # System V 3.2.0 (tested on Bell-Tech or Intel Unix for the Intel 386)
  238. #
  239. #SYS_DEP_FLAGS=-DTCL_NO_SELECT
  240. #LINK_OPTIONS=-lc_s -lform -lm
  241. #RANLIB_CMD=true
  242. #MCS_CMD=mcs -d
  243. #SUPPORT_FLAGS=
  244. #SUPPORT_OBJS=strftime.o
  245. #TCL_TK_LIBS= -lX11
  246. #
  247. #TCL_OWNER=bin
  248. #TCL_GROUP=bin
  249. #TCL_DEFAULT=/etc/default/tcl
  250. #
  251. #TCL_MAN_BASEDIR=/usr/man
  252. #TCL_MAN_CMD_SECTION=TCL
  253. #TCL_MAN_FUNC_SECTION=TCL
  254. #TCL_MAN_SEPARATOR=.
  255. #TCL_MAN_STYLE=SHORT
  256. #TCL_MAN_INDEX=1
  257. #TCL_MAN_INDEX_MERGE=0
  258.  
  259. #------------------------------------------------------------------------------
  260. #  SCO Unix - System V 3.2.2
  261. #
  262. #SYS_DEP_FLAGS=-DTCL_USE_BZERO_MACRO -DTCL_POSIX_SIG -DTCL_NEED_TIME_H
  263. #LINK_OPTIONS=-lc_s -lm -lintl
  264. #RANLIB_CMD=true
  265. #MCS_CMD=mcs -d
  266. #SUPPORT_FLAGS=
  267. #SUPPORT_OBJS=
  268. #TCL_TK_LIBS= -lX11 -lsocket
  269. #
  270. #TCL_OWNER=bin
  271. #TCL_GROUP=bin
  272. #TCL_DEFAULT=/etc/default/tcl
  273. #
  274. #TCL_MAN_BASEDIR=/usr/man
  275. #TCL_MAN_CMD_SECTION=TCL
  276. #TCL_MAN_FUNC_SECTION=TCL
  277. #TCL_MAN_SEPARATOR=.
  278. #TCL_MAN_STYLE=SHORT
  279. #TCL_MAN_INDEX=1
  280. #TCL_MAN_INDEX_MERGE=1
  281.  
  282. #------------------------------------------------------------------------------
  283. # BSD
  284. #
  285. #SYS_DEP_FLAGS=-DTCL_HAVE_SETLINEBUF -DTCL_32_BIT_RANDOM
  286. #LINK_OPTIONS=-lm
  287. #RANLIB_CMD="ranlib"
  288. #MCS_CMD="true"
  289. #SUPPORT_FLAGS=-DTCL_HAS_TM_ZONE
  290. #SUPPORT_OBJS=strftime.o
  291. #TCL_TK_LIBS= -lX11
  292. #
  293. #TCL_OWNER=root
  294. #TCL_GROUP=system
  295. #TCL_DEFAULT=/usr/local/lib/tcldefault
  296. #
  297. #TCL_MAN_BASEDIR=/usr/man
  298. #TCL_MAN_CMD_SECTION=1
  299. #TCL_MAN_FUNC_SECTION=3
  300. #TCL_MAN_SEPARATOR=
  301. #TCL_MAN_STYLE=LONG
  302. #TCL_MAN_INDEX=0
  303. #TCL_MAN_INDEX_MERGE=0
  304.  
  305. #------------------------------------------------------------------------------
  306. # SUN OS older versions (~4.0, let us know which one works for you)
  307. #
  308. #SYS_DEP_FLAGS=-DTCL_HAVE_SETLINEBUF -DTCL_32_BIT_RANDOM
  309. #LINK_OPTIONS=-lm
  310. #RANLIB_CMD="ranlib"
  311. #MCS_CMD="true"
  312. #SUPPORT_FLAGS=-DTCL_HAS_TM_ZONE
  313. #SUPPORT_OBJS=strftime.o
  314. #TCL_TK_LIBS= -lX11
  315. #
  316. #TCL_OWNER=bin
  317. #TCL_GROUP=bin
  318. #TCL_DEFAULT=/usr/local/lib/tcldefault
  319.  
  320. #TCL_MAN_BASEDIR=/usr/man
  321. #TCL_MAN_CMD_SECTION=1
  322. #TCL_MAN_FUNC_SECTION=3
  323. #TCL_MAN_SEPARATOR=
  324. #TCL_MAN_STYLE=LONG
  325. #TCL_MAN_INDEX=0
  326. #TCL_MAN_INDEX_MERGE=0
  327.  
  328. #------------------------------------------------------------------------------
  329. # SUN OS newer versions (~4.1, let us know which ones works for you)
  330. #
  331. SYS_DEP_FLAGS=-DTCL_HAVE_SETLINEBUF -DTCL_32_BIT_RANDOM -DTCL_POSIX_SIG -DTCL_TM_GMTOFF
  332. LINK_OPTIONS=-lm
  333. RANLIB_CMD="ranlib"
  334. MCS_CMD="true"
  335. SUPPORT_FLAGS=-DTCL_HAS_TM_ZONE
  336. SUPPORT_OBJS=
  337. TCL_TK_LIBS= -lX11
  338. #
  339. TCL_OWNER=bin
  340. TCL_GROUP=bin
  341. TCL_DEFAULT=/usr/local/lib/tcldefault
  342. #
  343. TCL_MAN_BASEDIR=/usr/man
  344. TCL_MAN_CMD_SECTION=1
  345. TCL_MAN_FUNC_SECTION=3
  346. TCL_MAN_SEPARATOR=
  347. TCL_MAN_STYLE=LONG
  348. TCL_MAN_INDEX=0
  349. TCL_MAN_INDEX_MERGE=0
  350.  
  351. #------------------------------------------------------------------------------
  352. #    HPUX - Hewlett-Packard HP/UX
  353. #
  354. #SYS_DEP_FLAGS= -DTCL_32_BIT_RANDOM -DTCL_POSIX_SIG
  355. #LINK_OPTIONS=-lBSD -lPW -lm
  356. #RANLIB_CMD=true
  357. #MCS_CMD=true
  358. #SUPPORT_FLAGS=-DTCL_HAS_TM_ZONE
  359. #SUPPORT_OBJS=strtoul.o
  360. #TCL_TK_LIBS= -lX11
  361. #
  362. #TCL_OWNER=root
  363. #TCL_GROUP=system
  364. #TCL_DEFAULT=/usr/local/lib/tcldefault
  365. #
  366. #TCL_MAN_BASEDIR=/usr/man
  367. #TCL_MAN_CMD_SECTION=1
  368. #TCL_MAN_FUNC_SECTION=3
  369. #TCL_MAN_SEPARATOR=
  370. #TCL_MAN_STYLE=LONG
  371. #TCL_MAN_INDEX=0
  372. #TCL_MAN_INDEX_MERGE=0
  373.  
  374. #------------------------------------------------------------------------------
  375. #    XENIX-386 - SCO Xenix 2.3.3 for the 80386
  376. #
  377. #SYS_DEP_FLAGS= -DTCL_NEED_SYS_SELECT_H -DTCL_USE_BZERO_MACRO -DTCL_SIG_PROC_INT
  378. #LINK_OPTIONS=-ldir -lm
  379. #RANLIB_CMD=ranlib
  380. #MCS_CMD=true
  381. #SUPPORT_FLAGS=
  382. #SUPPORT_OBJS=strftime.o
  383. #TCL_TK_LIBS=
  384. #
  385. #TCL_OWNER=bin
  386. #TCL_GROUP=bin
  387. #TCL_DEFAULT=/etc/default/tcl
  388. #
  389. #TCL_MAN_BASEDIR=/usr/man
  390. #TCL_MAN_CMD_SECTION=TCL
  391. #TCL_MAN_FUNC_SECTION=TCL
  392. #TCL_MAN_SEPARATOR=
  393. #TCL_MAN_STYLE=SHORT
  394. #TCL_MAN_INDEX=1
  395. #TCL_MAN_INDEX_MERGE=1
  396.  
  397. #------------------------------------------------------------------------------
  398. # A/UX 2.0.1 - SystemV.2 derivative with BSD extensions
  399. #
  400. #SYS_DEP_FLAGS= -DTCL_USE_BZERO_MACRO -DTCL_SIG_PROC_INT
  401. #LINK_OPTIONS=-lc_s -lm
  402. #RANLIB_CMD=true
  403. #MCS_CMD=true
  404. #SUPPORT_FLAGS=
  405. #SUPPORT_OBJS=
  406. #TCL_TK_LIBS= -lX11
  407. #
  408. #TCL_OWNER=bin
  409. #TCL_GROUP=bin
  410. #TCL_DEFAULT=/usr/local/lib/tcldefault
  411. #
  412. #TCL_MAN_BASEDIR=/usr/catman
  413. #TCL_MAN_CMD_SECTION=1
  414. #TCL_MAN_FUNC_SECTION=3
  415. #TCL_MAN_SEPARATOR=.
  416. #TCL_MAN_STYLE=LONG
  417. #TCL_MAN_INDEX=1
  418. #TCL_MAN_INDEX_MERGE=0
  419.  
  420. #------------------------------------------------------------------------------
  421. #                        End of Configuration Section
  422. #==============================================================================
  423.  
  424. --
  425. Te-Wei Sun      tewei@bnr.ca      Bell-Northern Research   Ottawa
  426.