-
Notifications
You must be signed in to change notification settings - Fork 1
/
FAQ
181 lines (123 loc) · 6.27 KB
/
FAQ
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
Fancy logo
Yadex 1.7.0 (2003-12-28)
Yadex FAQ
Compilation problems
During configure,
error: none of (gcc, c89, cc) work, is your PATH set right?
You need a C compiler to compile Yadex.
If you have one but it's not in the path, either fix $PATH
or pass the full pathname to the configure script with the
--cc flag (E.G. "./configure --cc /opt/sfw/bin/gcc").
If it's in the path but it's not called gcc or c89 or cc,
pass the name to the configure script with the --cc flag
(E.G. "./configure --cc icc").
During configure,
error: none of (g++, c++, cxx) work, is your PATH set right?
You need a C++ compiler to compile Yadex.
If you have one but it's not in the path, either fix $PATH
or pass the full pathname to the configure script with the
--cxx flag (E.G. "./configure --cxx /opt/sfw/bin/g++").
If it's in the path but it's not called g++ or c++ or cxx,
pass the name to the configure script with the --cxx flag
(E.G. "./configure --cxx icc").
X11/Xlib.h: No such file or directory
Are you sure you have the Xlib headers ? If not, install
them. If you already have them, then find out where they
are and change the "X11INCLUDEDIR =" line in GNUmakefile
accordingly.
The compiler chokes on the Xlib headers
This happens on Solaris 2.6 with GCC 2.95.2. Oliver Kraus
says that the solution is to add "-fpermissive" to
"CXXFLAGS =" in GNUmakefile.
/usr/X11R6/lib/libX11.so: undefined reference to `recv'
/usr/X11R6/lib/libX11.so: undefined reference to `connect'
/usr/X11R6/lib/libX11.so: undefined reference to `socket'
/usr/X11R6/lib/libX11.so: undefined reference to `setsockopt'
/usr/X11R6/lib/libX11.so: undefined reference to `shutdown'
/usr/X11R6/lib/libX11.so: undefined reference to `gethostbyname'
/usr/X11R6/lib/libX11.so: undefined reference to `getservbyname'
/usr/X11R6/lib/libX11.so: undefined reference to `getpeername'
/usr/X11R6/lib/libX11.so: undefined reference to `getsockname'
This happens with QNX 6 and other Unices. Add "-lsocket"
to "LDFLAGS =" in GNUmakefile.
Solaris: can't resolve gettimeofday()
In GNUmakefile, add "-lrt" after "-lX11".
Mac OS X:
al_adigits.o literal C string section (__TEXT,__cstring) does not
end with a '\0'
As far as I can see, the code in Yadex is legal C, and Mac
OS X's ld is incorrect in rejecting it. As a workaround,
change the size of al_adigits[] from 36 to 37 in
al_adigits.c and atclib.h. The real fix is to complain to
Apple for selling you a linker that won't link valid C
code.
GCC 3.0: Yadex 1.5.1 doesn't compile
Get Yadex 1.5.2 or later.
GCC 2.96: Yadex 1.5.0 doesn't compile
Get Yadex 1.5.1 or later.
EGCS 1.1.2 / SuSE 6.2:
no matching function for call to `menu_c::menu_c (...)'
Apparently, there is a bug in certain EGCS 1.1.2
installations that makes them choke on src/editloop.cc. I
know no workaround. I'd suggest that you try to get a fix
from your distributor or use another compiler. EGCS 1.0.3,
EGCS 1.1.1 and GCC 2.95.2 are known to work.
GCC 2.7: lots of compilation errors
GCC 2.7 is a very old compiler, it does not implement the
current C++ standard and I don't support it. If you must,
try applying patch/gcc-2.7.diff that's included in the
archive but don't complain to me if it doesn't work.
GCC:
warning: comparison between signed and unsigned
GCC is over-sensitive to signedness mismatches. Don't
worry, that won't prevent Yadex from working.
GCC: In sanity.cc,
warning: decimal integer constant is so large that it is unsigned
Weird as it may sound, the standard says that the lowest
value that a signed long can hold is -(2^31). GCC sticks
to the party line, never mind that you're on a platform
like i386 where LONG_MIN is -(2^31) - 1.
You can ignore this warning.
GCC: In sanity.cc,
warning: this decimal constant is unsigned only in ISO C90
This is a new avatar (as of GCC 3.3) of the previous
warning. Ignore it.
Yadex 1.3.1 doesn't compile
There's a thinko in the makefile. It's fixed in version
1.3.2.
Yadex 1.1.0 doesn't compile
In src/infobar.cc, lines 48 and 49, replace
const char infobar_c::FILE_NAME_UNSET[1]; // A special pointer value
const char infobar_c::LEVEL_NAME_UNSET[1]; // A special pointer value
by
const char infobar_c::FILE_NAME_UNSET[1] = { ' ' };
const char infobar_c::LEVEL_NAME_UNSET[1] = { ' ' };
Yadex 1.0.1 doesn't compile
In src/vector.h, delete line 44 ("return this;") and
compile again.
Misc.
I don't have an iwad
You can download certain iwads for free ;
* Doom 1.8 shareware iwad
* Heretic shareware version
* Hexen demo
* Strife demo
What about a 3D preview ?
Andrew Apted has written an amazing patch that does
exactly that.
Yadex is slow, particularly when dragging objects
Yes. I plan to replace the current implementation (pixmap)
by drawing directly to the window. The difficulty lies in
making that without generating a lot of flicker. In the
meantime, try the -P option.
How many people use Yadex ?
I don't know for sure. Each new release gets a few hundred
downloads.
Why didn't you use <insert speaker's favourite toolkit> ?
I used plain Xlib and not a toolkit for several reasons.
Firstly, I wanted to learn Xlib. Secondly, I reckoned it
would be easier to translate the existing BGI calls to
Xlib than to some higher level toolkit. Thirdly, I feared
that depending on a toolkit would hurt portability.
--------------------------------------------------------------
AYM 2003-12-28