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