]>
Commit | Line | Data |
---|---|---|
5de9c45c JS |
1 | wxWindows 2.0 for Motif installation |
2 | ------------------------------------ | |
3 | ||
dbda9e86 JS |
4 | IMPORTANT NOTE: If you experience problems installing, please |
5 | re-read this instructions and other related files (todo.txt, | |
6 | bugs.txt etc.) carefully before mailing wxwin-users or | |
7 | the author. Preferably, try to fix the problem first and | |
8 | then send a patch to the author. | |
9 | ||
44c4a334 JS |
10 | - Prerequisites: Motif 1.2 or above, or Lesstif |
11 | (not yet tested). Motif 2.0 and above may also be suitable. | |
5de9c45c JS |
12 | |
13 | - Download the files wx200gen.zip and wx200mot.zip, and | |
14 | documentation in a preferred format, such as wx200htm.zip | |
15 | or wx200pdf.zip. | |
16 | ||
17 | - Make a directory such as ~/wx and unzip the files into this | |
18 | directory. Use the -a option if available to convert the ASCII | |
19 | files to Unix format. Don't worry about files being | |
20 | overwritten: they should be identical anyway. | |
21 | ||
98ffbab9 JS |
22 | (See http://www.cdrom.com/pub/infozip/ if you don't have zip/unzip |
23 | already installed. Zip isn't the same as gzip!) | |
24 | ||
acbd13a3 JS |
25 | - It is recommended that you install bison and flex; using yacc |
26 | and lex may require tweaking of the makefiles. You also need | |
27 | Xpm (see comments in the Notes section below). | |
28 | ||
29 | - You now have the option of using the configure-based system, | |
30 | or the simple makefile system. Configure is more hard to debug | |
31 | if things go wrong, but may be easier to use if they go OK :-) | |
32 | Makefiles are easier to tweak. | |
33 | ||
44c4a334 | 34 | COMPILING USING CONFIGURE |
acbd13a3 | 35 | ========================= |
44c4a334 JS |
36 | |
37 | - You can use the wxGTK configure system to make wxMotif, or | |
38 | you can follow the following steps to use the simpler (but | |
39 | less automatic) makefile system. If using configure, the | |
40 | following script should make the library and samples, when | |
8870c26e JS |
41 | run from the top-level wxWindows directory (see also 'makewxmotif' |
42 | in this directory). Make this script executable with the command | |
43 | chmod a+x makewxmotif. | |
44 | ||
45 | -------:x-----Cut here-----:x----- | |
46 | # makewxmotif | |
47 | # Sets permissions (in case we extracted wxMotif from zip files) | |
48 | # and makes wxMotif. | |
49 | # Call from top-level wxWindows directory. | |
50 | # Note that this uses standard (but commonly-used) configure options; | |
51 | # if you're feeling brave, you may wish to compile with threads. | |
52 | # -- Julian Smart | |
53 | chmod a+x configure config.sub config.guess setup/general/* setup/shared/* | |
54 | ./configure --with-shared --with-motif --without-gtk --with-debug_flag --with-debug_info --without-threads | |
55 | make makefiles | |
44c4a334 | 56 | make |
8870c26e JS |
57 | -------:x-----Cut here-----:x----- |
58 | ||
59 | This script will build wxMotif using shared libraries. | |
60 | ||
61 | - Change directory to a sample e.g. samples/minimal, and type make. | |
62 | The binary will end up under the Linux (or other appropriate) subdirectory. | |
63 | ||
64 | - To build an application outside the wxWindows hierarchy, you can | |
65 | use `wx-config --cflags` when compiling source files and `wx-config --libs` | |
66 | when linking, where wx-config is in the wxWindows root directory. | |
67 | These invocations return the appropriate flags for the compiler. | |
68 | ||
69 | - When compiling certain utilities such as Dialog Editor, you may find | |
70 | that the makefile refers to wx-config as above. Unless you have used | |
71 | "make install" to install wxWindows, wx-config won't be found, so | |
72 | either edit the makefile to hard-wire the flags, or place wx-config | |
73 | where it will be found by the makefile. | |
44c4a334 JS |
74 | |
75 | COMPILING USING MAKEFILES | |
acbd13a3 | 76 | ========================= |
44c4a334 JS |
77 | |
78 | - Choose a .env file from src/makeenvs that matches your | |
79 | environment, and copy it to src/make.env. These are the | |
80 | settings read by wxWindows for Motif makefiles. | |
81 | ||
5de9c45c | 82 | - Edit src/make.env to change options according to your local |
ea57084d | 83 | environment. In particular, change WXDIR to where wxWindows is |
5dcf05ae JS |
84 | found on your system, or set the WXWIN environment variable |
85 | before compilation, e.g.: | |
86 | ||
87 | export WXWIN=/home/jacs/wx2 | |
88 | ||
5de9c45c JS |
89 | Please feel free to contribute settings files for your environment. |
90 | ||
91 | - Change directory to src/motif and type: | |
92 | ||
93 | make -f makefile.unx motif | |
94 | ||
95 | This should make the library libwx_motif.a in the lib | |
8870c26e JS |
96 | directory. Note that this makefile system does not build shared |
97 | libraries, only static ones (that is, the wxWindows library will be | |
98 | linked statically; to see remaining dependencies on shared libraries, | |
99 | type e.g. ldd minimal_motif). | |
5de9c45c JS |
100 | |
101 | - Make a sample, such as the minimal sample: | |
102 | ||
103 | cd samples/minimal | |
104 | make -f makefile.unx motif | |
105 | ||
106 | and run the resulting minimal_motif binary. | |
107 | ||
750b78ba JS |
108 | Troubleshooting |
109 | --------------- | |
110 | ||
111 | - If you have trouble compiling the file y_tab.c, or have strange | |
112 | linking errors, check whether you're using a C or C++ compiler for this file. | |
113 | You should specify a C compiler in the CCLEX variable in src/make.env. | |
114 | You could also try using bison and flex instead of yacc and | |
115 | lex. | |
116 | ||
117 | - Solaris compilation with gcc: if the compiler has problems with the variable argument | |
118 | functions, try putting the gcc fixinclude file paths early in the | |
119 | include path. | |
120 | ||
cba2db0c JS |
121 | - If you get strange memory problems (for example in deletion |
122 | of string arrays), set wxUSE_GLOBAL_MEMORY_OPERATORS to 0 in | |
123 | setup.h, and recompile. | |
124 | ||
ca5c8b2d JS |
125 | - If you get an internal compiler error in gcc, turn off |
126 | optimisations. | |
127 | ||
cba2db0c JS |
128 | - Problems with XtDestroyWidget crashing in ~wxWindow have been |
129 | reported on SGI IRIX 6.4. This has not yet been resolved, so | |
130 | any advice here would be very welcome. See bugs.txt for a | |
131 | possible temporary workaround. | |
132 | ||
750b78ba JS |
133 | Other Notes |
134 | ----------- | |
5de9c45c JS |
135 | |
136 | - Better installation and makefile systems are | |
8870c26e | 137 | required. A revised configure system is in preparation. |
5de9c45c | 138 | |
ea57084d | 139 | - Debugging mode is switched on by default. To compile in non-debug |
8870c26e JS |
140 | mode, remove the -D__WXDEBUG__ switch in make.env (or if using the |
141 | configure system, change --with-debug_flag to --without_debug_flag | |
142 | and --with-debug_info to --without-debug_info in the makewxmotif | |
143 | script). | |
ea57084d | 144 | |
5de9c45c JS |
145 | - Some classes can be switched off in include/wx/motif/setup.h, |
146 | if you are having trouble with a particular file. However, | |
147 | I'd prefer you to fix the problem and send the fix to me :-) or at | |
148 | least let me know about it. | |
b412f9be JS |
149 | |
150 | - Thread support is switched off by default in setup.h (wxUSE_THREADS) | |
151 | because standard Unices often do not have the necessary thread library | |
152 | installed. Please see ../docs/gtk/install.txt for more details on this. | |
153 | For Linux, the problem is expected to go away with future | |
154 | distributions of the operating system. | |
5de9c45c | 155 | |
2243eed5 JS |
156 | - If you run into problems with a missing X11/Xpm.h header, you |
157 | need to install the XPM package. It can be obtained from: | |
158 | ||
159 | ftp://ftp.x.org/contrib/libraries/xpm-3.4k.tar.gz | |
44c4a334 JS |
160 | http://sunfreeware.com |
161 | ||
162 | You may need to modify make.env to add -I and -L options pointing to where Xpm | |
163 | is installed and possibly change bitmap.cpp to | |
164 | include <xpm.h> instead of <X11/xpm.h> | |
2243eed5 JS |
165 | |
166 | Alternatively, edit include/motif/setup.h, set wxUSE_XPM | |
167 | to 0, and recompile. You will not be able to load any XPMs, | |
168 | though (currently the only supported colour bitmap format). | |
169 | ||
750b78ba JS |
170 | Bug reports |
171 | ----------- | |
172 | ||
173 | Please send bug reports with a description of your environment, | |
174 | compiler and the error message(s) to the wxwin-users mailing list at: | |
5de9c45c | 175 | |
ea57084d | 176 | wxwin-users@wx.dent.med.uni-muenchen.de |
5de9c45c | 177 | |
cba2db0c | 178 | Julian Smart, February 1999. |
ea57084d | 179 | julian.smart@ukonline.co.uk |