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