As it turns out, someone was cleaning up the Makefile of the console
client, and he ended up checking for ncursesw before Makeconf was
included, which always caused that the source list for the driver was
empty, while the later check, the one that defines the build rule for
the driver, succeeded if ncursesw was available, causing an empty shared
object to be generated.

Here's a patch that fixes it:

--- hurd/console-client/Makefile        2014-07-04 23:05:53.000000000 +0200
+++ hurd/console-client/Makefile        2014-07-04 23:30:14.000000000 +0200
@@ -26,13 +26,9 @@
 PC_MOUSE_SO_SRCS = pc-mouse.c
 GENERIC_SPEAKER_SO_SRCS = generic-speaker.c
 CURRENT_VCS_SO_SRCS = current-vcs.c
-ifneq ($(LIBNCURSESW),)
-NCURSESW_SO_SRCS = ncursesw.c
-endif
 SRCS = $(CONSOLE_SRCS) \
   $(VGA_SO_SRCS) $(PC_KBD_SO_SRCS) $(PC_MOUSE_SO_SRCS) \
-  $(GENERIC_SPEAKER_SO_SRCS) $(CURRENT_VCS_SO_SRCS) $(NCURSESW_SO_SRCS)
\
-  $(XKB_SRCS)
+  $(GENERIC_SPEAKER_SO_SRCS) $(CURRENT_VCS_SO_SRCS) $(XKB_SRCS)
 
 VPATH += $(srcdir)/xkb
 OBJS = $(addsuffix .o,$(basename $(notdir $(SRCS)))) kdioctlServer.o
@@ -51,6 +47,11 @@
 
 include ../Makeconf
 
+ifneq ($(LIBNCURSESW),)
+NCURSESW_SO_SRCS = ncursesw.c
+SRCS += $(NCURSESW_SO_SRCS)
+endif
+
 driver-CPPFLAGS = -D'CONSOLE_DEFPATH="$(module-dir)\0"' \
        -D'CONSOLE_SONAME_SUFFIX=".so.$(hurd-version)"'
 driver-DEPS = $(..)config.make



p.s. This is my first ever patch I submitted to a project, so please
don't be too mean if I messed something up :)


Reply via email to