Go to most recent revision | Details | Last modification | View Log | RSS feed
Rev | Author | Line No. | Line |
---|---|---|---|
4358 | Serge | 1 | |
2 | |||
3 | |||
4 | |||
5 | |||
6 | ---------- |
||
7 | |||
8 | |||
9 | test Mesa. There have been a lot of questions about Linux Quake and |
||
10 | Mesa so I'm trying to provide some useful info here. If this file |
||
11 | doesn't help you then you should look elsewhere for help. The Mesa |
||
12 | mailing list or the news://news.3dfx.com/3dfx.linux.glide newsgroup |
||
13 | might be good. |
||
14 | |||
15 | |||
16 | me with questions. |
||
17 | |||
18 | |||
19 | me at brianp@elastic.avid.com |
||
20 | |||
21 | |||
22 | |||
23 | |||
24 | ----------- |
||
25 | |||
26 | |||
27 | |||
28 | |||
29 | shouldn't have too many problems if you simply follow the instructions |
||
30 | in the Quake distribution. |
||
31 | |||
32 | |||
33 | |||
34 | |||
35 | ------------------------- |
||
36 | |||
37 | |||
38 | previous RedHat and other Linux distributions use "libc5" for its |
||
39 | runtime C library. |
||
40 | |||
41 | |||
42 | on a RedHat 5.x system the resulting libMesaGL.so file will not work |
||
43 | with Linux Quake because of the different C runtime libraries. |
||
44 | The symptom of this is a segmentation fault soon after starting Quake. |
||
45 | |||
46 | |||
47 | RedHat 5.x then read on. |
||
48 | |||
49 | |||
50 | libc5 is in /usr/i486-linux-libc5/lib on RedHat 5.x systems. |
||
51 | |||
52 | |||
53 | info: |
||
54 | |||
55 | |||
56 | > a full set of libraries for both libc5 and glibc. The loader ld.so |
||
57 | > uses the libc5 libraries in /usr/i486-linux-libc5/lib for programs |
||
58 | > linked against libc5 while it uses the glibc libraries in /lib and |
||
59 | > /usr/lib for programs linked against glibc. |
||
60 | > |
||
61 | > Anyway I changed line 41 of mklib.glide to |
||
62 | > GLIDELIBS="-L/usr/local/glide/lib -lglide2x -L/usr/i486-linux-libc5/lib" |
||
63 | > |
||
64 | > And I started quake2 up with a script like this |
||
65 | > #!/bin/csh |
||
66 | > setenv LD_LIBRARY_PATH /usr/i486-linux-libc5/lib |
||
67 | > setenv MESA_GLX_FX f |
||
68 | > ./quake2 +set vid_ref gl |
||
69 | > kbd_mode -a |
||
70 | > reset |
||
71 | |||
72 | |||
73 | |||
74 | with the script shown above though. |
||
75 | |||
76 | |||
77 | |||
78 | |||
79 | |||
80 | |||
81 | |||
82 | |||
83 | a libc5 executable or library. Red Hat just doesn't include the right |
||
84 | stuff to do it. |
||
85 | |||
86 | |||
87 | libc5 libraries. |
||
88 | |||
89 | |||
90 | MOST of the right stuff to compile with libc5. (It brings back older |
||
91 | header files, makes appropriate symbolic links for libraries, and sets |
||
92 | up the compiler to use the correct directories) You can find gcc5 here: |
||
93 | ftp://ecg.mit.edu/pub/linux/gcc5-1.0-1.i386.rpm |
||
94 | |||
95 | |||
96 | Mesa to compile as a libc5 application. First you have to make sure that |
||
97 | every compile uses gcc5 instead of gcc. Second, in some cases the link |
||
98 | line actually lists -L/usr/lib which breaks gcc5 (because it forces you |
||
99 | to use the glibc version of things) |
||
100 | |||
101 | |||
102 | I've run Mesa 3.0B6 and its demos in a window with my Rush on a Red Hat |
||
103 | 5.1 system. It is a big hassle, but it can be done. I've only made Quake |
||
104 | segfault, but I think that's from my libRush using the wrong libc. |
||
105 | |||
106 | |||
107 | all my libraries compiling correctly with this setup. Someone should |
||
108 | make an RPM out of it and feed changes back to Brian once they get it |
||
109 | all working. If no one else has done so by the time I get the rest of my |
||
110 | stuff straightened out, I'll try to do it myself. |
||
111 | |||
112 | |||
113 | |||
114 | |||
115 | |||
116 | |||
117 | |||
118 | |||
119 | |||
120 | |||
121 | working fine for me. I had only to make a small change to the |
||
122 | Mesa-3.0/mklib.glide file, from: |
||
123 | |||
124 | |||
125 | |||
126 | -L/usr/i486-linux-libc5/lib -lm" |
||
127 | |||
128 | |||
129 | |||
130 | |||
131 | |||
132 | |||
133 | |||
134 | |||
135 | [david@localhost Mesa]$ ln -s libMesaGLU.so libMesaGLU.so.2 |
||
136 | |||
137 | |||
138 | includes also the Glide for the libc5). I'm not using the /dev/3Dfx and |
||
139 | running QuakeII as root with the following env. var: |
||
140 | |||
141 | |||
142 | LD_LIBRARY_PATH=/dsk1/home/david/src/gl/Mesa/lib:/usr/i486-linux-libc5/lib |
||
143 | |||
144 | |||
145 | work if you get the following output: |
||
146 | |||
147 | |||
148 | libglide2x.so => /usr/lib/libglide2x.so (0x400f8000) |
||
149 | libm.so.6 => /lib/libm.so.6 (0x40244000) |
||
150 | libc.so.6 => /lib/libc.so.6 (0x4025d000) |
||
151 | /lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x00000000) |
||
152 | |||
153 | |||
154 | |||
155 | |||
156 | libglide2x.so => /usr/i486-linux-libc5/lib/libglide2x.so |
||
157 | (0x400f3000) |
||
158 | |||
159 | |||
160 | libdl.so.1 => /lib/libdl.so.1 (0x40005000) |
||
161 | libm.so.5 => /usr/i486-linux-libc5/lib/libm.so.5 (0x40008000) |
||
162 | libc.so.5 => /usr/i486-linux-libc5/lib/libc.so.5 (0x40010000) |
||
163 | |||
164 | |||
165 | libMesaGL.so.2 => |
||
166 | /dsk1/home/david/src/gl/Mesa/lib/libMesaGL.so.2 (0x400eb000) |
||
167 | libglide2x.so => /usr/i486-linux-libc5/lib/libglide2x.so |
||
168 | (0x401d9000) |
||
169 | libX11.so.6 => /usr/i486-linux-libc5/lib/libX11.so.6 |
||
170 | (0x40324000) |
||
171 | libXext.so.6 => /usr/i486-linux-libc5/lib/libXext.so.6 |
||
172 | (0x403b7000) |
||
173 | libvga.so.1 => /usr/i486-linux-libc5/lib/libvga.so.1 |
||
174 | (0x403c1000) |
||
175 | libm.so.5 => /usr/i486-linux-libc5/lib/libm.so.5 (0x403f5000) |
||
176 | libc.so.5 => /usr/i486-linux-libc5/lib/libc.so.5 (0x403fd000) |
||
177 | |||
178 | |||
179 | |||
180 | |||
181 | |||
182 | |||
183 | |||
184 | |||
185 | |||
186 | |||
187 | ./quake2 +set vid_ref gl |
||
188 | |||
189 | |||
190 | compatability libc5 RPMs installed. |
||
191 | |||
192 | |||
193 | |||
194 | |||
195 | |||
196 | |||
197 | |||
198 | |||
199 | |||
200 | |||
201 | |||
202 | |||
203 | |||
204 | |||
205 | |||
206 | |||
207 |