cvs doesn't build .. my fault?

Paul Millar paulm at
Fri Mar 29 12:58:45 CST 2002


A couple of things:

First, I've noticed cvs didn't build for me anymore. The problem was
because I removed the header files for ncurses (ie removed the
ncurses-devel RPM).  The file dlls/ttydrv/bitmap.c then failed to compile.

Having had a look at the code in ttydrv, its fairly obvious it wont build
without either curses or ncurses installed. A simple patch (wine-diff-1)
provides a better error message. It shouldn't be needed (with the next
patch), but might help bug finding in the future.

But, shouldn't wine simply abstain from building ttydrv if a (n?)curses
package isn't available? I've attached another patch (wine-diff-2) that
does that. AFAIK, there's no knock-on effects.

Second problem, when attempting to verify the build-failure on a different
machine (hathi), it failed, but in a different part of the build! It only
succeeded on the third machine (romulus)

On hathi, a RH-7.0 (w/ Linus-2.4.3 kernel) I got:
> make[2]: Entering directory `/disk/hathi1/paulm/wine/dlls/ntdll'
> ../../tools/winebuild/winebuild -fPIC -L../../dlls  -o ntdll.spec.c 
> -spec ./ntdll.spec
> make[2]: *** [ntdll.spec.c] Segmentation fault (core dumped)

After some investigation, it transpires that gcc on hathi (the RH-7.0
machine) builds broken winebuild programs (the unicode library was fine).
The RH-7.1 (romulus) could "fix" the problem by recompiling just the
winebuild directory.

The problem turned out to be because I had old gcc-2.96 RPMs installed.  
After updating to the latest upgrade RPMs winebuild is built correctly,
but wrc is now broken: it segfaults whenever its run.

Can anyone with a 7.0 machine verify this?



-------------- next part --------------
Index: dlls/ttydrv/ttydrv.h
RCS file: /home/wine/wine/dlls/ttydrv/ttydrv.h,v
retrieving revision 1.16
diff -u -r1.16 ttydrv.h
--- dlls/ttydrv/ttydrv.h	28 Mar 2002 22:22:06 -0000	1.16
+++ dlls/ttydrv/ttydrv.h	29 Mar 2002 17:40:20 -0000
@@ -30,6 +30,8 @@
 # include <ncurses.h>
 #elif defined(HAVE_CURSES_H)
 # include <curses.h>
+# error You need either ncurses or curses fully installed to compile ttydrv
 #include "windef.h"
-------------- next part --------------
Index: dlls/make_dlls
RCS file: /home/wine/wine/dlls/make_dlls,v
retrieving revision 1.6
diff -u -r1.6 make_dlls
--- dlls/make_dlls	20 Mar 2002 22:19:07 -0000	1.6
+++ dlls/make_dlls	29 Mar 2002 18:25:07 -0000
@@ -33,7 +33,8 @@
   "ddraw"    => "XFILES",
   "glu32"    => "GLU32FILES",
   "opengl32" => "OPENGLFILES",
-  "x11drv"   => "XFILES"
+  "x11drv"   => "XFILES",
+  "ttydrv"   => "CURSESLIBS"
 foreach $i (split(/\s/,$makefiles))

More information about the wine-devel mailing list