* [Qemu-devel] [PULL 0/6] ui patch queue. @ 2016-10-28 12:11 Gerd Hoffmann 2016-10-28 12:11 ` [Qemu-devel] [PULL 1/6] Add dots keypresses support to the baum braille device Gerd Hoffmann ` (6 more replies) 0 siblings, 7 replies; 19+ messages in thread From: Gerd Hoffmann @ 2016-10-28 12:11 UTC (permalink / raw) To: qemu-devel; +Cc: Gerd Hoffmann Hi, Here comes the UI patch queue with bugfixes for gtk and curses UIs and the baum braille support. I've cherry-picked from Samuel's patches the ones which are ready to merge. There is more in the pipeline for better unicode support in curses, but those will probably not make the 2.8 freeze deadline. please pull, Gerd The following changes since commit db4df20de86c6e8ecd6c9f042c029ffb9f9cddac: trace: Fix 'char **' compilation error in simple backend (2016-10-27 19:24:15 +0100) are available in the git repository at: git://git.kraxel.org/qemu tags/pull-ui-20161028-1 for you to fetch changes up to 8ddc5bf9e5de51c2a4842c01dd3a97f5591776fd: curses: Use cursesw instead of curses (2016-10-28 11:19:38 +0200) ---------------------------------------------------------------- braille fixes and improvements. curses fix, switch to cursesw. gtk bugfixes. ---------------------------------------------------------------- Alberto Garcia (1): gtk: fix compilation warning with gtk 3.22.2 Samuel Thibault (4): Add dots keypresses support to the baum braille device Defer BrlAPI tty acquisition to when guest starts using device curses: fix left/right arrow translation curses: Use cursesw instead of curses Thomas Huth (1): ui/gtk: Fix non-working DELETE key backends/baum.c | 305 ++++++++++++++++++++++++++++++++------------------------ configure | 29 ++++-- ui/curses.c | 4 +- ui/gtk.c | 27 ++++- 4 files changed, 220 insertions(+), 145 deletions(-) ^ permalink raw reply [flat|nested] 19+ messages in thread
* [Qemu-devel] [PULL 1/6] Add dots keypresses support to the baum braille device 2016-10-28 12:11 [Qemu-devel] [PULL 0/6] ui patch queue Gerd Hoffmann @ 2016-10-28 12:11 ` Gerd Hoffmann 2016-10-28 12:11 ` [Qemu-devel] [PULL 2/6] Defer BrlAPI tty acquisition to when guest starts using device Gerd Hoffmann ` (5 subsequent siblings) 6 siblings, 0 replies; 19+ messages in thread From: Gerd Hoffmann @ 2016-10-28 12:11 UTC (permalink / raw) To: qemu-devel; +Cc: Samuel Thibault, Gerd Hoffmann From: Samuel Thibault <samuel.thibault@ens-lyon.org> Signed-off-by: Samuel Thibault <samuel.thibault@ens-lyon.org> Signed-off-by: Gerd Hoffmann <kraxel@redhat.com> --- backends/baum.c | 224 +++++++++++++++++++++++++++++++------------------------- 1 file changed, 125 insertions(+), 99 deletions(-) diff --git a/backends/baum.c b/backends/baum.c index 919844e..dedc520 100644 --- a/backends/baum.c +++ b/backends/baum.c @@ -1,7 +1,7 @@ /* * QEMU Baum Braille Device * - * Copyright (c) 2008 Samuel Thibault + * Copyright (c) 2008, 2010-2011, 2016 Samuel Thibault * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal @@ -102,8 +102,11 @@ typedef struct { } BaumDriverState; /* Let's assume NABCC by default */ -static const uint8_t nabcc_translation[256] = { - [0] = ' ', +enum way { + DOTS2ASCII, + ASCII2DOTS +}; +static const uint8_t nabcc_translation[2][256] = { #ifndef BRLAPI_DOTS #define BRLAPI_DOTS(d1,d2,d3,d4,d5,d6,d7,d8) \ ((d1?BRLAPI_DOT1:0)|\ @@ -115,105 +118,109 @@ static const uint8_t nabcc_translation[256] = { (d7?BRLAPI_DOT7:0)|\ (d8?BRLAPI_DOT8:0)) #endif - [BRLAPI_DOTS(1,0,0,0,0,0,0,0)] = 'a', - [BRLAPI_DOTS(1,1,0,0,0,0,0,0)] = 'b', - [BRLAPI_DOTS(1,0,0,1,0,0,0,0)] = 'c', - [BRLAPI_DOTS(1,0,0,1,1,0,0,0)] = 'd', - [BRLAPI_DOTS(1,0,0,0,1,0,0,0)] = 'e', - [BRLAPI_DOTS(1,1,0,1,0,0,0,0)] = 'f', - [BRLAPI_DOTS(1,1,0,1,1,0,0,0)] = 'g', - [BRLAPI_DOTS(1,1,0,0,1,0,0,0)] = 'h', - [BRLAPI_DOTS(0,1,0,1,0,0,0,0)] = 'i', - [BRLAPI_DOTS(0,1,0,1,1,0,0,0)] = 'j', - [BRLAPI_DOTS(1,0,1,0,0,0,0,0)] = 'k', - [BRLAPI_DOTS(1,1,1,0,0,0,0,0)] = 'l', - [BRLAPI_DOTS(1,0,1,1,0,0,0,0)] = 'm', - [BRLAPI_DOTS(1,0,1,1,1,0,0,0)] = 'n', - [BRLAPI_DOTS(1,0,1,0,1,0,0,0)] = 'o', - [BRLAPI_DOTS(1,1,1,1,0,0,0,0)] = 'p', - [BRLAPI_DOTS(1,1,1,1,1,0,0,0)] = 'q', - [BRLAPI_DOTS(1,1,1,0,1,0,0,0)] = 'r', - [BRLAPI_DOTS(0,1,1,1,0,0,0,0)] = 's', - [BRLAPI_DOTS(0,1,1,1,1,0,0,0)] = 't', - [BRLAPI_DOTS(1,0,1,0,0,1,0,0)] = 'u', - [BRLAPI_DOTS(1,1,1,0,0,1,0,0)] = 'v', - [BRLAPI_DOTS(0,1,0,1,1,1,0,0)] = 'w', - [BRLAPI_DOTS(1,0,1,1,0,1,0,0)] = 'x', - [BRLAPI_DOTS(1,0,1,1,1,1,0,0)] = 'y', - [BRLAPI_DOTS(1,0,1,0,1,1,0,0)] = 'z', +#define DO(dots, ascii) \ + [DOTS2ASCII][dots] = ascii, \ + [ASCII2DOTS][ascii] = dots + DO(0, ' '), + DO(BRLAPI_DOTS(1, 0, 0, 0, 0, 0, 0, 0), 'a'), + DO(BRLAPI_DOTS(1, 1, 0, 0, 0, 0, 0, 0), 'b'), + DO(BRLAPI_DOTS(1, 0, 0, 1, 0, 0, 0, 0), 'c'), + DO(BRLAPI_DOTS(1, 0, 0, 1, 1, 0, 0, 0), 'd'), + DO(BRLAPI_DOTS(1, 0, 0, 0, 1, 0, 0, 0), 'e'), + DO(BRLAPI_DOTS(1, 1, 0, 1, 0, 0, 0, 0), 'f'), + DO(BRLAPI_DOTS(1, 1, 0, 1, 1, 0, 0, 0), 'g'), + DO(BRLAPI_DOTS(1, 1, 0, 0, 1, 0, 0, 0), 'h'), + DO(BRLAPI_DOTS(0, 1, 0, 1, 0, 0, 0, 0), 'i'), + DO(BRLAPI_DOTS(0, 1, 0, 1, 1, 0, 0, 0), 'j'), + DO(BRLAPI_DOTS(1, 0, 1, 0, 0, 0, 0, 0), 'k'), + DO(BRLAPI_DOTS(1, 1, 1, 0, 0, 0, 0, 0), 'l'), + DO(BRLAPI_DOTS(1, 0, 1, 1, 0, 0, 0, 0), 'm'), + DO(BRLAPI_DOTS(1, 0, 1, 1, 1, 0, 0, 0), 'n'), + DO(BRLAPI_DOTS(1, 0, 1, 0, 1, 0, 0, 0), 'o'), + DO(BRLAPI_DOTS(1, 1, 1, 1, 0, 0, 0, 0), 'p'), + DO(BRLAPI_DOTS(1, 1, 1, 1, 1, 0, 0, 0), 'q'), + DO(BRLAPI_DOTS(1, 1, 1, 0, 1, 0, 0, 0), 'r'), + DO(BRLAPI_DOTS(0, 1, 1, 1, 0, 0, 0, 0), 's'), + DO(BRLAPI_DOTS(0, 1, 1, 1, 1, 0, 0, 0), 't'), + DO(BRLAPI_DOTS(1, 0, 1, 0, 0, 1, 0, 0), 'u'), + DO(BRLAPI_DOTS(1, 1, 1, 0, 0, 1, 0, 0), 'v'), + DO(BRLAPI_DOTS(0, 1, 0, 1, 1, 1, 0, 0), 'w'), + DO(BRLAPI_DOTS(1, 0, 1, 1, 0, 1, 0, 0), 'x'), + DO(BRLAPI_DOTS(1, 0, 1, 1, 1, 1, 0, 0), 'y'), + DO(BRLAPI_DOTS(1, 0, 1, 0, 1, 1, 0, 0), 'z'), - [BRLAPI_DOTS(1,0,0,0,0,0,1,0)] = 'A', - [BRLAPI_DOTS(1,1,0,0,0,0,1,0)] = 'B', - [BRLAPI_DOTS(1,0,0,1,0,0,1,0)] = 'C', - [BRLAPI_DOTS(1,0,0,1,1,0,1,0)] = 'D', - [BRLAPI_DOTS(1,0,0,0,1,0,1,0)] = 'E', - [BRLAPI_DOTS(1,1,0,1,0,0,1,0)] = 'F', - [BRLAPI_DOTS(1,1,0,1,1,0,1,0)] = 'G', - [BRLAPI_DOTS(1,1,0,0,1,0,1,0)] = 'H', - [BRLAPI_DOTS(0,1,0,1,0,0,1,0)] = 'I', - [BRLAPI_DOTS(0,1,0,1,1,0,1,0)] = 'J', - [BRLAPI_DOTS(1,0,1,0,0,0,1,0)] = 'K', - [BRLAPI_DOTS(1,1,1,0,0,0,1,0)] = 'L', - [BRLAPI_DOTS(1,0,1,1,0,0,1,0)] = 'M', - [BRLAPI_DOTS(1,0,1,1,1,0,1,0)] = 'N', - [BRLAPI_DOTS(1,0,1,0,1,0,1,0)] = 'O', - [BRLAPI_DOTS(1,1,1,1,0,0,1,0)] = 'P', - [BRLAPI_DOTS(1,1,1,1,1,0,1,0)] = 'Q', - [BRLAPI_DOTS(1,1,1,0,1,0,1,0)] = 'R', - [BRLAPI_DOTS(0,1,1,1,0,0,1,0)] = 'S', - [BRLAPI_DOTS(0,1,1,1,1,0,1,0)] = 'T', - [BRLAPI_DOTS(1,0,1,0,0,1,1,0)] = 'U', - [BRLAPI_DOTS(1,1,1,0,0,1,1,0)] = 'V', - [BRLAPI_DOTS(0,1,0,1,1,1,1,0)] = 'W', - [BRLAPI_DOTS(1,0,1,1,0,1,1,0)] = 'X', - [BRLAPI_DOTS(1,0,1,1,1,1,1,0)] = 'Y', - [BRLAPI_DOTS(1,0,1,0,1,1,1,0)] = 'Z', + DO(BRLAPI_DOTS(1, 0, 0, 0, 0, 0, 1, 0), 'A'), + DO(BRLAPI_DOTS(1, 1, 0, 0, 0, 0, 1, 0), 'B'), + DO(BRLAPI_DOTS(1, 0, 0, 1, 0, 0, 1, 0), 'C'), + DO(BRLAPI_DOTS(1, 0, 0, 1, 1, 0, 1, 0), 'D'), + DO(BRLAPI_DOTS(1, 0, 0, 0, 1, 0, 1, 0), 'E'), + DO(BRLAPI_DOTS(1, 1, 0, 1, 0, 0, 1, 0), 'F'), + DO(BRLAPI_DOTS(1, 1, 0, 1, 1, 0, 1, 0), 'G'), + DO(BRLAPI_DOTS(1, 1, 0, 0, 1, 0, 1, 0), 'H'), + DO(BRLAPI_DOTS(0, 1, 0, 1, 0, 0, 1, 0), 'I'), + DO(BRLAPI_DOTS(0, 1, 0, 1, 1, 0, 1, 0), 'J'), + DO(BRLAPI_DOTS(1, 0, 1, 0, 0, 0, 1, 0), 'K'), + DO(BRLAPI_DOTS(1, 1, 1, 0, 0, 0, 1, 0), 'L'), + DO(BRLAPI_DOTS(1, 0, 1, 1, 0, 0, 1, 0), 'M'), + DO(BRLAPI_DOTS(1, 0, 1, 1, 1, 0, 1, 0), 'N'), + DO(BRLAPI_DOTS(1, 0, 1, 0, 1, 0, 1, 0), 'O'), + DO(BRLAPI_DOTS(1, 1, 1, 1, 0, 0, 1, 0), 'P'), + DO(BRLAPI_DOTS(1, 1, 1, 1, 1, 0, 1, 0), 'Q'), + DO(BRLAPI_DOTS(1, 1, 1, 0, 1, 0, 1, 0), 'R'), + DO(BRLAPI_DOTS(0, 1, 1, 1, 0, 0, 1, 0), 'S'), + DO(BRLAPI_DOTS(0, 1, 1, 1, 1, 0, 1, 0), 'T'), + DO(BRLAPI_DOTS(1, 0, 1, 0, 0, 1, 1, 0), 'U'), + DO(BRLAPI_DOTS(1, 1, 1, 0, 0, 1, 1, 0), 'V'), + DO(BRLAPI_DOTS(0, 1, 0, 1, 1, 1, 1, 0), 'W'), + DO(BRLAPI_DOTS(1, 0, 1, 1, 0, 1, 1, 0), 'X'), + DO(BRLAPI_DOTS(1, 0, 1, 1, 1, 1, 1, 0), 'Y'), + DO(BRLAPI_DOTS(1, 0, 1, 0, 1, 1, 1, 0), 'Z'), - [BRLAPI_DOTS(0,0,1,0,1,1,0,0)] = '0', - [BRLAPI_DOTS(0,1,0,0,0,0,0,0)] = '1', - [BRLAPI_DOTS(0,1,1,0,0,0,0,0)] = '2', - [BRLAPI_DOTS(0,1,0,0,1,0,0,0)] = '3', - [BRLAPI_DOTS(0,1,0,0,1,1,0,0)] = '4', - [BRLAPI_DOTS(0,1,0,0,0,1,0,0)] = '5', - [BRLAPI_DOTS(0,1,1,0,1,0,0,0)] = '6', - [BRLAPI_DOTS(0,1,1,0,1,1,0,0)] = '7', - [BRLAPI_DOTS(0,1,1,0,0,1,0,0)] = '8', - [BRLAPI_DOTS(0,0,1,0,1,0,0,0)] = '9', + DO(BRLAPI_DOTS(0, 0, 1, 0, 1, 1, 0, 0), '0'), + DO(BRLAPI_DOTS(0, 1, 0, 0, 0, 0, 0, 0), '1'), + DO(BRLAPI_DOTS(0, 1, 1, 0, 0, 0, 0, 0), '2'), + DO(BRLAPI_DOTS(0, 1, 0, 0, 1, 0, 0, 0), '3'), + DO(BRLAPI_DOTS(0, 1, 0, 0, 1, 1, 0, 0), '4'), + DO(BRLAPI_DOTS(0, 1, 0, 0, 0, 1, 0, 0), '5'), + DO(BRLAPI_DOTS(0, 1, 1, 0, 1, 0, 0, 0), '6'), + DO(BRLAPI_DOTS(0, 1, 1, 0, 1, 1, 0, 0), '7'), + DO(BRLAPI_DOTS(0, 1, 1, 0, 0, 1, 0, 0), '8'), + DO(BRLAPI_DOTS(0, 0, 1, 0, 1, 0, 0, 0), '9'), - [BRLAPI_DOTS(0,0,0,1,0,1,0,0)] = '.', - [BRLAPI_DOTS(0,0,1,1,0,1,0,0)] = '+', - [BRLAPI_DOTS(0,0,1,0,0,1,0,0)] = '-', - [BRLAPI_DOTS(1,0,0,0,0,1,0,0)] = '*', - [BRLAPI_DOTS(0,0,1,1,0,0,0,0)] = '/', - [BRLAPI_DOTS(1,1,1,0,1,1,0,0)] = '(', - [BRLAPI_DOTS(0,1,1,1,1,1,0,0)] = ')', + DO(BRLAPI_DOTS(0, 0, 0, 1, 0, 1, 0, 0), '.'), + DO(BRLAPI_DOTS(0, 0, 1, 1, 0, 1, 0, 0), '+'), + DO(BRLAPI_DOTS(0, 0, 1, 0, 0, 1, 0, 0), '-'), + DO(BRLAPI_DOTS(1, 0, 0, 0, 0, 1, 0, 0), '*'), + DO(BRLAPI_DOTS(0, 0, 1, 1, 0, 0, 0, 0), '/'), + DO(BRLAPI_DOTS(1, 1, 1, 0, 1, 1, 0, 0), '('), + DO(BRLAPI_DOTS(0, 1, 1, 1, 1, 1, 0, 0), ')'), - [BRLAPI_DOTS(1,1,1,1,0,1,0,0)] = '&', - [BRLAPI_DOTS(0,0,1,1,1,1,0,0)] = '#', + DO(BRLAPI_DOTS(1, 1, 1, 1, 0, 1, 0, 0), '&'), + DO(BRLAPI_DOTS(0, 0, 1, 1, 1, 1, 0, 0), '#'), - [BRLAPI_DOTS(0,0,0,0,0,1,0,0)] = ',', - [BRLAPI_DOTS(0,0,0,0,1,1,0,0)] = ';', - [BRLAPI_DOTS(1,0,0,0,1,1,0,0)] = ':', - [BRLAPI_DOTS(0,1,1,1,0,1,0,0)] = '!', - [BRLAPI_DOTS(1,0,0,1,1,1,0,0)] = '?', - [BRLAPI_DOTS(0,0,0,0,1,0,0,0)] = '"', - [BRLAPI_DOTS(0,0,1,0,0,0,0,0)] ='\'', - [BRLAPI_DOTS(0,0,0,1,0,0,0,0)] = '`', - [BRLAPI_DOTS(0,0,0,1,1,0,1,0)] = '^', - [BRLAPI_DOTS(0,0,0,1,1,0,0,0)] = '~', - [BRLAPI_DOTS(0,1,0,1,0,1,1,0)] = '[', - [BRLAPI_DOTS(1,1,0,1,1,1,1,0)] = ']', - [BRLAPI_DOTS(0,1,0,1,0,1,0,0)] = '{', - [BRLAPI_DOTS(1,1,0,1,1,1,0,0)] = '}', - [BRLAPI_DOTS(1,1,1,1,1,1,0,0)] = '=', - [BRLAPI_DOTS(1,1,0,0,0,1,0,0)] = '<', - [BRLAPI_DOTS(0,0,1,1,1,0,0,0)] = '>', - [BRLAPI_DOTS(1,1,0,1,0,1,0,0)] = '$', - [BRLAPI_DOTS(1,0,0,1,0,1,0,0)] = '%', - [BRLAPI_DOTS(0,0,0,1,0,0,1,0)] = '@', - [BRLAPI_DOTS(1,1,0,0,1,1,0,0)] = '|', - [BRLAPI_DOTS(1,1,0,0,1,1,1,0)] ='\\', - [BRLAPI_DOTS(0,0,0,1,1,1,0,0)] = '_', + DO(BRLAPI_DOTS(0, 0, 0, 0, 0, 1, 0, 0), ','), + DO(BRLAPI_DOTS(0, 0, 0, 0, 1, 1, 0, 0), ';'), + DO(BRLAPI_DOTS(1, 0, 0, 0, 1, 1, 0, 0), ':'), + DO(BRLAPI_DOTS(0, 1, 1, 1, 0, 1, 0, 0), '!'), + DO(BRLAPI_DOTS(1, 0, 0, 1, 1, 1, 0, 0), '?'), + DO(BRLAPI_DOTS(0, 0, 0, 0, 1, 0, 0, 0), '"'), + DO(BRLAPI_DOTS(0, 0, 1, 0, 0, 0, 0, 0), '\''), + DO(BRLAPI_DOTS(0, 0, 0, 1, 0, 0, 0, 0), '`'), + DO(BRLAPI_DOTS(0, 0, 0, 1, 1, 0, 1, 0), '^'), + DO(BRLAPI_DOTS(0, 0, 0, 1, 1, 0, 0, 0), '~'), + DO(BRLAPI_DOTS(0, 1, 0, 1, 0, 1, 1, 0), '['), + DO(BRLAPI_DOTS(1, 1, 0, 1, 1, 1, 1, 0), ']'), + DO(BRLAPI_DOTS(0, 1, 0, 1, 0, 1, 0, 0), '{'), + DO(BRLAPI_DOTS(1, 1, 0, 1, 1, 1, 0, 0), '}'), + DO(BRLAPI_DOTS(1, 1, 1, 1, 1, 1, 0, 0), '='), + DO(BRLAPI_DOTS(1, 1, 0, 0, 0, 1, 0, 0), '<'), + DO(BRLAPI_DOTS(0, 0, 1, 1, 1, 0, 0, 0), '>'), + DO(BRLAPI_DOTS(1, 1, 0, 1, 0, 1, 0, 0), '$'), + DO(BRLAPI_DOTS(1, 0, 0, 1, 0, 1, 0, 0), '%'), + DO(BRLAPI_DOTS(0, 0, 0, 1, 0, 0, 1, 0), '@'), + DO(BRLAPI_DOTS(1, 1, 0, 0, 1, 1, 0, 0), '|'), + DO(BRLAPI_DOTS(1, 1, 0, 0, 1, 1, 1, 0), '\\'), + DO(BRLAPI_DOTS(0, 0, 0, 1, 1, 1, 0, 0), '_'), }; /* The serial port can receive more of our data */ @@ -346,8 +353,10 @@ static int baum_eat_packet(BaumDriverState *baum, const uint8_t *buf, int len) cursor = i + 1; c &= ~(BRLAPI_DOT7|BRLAPI_DOT8); } - if (!(c = nabcc_translation[c])) + c = nabcc_translation[DOTS2ASCII][c]; + if (!c) { c = '?'; + } text[i] = c; } timer_del(baum->cellCount_timer); @@ -476,6 +485,13 @@ static void baum_send_key(BaumDriverState *baum, uint8_t type, uint8_t value) { baum_write_packet(baum, packet, sizeof(packet)); } +static void baum_send_key2(BaumDriverState *baum, uint8_t type, uint8_t value, + uint8_t value2) { + uint8_t packet[] = { type, value, value2 }; + DPRINTF("writing key %x %x\n", type, value); + baum_write_packet(baum, packet, sizeof(packet)); +} + /* We got some data on the BrlAPI socket */ static void baum_chr_read(void *opaque) { @@ -540,7 +556,17 @@ static void baum_chr_read(void *opaque) } break; case BRLAPI_KEY_TYPE_SYM: - break; + { + brlapi_keyCode_t keysym = code & BRLAPI_KEY_CODE_MASK; + if (keysym < 0x100) { + uint8_t dots = nabcc_translation[ASCII2DOTS][keysym]; + if (dots) { + baum_send_key2(baum, BAUM_RSP_EntryKeys, 0, dots); + baum_send_key2(baum, BAUM_RSP_EntryKeys, 0, 0); + } + } + break; + } } } if (ret == -1 && (brlapi_errno != BRLAPI_ERROR_LIBCERR || errno != EINTR)) { -- 1.8.3.1 ^ permalink raw reply related [flat|nested] 19+ messages in thread
* [Qemu-devel] [PULL 2/6] Defer BrlAPI tty acquisition to when guest starts using device 2016-10-28 12:11 [Qemu-devel] [PULL 0/6] ui patch queue Gerd Hoffmann 2016-10-28 12:11 ` [Qemu-devel] [PULL 1/6] Add dots keypresses support to the baum braille device Gerd Hoffmann @ 2016-10-28 12:11 ` Gerd Hoffmann 2016-10-28 12:11 ` [Qemu-devel] [PULL 3/6] gtk: fix compilation warning with gtk 3.22.2 Gerd Hoffmann ` (4 subsequent siblings) 6 siblings, 0 replies; 19+ messages in thread From: Gerd Hoffmann @ 2016-10-28 12:11 UTC (permalink / raw) To: qemu-devel; +Cc: Samuel Thibault, Gerd Hoffmann From: Samuel Thibault <samuel.thibault@ens-lyon.org> We do not want to catch the BrlAPI input/ouput immediately, but only when the guest has started discussing withour virtual device. This notably fixes input before the guest driver has started. Signed-off-by: Samuel Thibault <samuel.thibault@ens-lyon.org> Signed-off-by: Gerd Hoffmann <kraxel@redhat.com> --- backends/baum.c | 81 ++++++++++++++++++++++++++++++++++----------------------- 1 file changed, 49 insertions(+), 32 deletions(-) diff --git a/backends/baum.c b/backends/baum.c index dedc520..b92369d 100644 --- a/backends/baum.c +++ b/backends/baum.c @@ -92,6 +92,7 @@ typedef struct { brlapi_handle_t *brlapi; int brlapi_fd; unsigned int x, y; + bool deferred_init; uint8_t in_buf[BUF_SIZE]; uint8_t in_buf_used; @@ -223,6 +224,49 @@ static const uint8_t nabcc_translation[2][256] = { DO(BRLAPI_DOTS(0, 0, 0, 1, 1, 1, 0, 0), '_'), }; +/* The guest OS has started discussing with us, finish initializing BrlAPI */ +static int baum_deferred_init(BaumDriverState *baum) +{ +#if defined(CONFIG_SDL) +#if SDL_COMPILEDVERSION < SDL_VERSIONNUM(2, 0, 0) + SDL_SysWMinfo info; +#endif +#endif + int tty; + + if (baum->deferred_init) { + return 1; + } + + if (brlapi__getDisplaySize(baum->brlapi, &baum->x, &baum->y) == -1) { + brlapi_perror("baum: brlapi__getDisplaySize"); + return 0; + } + +#if defined(CONFIG_SDL) +#if SDL_COMPILEDVERSION < SDL_VERSIONNUM(2, 0, 0) + memset(&info, 0, sizeof(info)); + SDL_VERSION(&info.version); + if (SDL_GetWMInfo(&info)) { + tty = info.info.x11.wmwindow; + } else { +#endif +#endif + tty = BRLAPI_TTY_DEFAULT; +#if defined(CONFIG_SDL) +#if SDL_COMPILEDVERSION < SDL_VERSIONNUM(2, 0, 0) + } +#endif +#endif + + if (brlapi__enterTtyMode(baum->brlapi, tty, NULL) == -1) { + brlapi_perror("baum: brlapi__enterTtyMode"); + return 0; + } + baum->deferred_init = 1; + return 1; +} + /* The serial port can receive more of our data */ static void baum_accept_input(struct CharDriverState *chr) { @@ -449,6 +493,8 @@ static int baum_write(CharDriverState *chr, const uint8_t *buf, int len) return 0; if (!baum->brlapi) return len; + if (!baum_deferred_init(baum)) + return len; while (len) { /* Complete our buffer as much as possible */ @@ -500,6 +546,8 @@ static void baum_chr_read(void *opaque) int ret; if (!baum->brlapi) return; + if (!baum_deferred_init(baum)) + return; while ((ret = brlapi__readKey(baum->brlapi, 0, &code)) == 1) { DPRINTF("got key %"BRLAPI_PRIxKEYCODE"\n", code); /* Emulate */ @@ -599,12 +647,6 @@ static CharDriverState *chr_baum_init(const char *id, BaumDriverState *baum; CharDriverState *chr; brlapi_handle_t *handle; -#if defined(CONFIG_SDL) -#if SDL_COMPILEDVERSION < SDL_VERSIONNUM(2, 0, 0) - SDL_SysWMinfo info; -#endif -#endif - int tty; chr = qemu_chr_alloc(common, errp); if (!chr) { @@ -627,39 +669,14 @@ static CharDriverState *chr_baum_init(const char *id, brlapi_strerror(brlapi_error_location())); goto fail_handle; } + baum->deferred_init = 0; baum->cellCount_timer = timer_new_ns(QEMU_CLOCK_VIRTUAL, baum_cellCount_timer_cb, baum); - if (brlapi__getDisplaySize(handle, &baum->x, &baum->y) == -1) { - error_setg(errp, "brlapi__getDisplaySize: %s", - brlapi_strerror(brlapi_error_location())); - goto fail; - } - -#if defined(CONFIG_SDL) -#if SDL_COMPILEDVERSION < SDL_VERSIONNUM(2, 0, 0) - memset(&info, 0, sizeof(info)); - SDL_VERSION(&info.version); - if (SDL_GetWMInfo(&info)) - tty = info.info.x11.wmwindow; - else -#endif -#endif - tty = BRLAPI_TTY_DEFAULT; - - if (brlapi__enterTtyMode(handle, tty, NULL) == -1) { - error_setg(errp, "brlapi__enterTtyMode: %s", - brlapi_strerror(brlapi_error_location())); - goto fail; - } - qemu_set_fd_handler(baum->brlapi_fd, baum_chr_read, NULL, baum); return chr; -fail: - timer_free(baum->cellCount_timer); - brlapi__closeConnection(handle); fail_handle: g_free(handle); g_free(chr); -- 1.8.3.1 ^ permalink raw reply related [flat|nested] 19+ messages in thread
* [Qemu-devel] [PULL 3/6] gtk: fix compilation warning with gtk 3.22.2 2016-10-28 12:11 [Qemu-devel] [PULL 0/6] ui patch queue Gerd Hoffmann 2016-10-28 12:11 ` [Qemu-devel] [PULL 1/6] Add dots keypresses support to the baum braille device Gerd Hoffmann 2016-10-28 12:11 ` [Qemu-devel] [PULL 2/6] Defer BrlAPI tty acquisition to when guest starts using device Gerd Hoffmann @ 2016-10-28 12:11 ` Gerd Hoffmann 2016-10-28 12:11 ` [Qemu-devel] [PULL 4/6] ui/gtk: Fix non-working DELETE key Gerd Hoffmann ` (3 subsequent siblings) 6 siblings, 0 replies; 19+ messages in thread From: Gerd Hoffmann @ 2016-10-28 12:11 UTC (permalink / raw) To: qemu-devel; +Cc: Alberto Garcia, Gerd Hoffmann From: Alberto Garcia <berto@igalia.com> gdk_screen_get_width() is deprecated since gtk 3.22.2, use gdk_monitor_get_geometry() instead if it's available. Signed-off-by: Alberto Garcia <berto@igalia.com> Message-id: 20161026152108.12364-1-berto@igalia.com Signed-off-by: Gerd Hoffmann <kraxel@redhat.com> --- ui/gtk.c | 23 +++++++++++++++++++++-- 1 file changed, 21 insertions(+), 2 deletions(-) diff --git a/ui/gtk.c b/ui/gtk.c index 25e6d99..dd13982 100644 --- a/ui/gtk.c +++ b/ui/gtk.c @@ -912,9 +912,28 @@ static gboolean gd_motion_event(GtkWidget *widget, GdkEventMotion *motion, if (!qemu_input_is_absolute() && s->ptr_owner == vc) { GdkScreen *screen = gtk_widget_get_screen(vc->gfx.drawing_area); + int screen_width, screen_height; + int x = (int)motion->x_root; int y = (int)motion->y_root; +#if GTK_CHECK_VERSION(3, 22, 0) + { + GdkDisplay *dpy = gtk_widget_get_display(widget); + GdkWindow *win = gtk_widget_get_window(widget); + GdkMonitor *monitor = gdk_display_get_monitor_at_window(dpy, win); + GdkRectangle geometry; + gdk_monitor_get_geometry(monitor, &geometry); + screen_width = geometry.width; + screen_height = geometry.height; + } +#else + { + screen_width = gdk_screen_get_width(screen); + screen_height = gdk_screen_get_height(screen); + } +#endif + /* In relative mode check to see if client pointer hit * one of the screen edges, and if so move it back by * 200 pixels. This is important because the pointer @@ -928,10 +947,10 @@ static gboolean gd_motion_event(GtkWidget *widget, GdkEventMotion *motion, if (y == 0) { y += 200; } - if (x == (gdk_screen_get_width(screen) - 1)) { + if (x == (screen_width - 1)) { x -= 200; } - if (y == (gdk_screen_get_height(screen) - 1)) { + if (y == (screen_height - 1)) { y -= 200; } -- 1.8.3.1 ^ permalink raw reply related [flat|nested] 19+ messages in thread
* [Qemu-devel] [PULL 4/6] ui/gtk: Fix non-working DELETE key 2016-10-28 12:11 [Qemu-devel] [PULL 0/6] ui patch queue Gerd Hoffmann ` (2 preceding siblings ...) 2016-10-28 12:11 ` [Qemu-devel] [PULL 3/6] gtk: fix compilation warning with gtk 3.22.2 Gerd Hoffmann @ 2016-10-28 12:11 ` Gerd Hoffmann 2016-10-28 12:11 ` [Qemu-devel] [PULL 5/6] curses: fix left/right arrow translation Gerd Hoffmann ` (2 subsequent siblings) 6 siblings, 0 replies; 19+ messages in thread From: Gerd Hoffmann @ 2016-10-28 12:11 UTC (permalink / raw) To: qemu-devel; +Cc: Thomas Huth, Gerd Hoffmann From: Thomas Huth <thuth@redhat.com> GTK generates key events for the delete key with key->string[0] = 0x7f ... but this does not work right with the readline_handle_byte() function in util/readline.c, since this treats the keycode 127 as backspace. So let's add a special case for the GTK delete key to make this key behave right in the monitor interface of the GTK ui. Buglink: https://bugs.launchpad.net/qemu/+bug/1619438 Signed-off-by: Thomas Huth <thuth@redhat.com> Message-id: 1477570647-7100-1-git-send-email-thuth@redhat.com Signed-off-by: Gerd Hoffmann <kraxel@redhat.com> --- ui/gtk.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/ui/gtk.c b/ui/gtk.c index dd13982..ca737c4 100644 --- a/ui/gtk.c +++ b/ui/gtk.c @@ -1070,7 +1070,9 @@ static gboolean gd_text_key_down(GtkWidget *widget, VirtualConsole *vc = opaque; QemuConsole *con = vc->gfx.dcl.con; - if (key->length) { + if (key->keyval == GDK_KEY_Delete) { + kbd_put_qcode_console(con, Q_KEY_CODE_DELETE); + } else if (key->length) { kbd_put_string_console(con, key->string, key->length); } else { int num = gd_map_keycode(vc->s, gtk_widget_get_display(widget), -- 1.8.3.1 ^ permalink raw reply related [flat|nested] 19+ messages in thread
* [Qemu-devel] [PULL 5/6] curses: fix left/right arrow translation 2016-10-28 12:11 [Qemu-devel] [PULL 0/6] ui patch queue Gerd Hoffmann ` (3 preceding siblings ...) 2016-10-28 12:11 ` [Qemu-devel] [PULL 4/6] ui/gtk: Fix non-working DELETE key Gerd Hoffmann @ 2016-10-28 12:11 ` Gerd Hoffmann 2016-10-28 12:11 ` [Qemu-devel] [PULL 6/6] curses: Use cursesw instead of curses Gerd Hoffmann 2016-10-28 17:55 ` [Qemu-devel] [PULL 0/6] ui patch queue Peter Maydell 6 siblings, 0 replies; 19+ messages in thread From: Gerd Hoffmann @ 2016-10-28 12:11 UTC (permalink / raw) To: qemu-devel; +Cc: Samuel Thibault, Gerd Hoffmann From: Samuel Thibault <samuel.thibault@ens-lyon.org> In default VGA font, left/right arrow are glyphs 0x1a and 0x1b, not 0x0a and 0x0b. Signed-off-by: Samuel Thibault <samuel.thibault@ens-lyon.org> Message-id: 20161015195308.20473-2-samuel.thibault@ens-lyon.org Signed-off-by: Gerd Hoffmann <kraxel@redhat.com> --- ui/curses.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/ui/curses.c b/ui/curses.c index d06f724..2e132a7 100644 --- a/ui/curses.c +++ b/ui/curses.c @@ -369,10 +369,10 @@ static void curses_setup(void) /* ACS_* is not constant. So, we can't initialize statically. */ vga_to_curses['\0'] = ' '; vga_to_curses[0x04] = ACS_DIAMOND; - vga_to_curses[0x0a] = ACS_RARROW; - vga_to_curses[0x0b] = ACS_LARROW; vga_to_curses[0x18] = ACS_UARROW; vga_to_curses[0x19] = ACS_DARROW; + vga_to_curses[0x1a] = ACS_RARROW; + vga_to_curses[0x1b] = ACS_LARROW; vga_to_curses[0x9c] = ACS_STERLING; vga_to_curses[0xb0] = ACS_BOARD; vga_to_curses[0xb1] = ACS_CKBOARD; -- 1.8.3.1 ^ permalink raw reply related [flat|nested] 19+ messages in thread
* [Qemu-devel] [PULL 6/6] curses: Use cursesw instead of curses 2016-10-28 12:11 [Qemu-devel] [PULL 0/6] ui patch queue Gerd Hoffmann ` (4 preceding siblings ...) 2016-10-28 12:11 ` [Qemu-devel] [PULL 5/6] curses: fix left/right arrow translation Gerd Hoffmann @ 2016-10-28 12:11 ` Gerd Hoffmann 2016-10-31 11:45 ` Cornelia Huck 2016-10-28 17:55 ` [Qemu-devel] [PULL 0/6] ui patch queue Peter Maydell 6 siblings, 1 reply; 19+ messages in thread From: Gerd Hoffmann @ 2016-10-28 12:11 UTC (permalink / raw) To: qemu-devel; +Cc: Samuel Thibault, Gerd Hoffmann From: Samuel Thibault <samuel.thibault@ens-lyon.org> Use ncursesw package instead of curses on non-mingw, and check a few functions. Also take cflags from pkg-config, since cursesw headers may be in a separate, non-default directory. Signed-off-by: Samuel Thibault <samuel.thibault@ens-lyon.org> Message-id: 20161015195308.20473-3-samuel.thibault@ens-lyon.org Signed-off-by: Gerd Hoffmann <kraxel@redhat.com> --- configure | 29 ++++++++++++++++++++--------- 1 file changed, 20 insertions(+), 9 deletions(-) diff --git a/configure b/configure index 8e10059..5e44469 100755 --- a/configure +++ b/configure @@ -2917,27 +2917,38 @@ fi # curses probe if test "$curses" != "no" ; then if test "$mingw32" = "yes" ; then - curses_list="$($pkg_config --libs ncurses 2>/dev/null):-lpdcurses" + curses_inc_list="$($pkg_config --cflags ncurses 2>/dev/null):" + curses_lib_list="$($pkg_config --libs ncurses 2>/dev/null):-lpdcurses" else - curses_list="$($pkg_config --libs ncurses 2>/dev/null):-lncurses:-lcurses" + curses_inc_list="$($pkg_config --cflags ncursesw 2>/dev/null):" + curses_lib_list="$($pkg_config --libs ncursesw 2>/dev/null):-lncursesw:-lcursesw" fi curses_found=no cat > $TMPC << EOF +#include <locale.h> #include <curses.h> +#include <wchar.h> int main(void) { const char *s = curses_version(); + wchar_t wch = L'w'; + setlocale(LC_ALL, ""); resize_term(0, 0); + addwstr(L"wide chars\n"); + addnwstr(&wch, 1); return s != 0; } EOF IFS=: - for curses_lib in $curses_list; do - unset IFS - if compile_prog "" "$curses_lib" ; then - curses_found=yes - libs_softmmu="$curses_lib $libs_softmmu" - break - fi + for curses_inc in $curses_inc_list; do + for curses_lib in $curses_lib_list; do + unset IFS + if compile_prog "$curses_inc" "$curses_lib" ; then + curses_found=yes + QEMU_CFLAGS="$curses_inc $QEMU_CFLAGS" + libs_softmmu="$curses_lib $libs_softmmu" + break + fi + done done unset IFS if test "$curses_found" = "yes" ; then -- 1.8.3.1 ^ permalink raw reply related [flat|nested] 19+ messages in thread
* Re: [Qemu-devel] [PULL 6/6] curses: Use cursesw instead of curses 2016-10-28 12:11 ` [Qemu-devel] [PULL 6/6] curses: Use cursesw instead of curses Gerd Hoffmann @ 2016-10-31 11:45 ` Cornelia Huck 2016-10-31 12:01 ` Samuel Thibault 0 siblings, 1 reply; 19+ messages in thread From: Cornelia Huck @ 2016-10-31 11:45 UTC (permalink / raw) To: Gerd Hoffmann, Samuel Thibault; +Cc: qemu-devel On Fri, 28 Oct 2016 14:11:38 +0200 Gerd Hoffmann <kraxel@redhat.com> wrote: > From: Samuel Thibault <samuel.thibault@ens-lyon.org> > > Use ncursesw package instead of curses on non-mingw, and check a few > functions. > Also take cflags from pkg-config, since cursesw headers may be in a > separate, non-default directory. > > Signed-off-by: Samuel Thibault <samuel.thibault@ens-lyon.org> > Message-id: 20161015195308.20473-3-samuel.thibault@ens-lyon.org > Signed-off-by: Gerd Hoffmann <kraxel@redhat.com> > --- > configure | 29 ++++++++++++++++++++--------- > 1 file changed, 20 insertions(+), 9 deletions(-) This seems to break configure on one of the systems I use (which may or may not have a broken setup). SLES12SP1 (s390x) without curses in the output of pkg-config --list-all, but headers seem to be present (? -- I'm not the admin). Other systems (Fedora and Ubuntu) are fine. Before this commit, configure detected curses=yes and all seemed well. Now, configure barfs about -Werror. Some snippets from config.log: # QEMU configure log Mon Oct 31 12:35:26 CET 2016 # Configured with: '/home/cohuck/git/qemu/build/../configure' '--target-list=s39 0x-softmmu s390x-linux-user' '--enable-kvm' '--enable-vhost-net' '--enable-linux -aio' cc -m64 -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -Wstrict-protot ypes -Wredundant-decls -Wall -Wundef -Wwrite-strings -Wmissing-prototypes -fno-s trict-aliasing -fno-common -fwrapv -Wendif-labels -Wmissing-include-dirs -Wempty -body -Wnested-externs -Wformat-security -Wformat-y2k -Winit-self -Wignored-qual ifiers -Wold-style-declaration -Wold-style-definition -Wtype-limits -fstack-prot ector-all -I/usr/include/libpng16 -o config-temp/qemu-conf.exe config-temp/qemu- conf.c -m64 -g config-temp/qemu-conf.c: In function ‘main’: config-temp/qemu-conf.c:9:3: warning: implicit declaration of function ‘addwstr’ [-Wimplicit-function-declaration] addwstr(L"wide chars\n"); ^ config-temp/qemu-conf.c:9:3: warning: nested extern declaration of ‘addwstr’ [-Wnested-externs] config-temp/qemu-conf.c:10:3: warning: implicit declaration of function ‘addnwstr’ [-Wimplicit-function-declaration] addnwstr(&wch, 1); ^ config-temp/qemu-conf.c:10:3: warning: nested extern declaration of ‘addnwstr’ [-Wnested-externs] /tmp/ccgsfoYo.o: In function `main': /home/cohuck/git/qemu/build/config-temp/qemu-conf.c:5: undefined reference to `curses_version' /home/cohuck/git/qemu/build/config-temp/qemu-conf.c:8: undefined reference to `resize_term' /home/cohuck/git/qemu/build/config-temp/qemu-conf.c:9: undefined reference to `addwstr' /home/cohuck/git/qemu/build/config-temp/qemu-conf.c:10: undefined reference to `addnwstr' collect2: error: ld returned 1 exit status cc -m64 -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -Wstrict-prototypes -Wredundant-decls -Wall -Wundef -Wwrite-strings -Wmissing-prototypes -fno-strict-aliasing -fno-common -fwrapv -Wendif-labels -Wmissing-include-dirs -Wempty-body -Wnested-externs -Wformat-security -Wformat-y2k -Winit-self -Wignored-qualifiers -Wold-style-declaration -Wold-style-definition -Wtype-limits -fstack-protector-all -I/usr/include/libpng16 -o config-temp/qemu-conf.exe config-temp/qemu-conf.c -m64 -g -lncursesw config-temp/qemu-conf.c: In function ‘main’: config-temp/qemu-conf.c:9:3: warning: implicit declaration of function ‘addwstr’ [-Wimplicit-function-declaration] addwstr(L"wide chars\n"); ^ config-temp/qemu-conf.c:9:3: warning: nested extern declaration of ‘addwstr’ [-Wnested-externs] config-temp/qemu-conf.c:10:3: warning: implicit declaration of function ‘addnwstr’ [-Wimplicit-function-declaration] addnwstr(&wch, 1); ^ config-temp/qemu-conf.c:10:3: warning: nested extern declaration of ‘addnwstr’ [-Wnested-externs] /tmp/ccgsfoYo.o: In function `main': /home/cohuck/git/qemu/build/config-temp/qemu-conf.c:5: undefined reference to `curses_version' /home/cohuck/git/qemu/build/config-temp/qemu-conf.c:8: undefined reference to `resize_term' /home/cohuck/git/qemu/build/config-temp/qemu-conf.c:9: undefined reference to `addwstr' /home/cohuck/git/qemu/build/config-temp/qemu-conf.c:10: undefined reference to `addnwstr' collect2: error: ld returned 1 exit status cc -m64 -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -Wstrict-prototypes -Wredundant-decls -Wall -Wundef -Wwrite-strings -Wmissing-prototypes -fno-strict-aliasing -fno-common -fwrapv -Wendif-labels -Wmissing-include-dirs -Wempty-body -Wnested-externs -Wformat-security -Wformat-y2k -Winit-self -Wignored-qualifiers -Wold-style-declaration -Wold-style-definition -Wtype-limits -fstack-protector-all -I/usr/include/libpng16 -o config-temp/qemu-conf.exe config-temp/qemu-conf.c -m64 -g -lncursesw config-temp/qemu-conf.c: In function ‘main’: config-temp/qemu-conf.c:9:3: warning: implicit declaration of function ‘addwstr’ [-Wimplicit-function-declaration] addwstr(L"wide chars\n"); ^ config-temp/qemu-conf.c:9:3: warning: nested extern declaration of ‘addwstr’ [-Wnested-externs] config-temp/qemu-conf.c:10:3: warning: implicit declaration of function ‘addnwstr’ [-Wimplicit-function-declaration] addnwstr(&wch, 1); ^ config-temp/qemu-conf.c:10:3: warning: nested extern declaration of ‘addnwstr’ [-Wnested-externs] cc -Werror -m64 -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -Wstrict-prototypes -Wredundant-decls -Wall -Wundef -Wwrite-strings -Wmissing-prototypes -fno-strict-aliasing -fno-common -fwrapv -Wendif-labels -Wmissing-include-dirs -Wempty-body -Wnested-externs -Wformat-security -Wformat-y2k -Winit-self -Wignored-qualifiers -Wold-style-declaration -Wold-style-definition -Wtype-limits -fstack-protector-all -I/usr/include/libpng16 -o config-temp/qemu-conf.exe config-temp/qemu-conf.c -m64 -g -lncursesw config-temp/qemu-conf.c: In function ‘main’: config-temp/qemu-conf.c:9:3: error: implicit declaration of function ‘addwstr’ [-Werror=implicit-function-declaration] addwstr(L"wide chars\n"); ^ config-temp/qemu-conf.c:9:3: error: nested extern declaration of ‘addwstr’ [-Werror=nested-externs] config-temp/qemu-conf.c:10:3: error: implicit declaration of function ‘addnwstr’ [-Werror=implicit-function-declaration] addnwstr(&wch, 1); ^ config-temp/qemu-conf.c:10:3: error: nested extern declaration of ‘addnwstr’ [-Werror=nested-externs] cc1: all warnings being treated as errors As said, I'm not sure whether this system has a sane setup, and I'm just a user there. Just noticed this new breakage (which goes away with --disable-curses). ^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: [Qemu-devel] [PULL 6/6] curses: Use cursesw instead of curses 2016-10-31 11:45 ` Cornelia Huck @ 2016-10-31 12:01 ` Samuel Thibault 2016-10-31 12:05 ` Samuel Thibault 2016-10-31 12:08 ` Cornelia Huck 0 siblings, 2 replies; 19+ messages in thread From: Samuel Thibault @ 2016-10-31 12:01 UTC (permalink / raw) To: Cornelia Huck; +Cc: Gerd Hoffmann, qemu-devel Cornelia Huck, on Mon 31 Oct 2016 12:45:30 +0100, wrote: > > From: Samuel Thibault <samuel.thibault@ens-lyon.org> > > > > Use ncursesw package instead of curses on non-mingw, and check a few > > functions. > > Also take cflags from pkg-config, since cursesw headers may be in a > > separate, non-default directory. > > > > Signed-off-by: Samuel Thibault <samuel.thibault@ens-lyon.org> > > Message-id: 20161015195308.20473-3-samuel.thibault@ens-lyon.org > > Signed-off-by: Gerd Hoffmann <kraxel@redhat.com> > > --- > > configure | 29 ++++++++++++++++++++--------- > > 1 file changed, 20 insertions(+), 9 deletions(-) > > This seems to break configure on one of the systems I use (which may or > may not have a broken setup). SLES12SP1 (s390x) without curses in the > output of pkg-config --list-all, but headers seem to be present (? -- > I'm not the admin). Other systems (Fedora and Ubuntu) are fine. > config-temp/qemu-conf.c:9:3: warning: implicit declaration of function ‘addwstr’ [-Wimplicit-function-declaration] Bleh. Could you try to replace #include <curses.h> with #include <cursesw.h> in ui/curses.c, to see whether that fixes the missing declaration on that system? We could be trying both headers to look for the wide functions and include the one which works. Samuel ^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: [Qemu-devel] [PULL 6/6] curses: Use cursesw instead of curses 2016-10-31 12:01 ` Samuel Thibault @ 2016-10-31 12:05 ` Samuel Thibault 2016-10-31 12:08 ` Cornelia Huck 1 sibling, 0 replies; 19+ messages in thread From: Samuel Thibault @ 2016-10-31 12:05 UTC (permalink / raw) To: Cornelia Huck; +Cc: Gerd Hoffmann, qemu-devel Samuel Thibault, on Mon 31 Oct 2016 13:01:59 +0100, wrote: > Cornelia Huck, on Mon 31 Oct 2016 12:45:30 +0100, wrote: > > > From: Samuel Thibault <samuel.thibault@ens-lyon.org> > > > > > > Use ncursesw package instead of curses on non-mingw, and check a few > > > functions. > > > Also take cflags from pkg-config, since cursesw headers may be in a > > > separate, non-default directory. > > > > > > Signed-off-by: Samuel Thibault <samuel.thibault@ens-lyon.org> > > > Message-id: 20161015195308.20473-3-samuel.thibault@ens-lyon.org > > > Signed-off-by: Gerd Hoffmann <kraxel@redhat.com> > > > --- > > > configure | 29 ++++++++++++++++++++--------- > > > 1 file changed, 20 insertions(+), 9 deletions(-) > > > > This seems to break configure on one of the systems I use (which may or > > may not have a broken setup). SLES12SP1 (s390x) without curses in the > > output of pkg-config --list-all, but headers seem to be present (? -- > > I'm not the admin). Other systems (Fedora and Ubuntu) are fine. > > > config-temp/qemu-conf.c:9:3: warning: implicit declaration of function ‘addwstr’ [-Wimplicit-function-declaration] > > We could be trying both headers to look for the wide > functions and include the one which works. I'm however surprised that this didn't get catched by configure, we do look for addwstr there. Could you also post the config.log? Thanks, Samuel ^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: [Qemu-devel] [PULL 6/6] curses: Use cursesw instead of curses 2016-10-31 12:01 ` Samuel Thibault 2016-10-31 12:05 ` Samuel Thibault @ 2016-10-31 12:08 ` Cornelia Huck 2016-10-31 12:16 ` Samuel Thibault 2016-10-31 12:39 ` Samuel Thibault 1 sibling, 2 replies; 19+ messages in thread From: Cornelia Huck @ 2016-10-31 12:08 UTC (permalink / raw) To: Samuel Thibault; +Cc: Gerd Hoffmann, qemu-devel On Mon, 31 Oct 2016 13:01:59 +0100 Samuel Thibault <samuel.thibault@gnu.org> wrote: > Cornelia Huck, on Mon 31 Oct 2016 12:45:30 +0100, wrote: > > > From: Samuel Thibault <samuel.thibault@ens-lyon.org> > > > > > > Use ncursesw package instead of curses on non-mingw, and check a few > > > functions. > > > Also take cflags from pkg-config, since cursesw headers may be in a > > > separate, non-default directory. > > > > > > Signed-off-by: Samuel Thibault <samuel.thibault@ens-lyon.org> > > > Message-id: 20161015195308.20473-3-samuel.thibault@ens-lyon.org > > > Signed-off-by: Gerd Hoffmann <kraxel@redhat.com> > > > --- > > > configure | 29 ++++++++++++++++++++--------- > > > 1 file changed, 20 insertions(+), 9 deletions(-) > > > > This seems to break configure on one of the systems I use (which may or > > may not have a broken setup). SLES12SP1 (s390x) without curses in the > > output of pkg-config --list-all, but headers seem to be present (? -- > > I'm not the admin). Other systems (Fedora and Ubuntu) are fine. > > > config-temp/qemu-conf.c:9:3: warning: implicit declaration of function ‘addwstr’ [-Wimplicit-function-declaration] > > Bleh. > > Could you try to replace #include <curses.h> with #include <cursesw.h> > in ui/curses.c, to see whether that fixes the missing declaration on > that system? We could be trying both headers to look for the wide > functions and include the one which works. You mean in configure, right? Including cursesw.h in the test program gets configure going again. ^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: [Qemu-devel] [PULL 6/6] curses: Use cursesw instead of curses 2016-10-31 12:08 ` Cornelia Huck @ 2016-10-31 12:16 ` Samuel Thibault 2016-10-31 12:39 ` Samuel Thibault 1 sibling, 0 replies; 19+ messages in thread From: Samuel Thibault @ 2016-10-31 12:16 UTC (permalink / raw) To: Cornelia Huck; +Cc: Gerd Hoffmann, qemu-devel Cornelia Huck, on Mon 31 Oct 2016 13:08:06 +0100, wrote: > On Mon, 31 Oct 2016 13:01:59 +0100 > Samuel Thibault <samuel.thibault@gnu.org> wrote: > > > Cornelia Huck, on Mon 31 Oct 2016 12:45:30 +0100, wrote: > > > config-temp/qemu-conf.c:9:3: warning: implicit declaration of function ‘addwstr’ [-Wimplicit-function-declaration] > > > > Bleh. > > > > Could you try to replace #include <curses.h> with #include <cursesw.h> > > in ui/curses.c, to see whether that fixes the missing declaration on > > that system? We could be trying both headers to look for the wide > > functions and include the one which works. > > You mean in configure, right? Ah, sorry, I read too fast, I thought what you had was a build failure, not a configuration failure. > Including cursesw.h in the test program gets configure going again. Ok, that makes sense, thanks. Samuel ^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: [Qemu-devel] [PULL 6/6] curses: Use cursesw instead of curses 2016-10-31 12:08 ` Cornelia Huck 2016-10-31 12:16 ` Samuel Thibault @ 2016-10-31 12:39 ` Samuel Thibault 2016-10-31 12:48 ` Cornelia Huck 1 sibling, 1 reply; 19+ messages in thread From: Samuel Thibault @ 2016-10-31 12:39 UTC (permalink / raw) To: Cornelia Huck; +Cc: Gerd Hoffmann, qemu-devel [-- Attachment #1: Type: text/plain, Size: 253 bytes --] Cornelia Huck, on Mon 31 Oct 2016 13:08:06 +0100, wrote: > You mean in configure, right? Including cursesw.h in the test program > gets configure going again. Could you try the attached patch which fixes both configure and ui/curses.c? Thanks, Samuel [-- Attachment #2: patch --] [-- Type: text/plain, Size: 1260 bytes --] diff --git a/configure b/configure index f83cdf8..bae01f0 100755 --- a/configure +++ b/configure @@ -2920,13 +2920,17 @@ if test "$curses" != "no" ; then curses_inc_list="$($pkg_config --cflags ncurses 2>/dev/null):" curses_lib_list="$($pkg_config --libs ncurses 2>/dev/null):-lpdcurses" else - curses_inc_list="$($pkg_config --cflags ncursesw 2>/dev/null):" + curses_inc_list="$($pkg_config --cflags ncursesw 2>/dev/null):-DCONFIG_CURSESW_H:" curses_lib_list="$($pkg_config --libs ncursesw 2>/dev/null):-lncursesw:-lcursesw" fi curses_found=no cat > $TMPC << EOF #include <locale.h> +#ifdef CONFIG_CURSESW_H +#include <cursesw.h> +#else #include <curses.h> +#endif #include <wchar.h> int main(void) { const char *s = curses_version(); @@ -2949,6 +2953,9 @@ EOF break fi done + if test "$curses_found" = yes ; then + break + fi done unset IFS if test "$curses_found" = "yes" ; then diff --git a/ui/curses.c b/ui/curses.c index 2e132a7..cb61073 100644 --- a/ui/curses.c +++ b/ui/curses.c @@ -22,7 +22,11 @@ * THE SOFTWARE. */ #include "qemu/osdep.h" +#ifdef CONFIG_CURSESW_H +#include <cursesw.h> +#else #include <curses.h> +#endif #ifndef _WIN32 #include <sys/ioctl.h> ^ permalink raw reply related [flat|nested] 19+ messages in thread
* Re: [Qemu-devel] [PULL 6/6] curses: Use cursesw instead of curses 2016-10-31 12:39 ` Samuel Thibault @ 2016-10-31 12:48 ` Cornelia Huck 2016-10-31 14:03 ` Samuel Thibault 0 siblings, 1 reply; 19+ messages in thread From: Cornelia Huck @ 2016-10-31 12:48 UTC (permalink / raw) To: Samuel Thibault; +Cc: Gerd Hoffmann, qemu-devel On Mon, 31 Oct 2016 13:39:30 +0100 Samuel Thibault <samuel.thibault@gnu.org> wrote: > Cornelia Huck, on Mon 31 Oct 2016 13:08:06 +0100, wrote: > > You mean in configure, right? Including cursesw.h in the test program > > gets configure going again. > > Could you try the attached patch which fixes both configure and > ui/curses.c? Sadly, this does not fix it for me. I get the same errors in the configure test build as before. ^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: [Qemu-devel] [PULL 6/6] curses: Use cursesw instead of curses 2016-10-31 12:48 ` Cornelia Huck @ 2016-10-31 14:03 ` Samuel Thibault 2016-10-31 13:08 ` Cornelia Huck 0 siblings, 1 reply; 19+ messages in thread From: Samuel Thibault @ 2016-10-31 14:03 UTC (permalink / raw) To: Cornelia Huck; +Cc: Gerd Hoffmann, qemu-devel Cornelia Huck, on Mon 31 Oct 2016 13:48:01 +0100, wrote: > On Mon, 31 Oct 2016 13:39:30 +0100 > Samuel Thibault <samuel.thibault@gnu.org> wrote: > > > Cornelia Huck, on Mon 31 Oct 2016 13:08:06 +0100, wrote: > > > You mean in configure, right? Including cursesw.h in the test program > > > gets configure going again. > > > > Could you try the attached patch which fixes both configure and > > ui/curses.c? > > Sadly, this does not fix it for me. I get the same errors in the > configure test build as before. Could you post the config.log so we get a better view at what is going wrong? Thanks, Samuel ^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: [Qemu-devel] [PULL 6/6] curses: Use cursesw instead of curses 2016-10-31 14:03 ` Samuel Thibault @ 2016-10-31 13:08 ` Cornelia Huck 2016-10-31 15:39 ` Samuel Thibault 0 siblings, 1 reply; 19+ messages in thread From: Cornelia Huck @ 2016-10-31 13:08 UTC (permalink / raw) To: Samuel Thibault; +Cc: Gerd Hoffmann, qemu-devel On Mon, 31 Oct 2016 15:03:33 +0100 Samuel Thibault <samuel.thibault@gnu.org> wrote: > Cornelia Huck, on Mon 31 Oct 2016 13:48:01 +0100, wrote: > > On Mon, 31 Oct 2016 13:39:30 +0100 > > Samuel Thibault <samuel.thibault@gnu.org> wrote: > > > > > Cornelia Huck, on Mon 31 Oct 2016 13:08:06 +0100, wrote: > > > > You mean in configure, right? Including cursesw.h in the test program > > > > gets configure going again. > > > > > > Could you try the attached patch which fixes both configure and > > > ui/curses.c? > > > > Sadly, this does not fix it for me. I get the same errors in the > > configure test build as before. > > Could you post the config.log so we get a better view at what is going > wrong? Attached. # QEMU configure log Mon Oct 31 13:46:31 CET 2016 # Configured with: '/home/cohuck/git/qemu/build/../configure' '--target-list=s390x-softmmu s390x-linux-user' '--enable-kvm' '--enable-vhost-net' '--enable-linux-aio' # cc -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -Wstrict-prototypes -Wredundant-decls -Wall -Wundef -Wwrite-strings -Wmissing-prototypes -fno-strict-aliasing -fno-common -fwrapv -c -o config-temp/qemu-conf.o config-temp/qemu-conf.c cc -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -Wstrict-prototypes -Wredundant-decls -Wall -Wundef -Wwrite-strings -Wmissing-prototypes -fno-strict-aliasing -fno-common -fwrapv -c -o config-temp/qemu-conf.o config-temp/qemu-conf.c config-temp/qemu-conf.c:2:2: error: #error __i386__ not defined #error __i386__ not defined ^ cc -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -Wstrict-prototypes -Wredundant-decls -Wall -Wundef -Wwrite-strings -Wmissing-prototypes -fno-strict-aliasing -fno-common -fwrapv -c -o config-temp/qemu-conf.o config-temp/qemu-conf.c config-temp/qemu-conf.c:2:2: error: #error __x86_64__ not defined #error __x86_64__ not defined ^ cc -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -Wstrict-prototypes -Wredundant-decls -Wall -Wundef -Wwrite-strings -Wmissing-prototypes -fno-strict-aliasing -fno-common -fwrapv -c -o config-temp/qemu-conf.o config-temp/qemu-conf.c config-temp/qemu-conf.c:2:2: error: #error __sparc__ not defined #error __sparc__ not defined ^ cc -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -Wstrict-prototypes -Wredundant-decls -Wall -Wundef -Wwrite-strings -Wmissing-prototypes -fno-strict-aliasing -fno-common -fwrapv -c -o config-temp/qemu-conf.o config-temp/qemu-conf.c config-temp/qemu-conf.c:2:2: error: #error _ARCH_PPC not defined #error _ARCH_PPC not defined ^ cc -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -Wstrict-prototypes -Wredundant-decls -Wall -Wundef -Wwrite-strings -Wmissing-prototypes -fno-strict-aliasing -fno-common -fwrapv -c -o config-temp/qemu-conf.o config-temp/qemu-conf.c config-temp/qemu-conf.c:2:2: error: #error __mips__ not defined #error __mips__ not defined ^ cc -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -Wstrict-prototypes -Wredundant-decls -Wall -Wundef -Wwrite-strings -Wmissing-prototypes -fno-strict-aliasing -fno-common -fwrapv -c -o config-temp/qemu-conf.o config-temp/qemu-conf.c config-temp/qemu-conf.c:2:2: error: #error __ia64__ not defined #error __ia64__ not defined ^ cc -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -Wstrict-prototypes -Wredundant-decls -Wall -Wundef -Wwrite-strings -Wmissing-prototypes -fno-strict-aliasing -fno-common -fwrapv -c -o config-temp/qemu-conf.o config-temp/qemu-conf.c cc -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -Wstrict-prototypes -Wredundant-decls -Wall -Wundef -Wwrite-strings -Wmissing-prototypes -fno-strict-aliasing -fno-common -fwrapv -c -o config-temp/qemu-conf.o config-temp/qemu-conf.c cc -m64 -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -Wstrict-prototypes -Wredundant-decls -Wall -Wundef -Wwrite-strings -Wmissing-prototypes -fno-strict-aliasing -fno-common -fwrapv -c -o config-temp/qemu-conf.o config-temp/qemu-conf.c cc -Werror -m64 -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -Wstrict-prototypes -Wredundant-decls -Wall -Wundef -Wwrite-strings -Wmissing-prototypes -fno-strict-aliasing -fno-common -fwrapv -c -o config-temp/qemu-conf.o config-temp/qemu-conf.c cc -m64 -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -Wstrict-prototypes -Wredundant-decls -Wall -Wundef -Wwrite-strings -Wmissing-prototypes -fno-strict-aliasing -fno-common -fwrapv -o config-temp/qemu-conf.exe config-temp/qemu-conf.c -m64 -g cc -Werror -m64 -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -Wstrict-prototypes -Wredundant-decls -Wall -Wundef -Wwrite-strings -Wmissing-prototypes -fno-strict-aliasing -fno-common -fwrapv -o config-temp/qemu-conf.exe config-temp/qemu-conf.c -m64 -g cc -m64 -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -Wstrict-prototypes -Wredundant-decls -Wall -Wundef -Wwrite-strings -Wmissing-prototypes -fno-strict-aliasing -fno-common -fwrapv -c -o config-temp/qemu-conf.o config-temp/qemu-conf.c cc -Werror -m64 -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -Wstrict-prototypes -Wredundant-decls -Wall -Wundef -Wwrite-strings -Wmissing-prototypes -fno-strict-aliasing -fno-common -fwrapv -c -o config-temp/qemu-conf.o config-temp/qemu-conf.c c++ -m64 -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -Wall -Wundef -Wwrite-strings -fno-strict-aliasing -fno-common -fwrapv -o config-temp/qemu-conf.exe config-temp/qemu-conf.cxx config-temp/qemu-conf.o -m64 -g c++ -Werror -m64 -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -Wall -Wundef -Wwrite-strings -fno-strict-aliasing -fno-common -fwrapv -o config-temp/qemu-conf.exe config-temp/qemu-conf.cxx config-temp/qemu-conf.o -m64 -g cc -m64 -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -Wstrict-prototypes -Wredundant-decls -Wall -Wundef -Wwrite-strings -Wmissing-prototypes -fno-strict-aliasing -fno-common -fwrapv -Werror -Wstring-plus-int -o config-temp/qemu-conf.exe config-temp/qemu-conf.c -m64 -g cc: error: unrecognized command line option ‘-Wstring-plus-int’ cc -m64 -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -Wstrict-prototypes -Wredundant-decls -Wall -Wundef -Wwrite-strings -Wmissing-prototypes -fno-strict-aliasing -fno-common -fwrapv -Werror -Winitializer-overrides -o config-temp/qemu-conf.exe config-temp/qemu-conf.c -m64 -g cc: error: unrecognized command line option ‘-Winitializer-overrides’ cc -m64 -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -Wstrict-prototypes -Wredundant-decls -Wall -Wundef -Wwrite-strings -Wmissing-prototypes -fno-strict-aliasing -fno-common -fwrapv -Werror -Wendif-labels -o config-temp/qemu-conf.exe config-temp/qemu-conf.c -m64 -g cc -m64 -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -Wstrict-prototypes -Wredundant-decls -Wall -Wundef -Wwrite-strings -Wmissing-prototypes -fno-strict-aliasing -fno-common -fwrapv -Wendif-labels -Werror -Wshift-negative-value -o config-temp/qemu-conf.exe config-temp/qemu-conf.c -m64 -g cc: error: unrecognized command line option ‘-Wshift-negative-value’ cc -m64 -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -Wstrict-prototypes -Wredundant-decls -Wall -Wundef -Wwrite-strings -Wmissing-prototypes -fno-strict-aliasing -fno-common -fwrapv -Wendif-labels -Werror -Wmissing-include-dirs -o config-temp/qemu-conf.exe config-temp/qemu-conf.c -m64 -g cc -m64 -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -Wstrict-prototypes -Wredundant-decls -Wall -Wundef -Wwrite-strings -Wmissing-prototypes -fno-strict-aliasing -fno-common -fwrapv -Wendif-labels -Wmissing-include-dirs -Werror -Wempty-body -o config-temp/qemu-conf.exe config-temp/qemu-conf.c -m64 -g cc -m64 -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -Wstrict-prototypes -Wredundant-decls -Wall -Wundef -Wwrite-strings -Wmissing-prototypes -fno-strict-aliasing -fno-common -fwrapv -Wendif-labels -Wmissing-include-dirs -Wempty-body -Werror -Wnested-externs -o config-temp/qemu-conf.exe config-temp/qemu-conf.c -m64 -g cc -m64 -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -Wstrict-prototypes -Wredundant-decls -Wall -Wundef -Wwrite-strings -Wmissing-prototypes -fno-strict-aliasing -fno-common -fwrapv -Wendif-labels -Wmissing-include-dirs -Wempty-body -Wnested-externs -Werror -Wformat-security -o config-temp/qemu-conf.exe config-temp/qemu-conf.c -m64 -g cc -m64 -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -Wstrict-prototypes -Wredundant-decls -Wall -Wundef -Wwrite-strings -Wmissing-prototypes -fno-strict-aliasing -fno-common -fwrapv -Wendif-labels -Wmissing-include-dirs -Wempty-body -Wnested-externs -Wformat-security -Werror -Wformat-y2k -o config-temp/qemu-conf.exe config-temp/qemu-conf.c -m64 -g cc -m64 -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -Wstrict-prototypes -Wredundant-decls -Wall -Wundef -Wwrite-strings -Wmissing-prototypes -fno-strict-aliasing -fno-common -fwrapv -Wendif-labels -Wmissing-include-dirs -Wempty-body -Wnested-externs -Wformat-security -Wformat-y2k -Werror -Winit-self -o config-temp/qemu-conf.exe config-temp/qemu-conf.c -m64 -g cc -m64 -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -Wstrict-prototypes -Wredundant-decls -Wall -Wundef -Wwrite-strings -Wmissing-prototypes -fno-strict-aliasing -fno-common -fwrapv -Wendif-labels -Wmissing-include-dirs -Wempty-body -Wnested-externs -Wformat-security -Wformat-y2k -Winit-self -Werror -Wignored-qualifiers -o config-temp/qemu-conf.exe config-temp/qemu-conf.c -m64 -g cc -m64 -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -Wstrict-prototypes -Wredundant-decls -Wall -Wundef -Wwrite-strings -Wmissing-prototypes -fno-strict-aliasing -fno-common -fwrapv -Wendif-labels -Wmissing-include-dirs -Wempty-body -Wnested-externs -Wformat-security -Wformat-y2k -Winit-self -Wignored-qualifiers -Werror -Wold-style-declaration -o config-temp/qemu-conf.exe config-temp/qemu-conf.c -m64 -g cc -m64 -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -Wstrict-prototypes -Wredundant-decls -Wall -Wundef -Wwrite-strings -Wmissing-prototypes -fno-strict-aliasing -fno-common -fwrapv -Wendif-labels -Wmissing-include-dirs -Wempty-body -Wnested-externs -Wformat-security -Wformat-y2k -Winit-self -Wignored-qualifiers -Wold-style-declaration -Werror -Wold-style-definition -o config-temp/qemu-conf.exe config-temp/qemu-conf.c -m64 -g cc -m64 -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -Wstrict-prototypes -Wredundant-decls -Wall -Wundef -Wwrite-strings -Wmissing-prototypes -fno-strict-aliasing -fno-common -fwrapv -Wendif-labels -Wmissing-include-dirs -Wempty-body -Wnested-externs -Wformat-security -Wformat-y2k -Winit-self -Wignored-qualifiers -Wold-style-declaration -Wold-style-definition -Werror -Wtype-limits -o config-temp/qemu-conf.exe config-temp/qemu-conf.c -m64 -g cc -m64 -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -Wstrict-prototypes -Wredundant-decls -Wall -Wundef -Wwrite-strings -Wmissing-prototypes -fno-strict-aliasing -fno-common -fwrapv -Wendif-labels -Wmissing-include-dirs -Wempty-body -Wnested-externs -Wformat-security -Wformat-y2k -Winit-self -Wignored-qualifiers -Wold-style-declaration -Wold-style-definition -Wtype-limits -Werror -fstack-protector-strong -c -o config-temp/qemu-conf.o config-temp/qemu-conf.c cc: error: unrecognized command line option ‘-fstack-protector-strong’ cc -m64 -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -Wstrict-prototypes -Wredundant-decls -Wall -Wundef -Wwrite-strings -Wmissing-prototypes -fno-strict-aliasing -fno-common -fwrapv -Wendif-labels -Wmissing-include-dirs -Wempty-body -Wnested-externs -Wformat-security -Wformat-y2k -Winit-self -Wignored-qualifiers -Wold-style-declaration -Wold-style-definition -Wtype-limits -Werror -fstack-protector-all -c -o config-temp/qemu-conf.o config-temp/qemu-conf.c cc -m64 -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -Wstrict-prototypes -Wredundant-decls -Wall -Wundef -Wwrite-strings -Wmissing-prototypes -fno-strict-aliasing -fno-common -fwrapv -Wendif-labels -Wmissing-include-dirs -Wempty-body -Wnested-externs -Wformat-security -Wformat-y2k -Winit-self -Wignored-qualifiers -Wold-style-declaration -Wold-style-definition -Wtype-limits -Werror -fstack-protector-all -o config-temp/qemu-conf.exe config-temp/qemu-conf.c -m64 -g cc -m64 -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -Wstrict-prototypes -Wredundant-decls -Wall -Wundef -Wwrite-strings -Wmissing-prototypes -fno-strict-aliasing -fno-common -fwrapv -Wendif-labels -Wmissing-include-dirs -Wempty-body -Wnested-externs -Wformat-security -Wformat-y2k -Winit-self -Wignored-qualifiers -Wold-style-declaration -Wold-style-definition -Wtype-limits -fstack-protector-all -Werror -fno-gcse -o config-temp/qemu-conf.exe config-temp/qemu-conf.c -m64 -g config-temp/qemu-conf.c:4:2: error: #error No bug in this compiler. #error No bug in this compiler. ^ cc -m64 -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -Wstrict-prototypes -Wredundant-decls -Wall -Wundef -Wwrite-strings -Wmissing-prototypes -fno-strict-aliasing -fno-common -fwrapv -Wendif-labels -Wmissing-include-dirs -Wempty-body -Wnested-externs -Wformat-security -Wformat-y2k -Winit-self -Wignored-qualifiers -Wold-style-declaration -Wold-style-definition -Wtype-limits -fstack-protector-all -Werror -o config-temp/qemu-conf.exe config-temp/qemu-conf.c -m64 -g cc -m64 -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -Wstrict-prototypes -Wredundant-decls -Wall -Wundef -Wwrite-strings -Wmissing-prototypes -fno-strict-aliasing -fno-common -fwrapv -Wendif-labels -Wmissing-include-dirs -Wempty-body -Wnested-externs -Wformat-security -Wformat-y2k -Winit-self -Wignored-qualifiers -Wold-style-declaration -Wold-style-definition -Wtype-limits -fstack-protector-all -c -o config-temp/qemu-conf.o config-temp/qemu-conf.c cc -Werror -m64 -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -Wstrict-prototypes -Wredundant-decls -Wall -Wundef -Wwrite-strings -Wmissing-prototypes -fno-strict-aliasing -fno-common -fwrapv -Wendif-labels -Wmissing-include-dirs -Wempty-body -Wnested-externs -Wformat-security -Wformat-y2k -Winit-self -Wignored-qualifiers -Wold-style-declaration -Wold-style-definition -Wtype-limits -fstack-protector-all -c -o config-temp/qemu-conf.o config-temp/qemu-conf.c cc -m64 -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -Wstrict-prototypes -Wredundant-decls -Wall -Wundef -Wwrite-strings -Wmissing-prototypes -fno-strict-aliasing -fno-common -fwrapv -Wendif-labels -Wmissing-include-dirs -Wempty-body -Wnested-externs -Wformat-security -Wformat-y2k -Winit-self -Wignored-qualifiers -Wold-style-declaration -Wold-style-definition -Wtype-limits -fstack-protector-all -Werror -c -o config-temp/qemu-conf.o config-temp/qemu-conf.c cc -m64 -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -Wstrict-prototypes -Wredundant-decls -Wall -Wundef -Wwrite-strings -Wmissing-prototypes -fno-strict-aliasing -fno-common -fwrapv -Wendif-labels -Wmissing-include-dirs -Wempty-body -Wnested-externs -Wformat-security -Wformat-y2k -Winit-self -Wignored-qualifiers -Wold-style-declaration -Wold-style-definition -Wtype-limits -fstack-protector-all -o config-temp/qemu-conf.exe config-temp/qemu-conf.c -m64 -g cc -Werror -m64 -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -Wstrict-prototypes -Wredundant-decls -Wall -Wundef -Wwrite-strings -Wmissing-prototypes -fno-strict-aliasing -fno-common -fwrapv -Wendif-labels -Wmissing-include-dirs -Wempty-body -Wnested-externs -Wformat-security -Wformat-y2k -Winit-self -Wignored-qualifiers -Wold-style-declaration -Wold-style-definition -Wtype-limits -fstack-protector-all -o config-temp/qemu-conf.exe config-temp/qemu-conf.c -m64 -g cc -m64 -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -Wstrict-prototypes -Wredundant-decls -Wall -Wundef -Wwrite-strings -Wmissing-prototypes -fno-strict-aliasing -fno-common -fwrapv -Wendif-labels -Wmissing-include-dirs -Wempty-body -Wnested-externs -Wformat-security -Wformat-y2k -Winit-self -Wignored-qualifiers -Wold-style-declaration -Wold-style-definition -Wtype-limits -fstack-protector-all -c -o config-temp/qemu-conf.o config-temp/qemu-conf.c cc -Werror -m64 -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -Wstrict-prototypes -Wredundant-decls -Wall -Wundef -Wwrite-strings -Wmissing-prototypes -fno-strict-aliasing -fno-common -fwrapv -Wendif-labels -Wmissing-include-dirs -Wempty-body -Wnested-externs -Wformat-security -Wformat-y2k -Winit-self -Wignored-qualifiers -Wold-style-declaration -Wold-style-definition -Wtype-limits -fstack-protector-all -c -o config-temp/qemu-conf.o config-temp/qemu-conf.c cc -m64 -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -Wstrict-prototypes -Wredundant-decls -Wall -Wundef -Wwrite-strings -Wmissing-prototypes -fno-strict-aliasing -fno-common -fwrapv -Wendif-labels -Wmissing-include-dirs -Wempty-body -Wnested-externs -Wformat-security -Wformat-y2k -Winit-self -Wignored-qualifiers -Wold-style-declaration -Wold-style-definition -Wtype-limits -fstack-protector-all -c -o config-temp/qemu-conf.o config-temp/qemu-conf.c config-temp/qemu-conf.c:2:9: warning: #pragma GCC target is not supported for this machine [-Wpragmas] #pragma GCC target("avx2") ^ config-temp/qemu-conf.c:3:19: fatal error: cpuid.h: No such file or directory #include <cpuid.h> ^ compilation terminated. cc -m64 -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -Wstrict-prototypes -Wredundant-decls -Wall -Wundef -Wwrite-strings -Wmissing-prototypes -fno-strict-aliasing -fno-common -fwrapv -Wendif-labels -Wmissing-include-dirs -Wempty-body -Wnested-externs -Wformat-security -Wformat-y2k -Winit-self -Wignored-qualifiers -Wold-style-declaration -Wold-style-definition -Wtype-limits -fstack-protector-all -o config-temp/qemu-conf.exe config-temp/qemu-conf.c -m64 -g -lz cc -Werror -m64 -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -Wstrict-prototypes -Wredundant-decls -Wall -Wundef -Wwrite-strings -Wmissing-prototypes -fno-strict-aliasing -fno-common -fwrapv -Wendif-labels -Wmissing-include-dirs -Wempty-body -Wnested-externs -Wformat-security -Wformat-y2k -Winit-self -Wignored-qualifiers -Wold-style-declaration -Wold-style-definition -Wtype-limits -fstack-protector-all -o config-temp/qemu-conf.exe config-temp/qemu-conf.c -m64 -g -lz cc -m64 -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -Wstrict-prototypes -Wredundant-decls -Wall -Wundef -Wwrite-strings -Wmissing-prototypes -fno-strict-aliasing -fno-common -fwrapv -Wendif-labels -Wmissing-include-dirs -Wempty-body -Wnested-externs -Wformat-security -Wformat-y2k -Winit-self -Wignored-qualifiers -Wold-style-declaration -Wold-style-definition -Wtype-limits -fstack-protector-all -o config-temp/qemu-conf.exe config-temp/qemu-conf.c -m64 -g -llzo2 cc -Werror -m64 -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -Wstrict-prototypes -Wredundant-decls -Wall -Wundef -Wwrite-strings -Wmissing-prototypes -fno-strict-aliasing -fno-common -fwrapv -Wendif-labels -Wmissing-include-dirs -Wempty-body -Wnested-externs -Wformat-security -Wformat-y2k -Winit-self -Wignored-qualifiers -Wold-style-declaration -Wold-style-definition -Wtype-limits -fstack-protector-all -o config-temp/qemu-conf.exe config-temp/qemu-conf.c -m64 -g -llzo2 cc -m64 -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -Wstrict-prototypes -Wredundant-decls -Wall -Wundef -Wwrite-strings -Wmissing-prototypes -fno-strict-aliasing -fno-common -fwrapv -Wendif-labels -Wmissing-include-dirs -Wempty-body -Wnested-externs -Wformat-security -Wformat-y2k -Winit-self -Wignored-qualifiers -Wold-style-declaration -Wold-style-definition -Wtype-limits -fstack-protector-all -o config-temp/qemu-conf.exe config-temp/qemu-conf.c -m64 -g -lsnappy config-temp/qemu-conf.c:1:22: fatal error: snappy-c.h: No such file or directory #include <snappy-c.h> ^ compilation terminated. cc -m64 -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -Wstrict-prototypes -Wredundant-decls -Wall -Wundef -Wwrite-strings -Wmissing-prototypes -fno-strict-aliasing -fno-common -fwrapv -Wendif-labels -Wmissing-include-dirs -Wempty-body -Wnested-externs -Wformat-security -Wformat-y2k -Winit-self -Wignored-qualifiers -Wold-style-declaration -Wold-style-definition -Wtype-limits -fstack-protector-all -o config-temp/qemu-conf.exe config-temp/qemu-conf.c -m64 -g -lbz2 cc -Werror -m64 -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -Wstrict-prototypes -Wredundant-decls -Wall -Wundef -Wwrite-strings -Wmissing-prototypes -fno-strict-aliasing -fno-common -fwrapv -Wendif-labels -Wmissing-include-dirs -Wempty-body -Wnested-externs -Wformat-security -Wformat-y2k -Winit-self -Wignored-qualifiers -Wold-style-declaration -Wold-style-definition -Wtype-limits -fstack-protector-all -o config-temp/qemu-conf.exe config-temp/qemu-conf.c -m64 -g -lbz2 cc -m64 -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -Wstrict-prototypes -Wredundant-decls -Wall -Wundef -Wwrite-strings -Wmissing-prototypes -fno-strict-aliasing -fno-common -fwrapv -Wendif-labels -Wmissing-include-dirs -Wempty-body -Wnested-externs -Wformat-security -Wformat-y2k -Winit-self -Wignored-qualifiers -Wold-style-declaration -Wold-style-definition -Wtype-limits -fstack-protector-all -o config-temp/qemu-conf.exe config-temp/qemu-conf.c -m64 -g -lxenstore -lxenctrl -lxenguest config-temp/qemu-conf.c:1:21: fatal error: xenctrl.h: No such file or directory #include <xenctrl.h> ^ compilation terminated. cc -m64 -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -Wstrict-prototypes -Wredundant-decls -Wall -Wundef -Wwrite-strings -Wmissing-prototypes -fno-strict-aliasing -fno-common -fwrapv -Wendif-labels -Wmissing-include-dirs -Wempty-body -Wnested-externs -Wformat-security -Wformat-y2k -Winit-self -Wignored-qualifiers -Wold-style-declaration -Wold-style-definition -Wtype-limits -fstack-protector-all -c -o config-temp/qemu-conf.o config-temp/qemu-conf.c cc -Werror -m64 -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -Wstrict-prototypes -Wredundant-decls -Wall -Wundef -Wwrite-strings -Wmissing-prototypes -fno-strict-aliasing -fno-common -fwrapv -Wendif-labels -Wmissing-include-dirs -Wempty-body -Wnested-externs -Wformat-security -Wformat-y2k -Winit-self -Wignored-qualifiers -Wold-style-declaration -Wold-style-definition -Wtype-limits -fstack-protector-all -c -o config-temp/qemu-conf.o config-temp/qemu-conf.c cc -m64 -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -Wstrict-prototypes -Wredundant-decls -Wall -Wundef -Wwrite-strings -Wmissing-prototypes -fno-strict-aliasing -fno-common -fwrapv -Wendif-labels -Wmissing-include-dirs -Wempty-body -Wnested-externs -Wformat-security -Wformat-y2k -Winit-self -Wignored-qualifiers -Wold-style-declaration -Wold-style-definition -Wtype-limits -fstack-protector-all -o config-temp/qemu-conf.exe config-temp/qemu-conf.c -m64 -g -lrdmacm -libverbs config-temp/qemu-conf.c:1:27: fatal error: rdma/rdma_cma.h: No such file or directory #include <rdma/rdma_cma.h> ^ compilation terminated. cc -m64 -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -Wstrict-prototypes -Wredundant-decls -Wall -Wundef -Wwrite-strings -Wmissing-prototypes -fno-strict-aliasing -fno-common -fwrapv -Wendif-labels -Wmissing-include-dirs -Wempty-body -Wnested-externs -Wformat-security -Wformat-y2k -Winit-self -Wignored-qualifiers -Wold-style-declaration -Wold-style-definition -Wtype-limits -fstack-protector-all -o config-temp/qemu-conf.exe config-temp/qemu-conf.c -m64 -g -lsasl2 config-temp/qemu-conf.c:1:23: fatal error: sasl/sasl.h: No such file or directory #include <sasl/sasl.h> ^ compilation terminated. cc -m64 -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -Wstrict-prototypes -Wredundant-decls -Wall -Wundef -Wwrite-strings -Wmissing-prototypes -fno-strict-aliasing -fno-common -fwrapv -Wendif-labels -Wmissing-include-dirs -Wempty-body -Wnested-externs -Wformat-security -Wformat-y2k -Winit-self -Wignored-qualifiers -Wold-style-declaration -Wold-style-definition -Wtype-limits -fstack-protector-all -o config-temp/qemu-conf.exe config-temp/qemu-conf.c -m64 -g -ljpeg config-temp/qemu-conf.c:2:21: fatal error: jpeglib.h: No such file or directory #include <jpeglib.h> ^ compilation terminated. cc -m64 -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -Wstrict-prototypes -Wredundant-decls -Wall -Wundef -Wwrite-strings -Wmissing-prototypes -fno-strict-aliasing -fno-common -fwrapv -Wendif-labels -Wmissing-include-dirs -Wempty-body -Wnested-externs -Wformat-security -Wformat-y2k -Winit-self -Wignored-qualifiers -Wold-style-declaration -Wold-style-definition -Wtype-limits -fstack-protector-all -I/usr/include/libpng16 -o config-temp/qemu-conf.exe config-temp/qemu-conf.c -m64 -g -lpng16 cc -Werror -m64 -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -Wstrict-prototypes -Wredundant-decls -Wall -Wundef -Wwrite-strings -Wmissing-prototypes -fno-strict-aliasing -fno-common -fwrapv -Wendif-labels -Wmissing-include-dirs -Wempty-body -Wnested-externs -Wformat-security -Wformat-y2k -Winit-self -Wignored-qualifiers -Wold-style-declaration -Wold-style-definition -Wtype-limits -fstack-protector-all -I/usr/include/libpng16 -o config-temp/qemu-conf.exe config-temp/qemu-conf.c -m64 -g -lpng16 cc -m64 -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -Wstrict-prototypes -Wredundant-decls -Wall -Wundef -Wwrite-strings -Wmissing-prototypes -fno-strict-aliasing -fno-common -fwrapv -Wendif-labels -Wmissing-include-dirs -Wempty-body -Wnested-externs -Wformat-security -Wformat-y2k -Winit-self -Wignored-qualifiers -Wold-style-declaration -Wold-style-definition -Wtype-limits -fstack-protector-all -I/usr/include/libpng16 -o config-temp/qemu-conf.exe config-temp/qemu-conf.c -m64 -g cc -Werror -m64 -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -Wstrict-prototypes -Wredundant-decls -Wall -Wundef -Wwrite-strings -Wmissing-prototypes -fno-strict-aliasing -fno-common -fwrapv -Wendif-labels -Wmissing-include-dirs -Wempty-body -Wnested-externs -Wformat-security -Wformat-y2k -Winit-self -Wignored-qualifiers -Wold-style-declaration -Wold-style-definition -Wtype-limits -fstack-protector-all -I/usr/include/libpng16 -o config-temp/qemu-conf.exe config-temp/qemu-conf.c -m64 -g cc -m64 -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -Wstrict-prototypes -Wredundant-decls -Wall -Wundef -Wwrite-strings -Wmissing-prototypes -fno-strict-aliasing -fno-common -fwrapv -Wendif-labels -Wmissing-include-dirs -Wempty-body -Wnested-externs -Wformat-security -Wformat-y2k -Winit-self -Wignored-qualifiers -Wold-style-declaration -Wold-style-definition -Wtype-limits -fstack-protector-all -I/usr/include/libpng16 -o config-temp/qemu-conf.exe config-temp/qemu-conf.c -m64 -g config-temp/qemu-conf.c:2:21: fatal error: xfs/xfs.h: No such file or directory #include <xfs/xfs.h> ^ compilation terminated. cc -m64 -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -Wstrict-prototypes -Wredundant-decls -Wall -Wundef -Wwrite-strings -Wmissing-prototypes -fno-strict-aliasing -fno-common -fwrapv -Wendif-labels -Wmissing-include-dirs -Wempty-body -Wnested-externs -Wformat-security -Wformat-y2k -Winit-self -Wignored-qualifiers -Wold-style-declaration -Wold-style-definition -Wtype-limits -fstack-protector-all -I/usr/include/libpng16 -o config-temp/qemu-conf.exe config-temp/qemu-conf.c -m64 -g -lvdeplug config-temp/qemu-conf.c:1:24: fatal error: libvdeplug.h: No such file or directory #include <libvdeplug.h> ^ compilation terminated. cc -m64 -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -Wstrict-prototypes -Wredundant-decls -Wall -Wundef -Wwrite-strings -Wmissing-prototypes -fno-strict-aliasing -fno-common -fwrapv -Wendif-labels -Wmissing-include-dirs -Wempty-body -Wnested-externs -Wformat-security -Wformat-y2k -Winit-self -Wignored-qualifiers -Wold-style-declaration -Wold-style-definition -Wtype-limits -fstack-protector-all -I/usr/include/libpng16 -o config-temp/qemu-conf.exe config-temp/qemu-conf.c -m64 -g -lcap-ng config-temp/qemu-conf.c:1:20: fatal error: cap-ng.h: No such file or directory #include <cap-ng.h> ^ compilation terminated. cc -m64 -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -Wstrict-prototypes -Wredundant-decls -Wall -Wundef -Wwrite-strings -Wmissing-prototypes -fno-strict-aliasing -fno-common -fwrapv -Wendif-labels -Wmissing-include-dirs -Wempty-body -Wnested-externs -Wformat-security -Wformat-y2k -Winit-self -Wignored-qualifiers -Wold-style-declaration -Wold-style-definition -Wtype-limits -fstack-protector-all -I/usr/include/libpng16 -o config-temp/qemu-conf.exe config-temp/qemu-conf.c -m64 -g -lbrlapi config-temp/qemu-conf.c:1:20: fatal error: brlapi.h: No such file or directory #include <brlapi.h> ^ compilation terminated. cc -m64 -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -Wstrict-prototypes -Wredundant-decls -Wall -Wundef -Wwrite-strings -Wmissing-prototypes -fno-strict-aliasing -fno-common -fwrapv -Wendif-labels -Wmissing-include-dirs -Wempty-body -Wnested-externs -Wformat-security -Wformat-y2k -Winit-self -Wignored-qualifiers -Wold-style-declaration -Wold-style-definition -Wtype-limits -fstack-protector-all -I/usr/include/libpng16 -o config-temp/qemu-conf.exe config-temp/qemu-conf.c -m64 -g config-temp/qemu-conf.c: In function ‘main’: config-temp/qemu-conf.c:13:3: warning: implicit declaration of function ‘addwstr’ [-Wimplicit-function-declaration] addwstr(L"wide chars\n"); ^ config-temp/qemu-conf.c:13:3: warning: nested extern declaration of ‘addwstr’ [-Wnested-externs] config-temp/qemu-conf.c:14:3: warning: implicit declaration of function ‘addnwstr’ [-Wimplicit-function-declaration] addnwstr(&wch, 1); ^ config-temp/qemu-conf.c:14:3: warning: nested extern declaration of ‘addnwstr’ [-Wnested-externs] /tmp/ccMS5u3N.o: In function `main': /home/cohuck/git/qemu/build/config-temp/qemu-conf.c:9: undefined reference to `curses_version' /home/cohuck/git/qemu/build/config-temp/qemu-conf.c:12: undefined reference to `resize_term' /home/cohuck/git/qemu/build/config-temp/qemu-conf.c:13: undefined reference to `addwstr' /home/cohuck/git/qemu/build/config-temp/qemu-conf.c:14: undefined reference to `addnwstr' collect2: error: ld returned 1 exit status cc -m64 -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -Wstrict-prototypes -Wredundant-decls -Wall -Wundef -Wwrite-strings -Wmissing-prototypes -fno-strict-aliasing -fno-common -fwrapv -Wendif-labels -Wmissing-include-dirs -Wempty-body -Wnested-externs -Wformat-security -Wformat-y2k -Winit-self -Wignored-qualifiers -Wold-style-declaration -Wold-style-definition -Wtype-limits -fstack-protector-all -I/usr/include/libpng16 -o config-temp/qemu-conf.exe config-temp/qemu-conf.c -m64 -g -lncursesw config-temp/qemu-conf.c: In function ‘main’: config-temp/qemu-conf.c:13:3: warning: implicit declaration of function ‘addwstr’ [-Wimplicit-function-declaration] addwstr(L"wide chars\n"); ^ config-temp/qemu-conf.c:13:3: warning: nested extern declaration of ‘addwstr’ [-Wnested-externs] config-temp/qemu-conf.c:14:3: warning: implicit declaration of function ‘addnwstr’ [-Wimplicit-function-declaration] addnwstr(&wch, 1); ^ config-temp/qemu-conf.c:14:3: warning: nested extern declaration of ‘addnwstr’ [-Wnested-externs] cc -Werror -m64 -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -Wstrict-prototypes -Wredundant-decls -Wall -Wundef -Wwrite-strings -Wmissing-prototypes -fno-strict-aliasing -fno-common -fwrapv -Wendif-labels -Wmissing-include-dirs -Wempty-body -Wnested-externs -Wformat-security -Wformat-y2k -Winit-self -Wignored-qualifiers -Wold-style-declaration -Wold-style-definition -Wtype-limits -fstack-protector-all -I/usr/include/libpng16 -o config-temp/qemu-conf.exe config-temp/qemu-conf.c -m64 -g -lncursesw config-temp/qemu-conf.c: In function ‘main’: config-temp/qemu-conf.c:13:3: error: implicit declaration of function ‘addwstr’ [-Werror=implicit-function-declaration] addwstr(L"wide chars\n"); ^ config-temp/qemu-conf.c:13:3: error: nested extern declaration of ‘addwstr’ [-Werror=nested-externs] config-temp/qemu-conf.c:14:3: error: implicit declaration of function ‘addnwstr’ [-Werror=implicit-function-declaration] addnwstr(&wch, 1); ^ config-temp/qemu-conf.c:14:3: error: nested extern declaration of ‘addnwstr’ [-Werror=nested-externs] cc1: all warnings being treated as errors ^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: [Qemu-devel] [PULL 6/6] curses: Use cursesw instead of curses 2016-10-31 13:08 ` Cornelia Huck @ 2016-10-31 15:39 ` Samuel Thibault 2016-11-02 9:09 ` Cornelia Huck 0 siblings, 1 reply; 19+ messages in thread From: Samuel Thibault @ 2016-10-31 15:39 UTC (permalink / raw) To: Cornelia Huck; +Cc: Gerd Hoffmann, qemu-devel Cornelia Huck, on Mon 31 Oct 2016 14:08:48 +0100, wrote: > On Mon, 31 Oct 2016 15:03:33 +0100 > Samuel Thibault <samuel.thibault@gnu.org> wrote: > > > Cornelia Huck, on Mon 31 Oct 2016 13:48:01 +0100, wrote: > > > On Mon, 31 Oct 2016 13:39:30 +0100 > > > Samuel Thibault <samuel.thibault@gnu.org> wrote: > > > > > > > Cornelia Huck, on Mon 31 Oct 2016 13:08:06 +0100, wrote: > > > > > You mean in configure, right? Including cursesw.h in the test program > > > > > gets configure going again. > > > > > > > > Could you try the attached patch which fixes both configure and > > > > ui/curses.c? > > > > > > Sadly, this does not fix it for me. I get the same errors in the > > > configure test build as before. > > > > Could you post the config.log so we get a better view at what is going > > wrong? > > Attached. > cc -m64 -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -Wstrict-prototypes -Wredundant-decls -Wall -Wundef -Wwrite-strings -Wmissing-prototypes -fno-strict-aliasing -fno-common -fwrapv -Wendif-labels -Wmissing-include-dirs -Wempty-body -Wnested-externs -Wformat-security -Wformat-y2k -Winit-self -Wignored-qualifiers -Wold-style-declaration -Wold-style-definition -Wtype-limits -fstack-protector-all -I/usr/include/libpng16 -o config-temp/qemu-conf.exe config-temp/qemu-conf.c -m64 -g > config-temp/qemu-conf.c: In function ‘main’: > config-temp/qemu-conf.c:13:3: warning: implicit declaration of function ‘addwstr’ [-Wimplicit-function-declaration] ... > cc -m64 -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -Wstrict-prototypes -Wredundant-decls -Wall -Wundef -Wwrite-strings -Wmissing-prototypes -fno-strict-aliasing -fno-common -fwrapv -Wendif-labels -Wmissing-include-dirs -Wempty-body -Wnested-externs -Wformat-security -Wformat-y2k -Winit-self -Wignored-qualifiers -Wold-style-declaration -Wold-style-definition -Wtype-limits -fstack-protector-all -I/usr/include/libpng16 -o config-temp/qemu-conf.exe config-temp/qemu-conf.c -m64 -g -lncursesw > config-temp/qemu-conf.c: In function ‘main’: > config-temp/qemu-conf.c:13:3: warning: implicit declaration of function ‘addwstr’ [-Wimplicit-function-declaration] ... > cc -Werror -m64 -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -Wstrict-prototypes -Wredundant-decls -Wall -Wundef -Wwrite-strings -Wmissing-prototypes -fno-strict-aliasing -fno-common -fwrapv -Wendif-labels -Wmissing-include-dirs -Wempty-body -Wnested-externs -Wformat-security -Wformat-y2k -Winit-self -Wignored-qualifiers -Wold-style-declaration -Wold-style-definition -Wtype-limits -fstack-protector-all -I/usr/include/libpng16 -o config-temp/qemu-conf.exe config-temp/qemu-conf.c -m64 -g -lncursesw > config-temp/qemu-conf.c: In function ‘main’: > config-temp/qemu-conf.c:13:3: error: implicit declaration of function ‘addwstr’ [-Werror=implicit-function-declaration] > addwstr(L"wide chars\n"); > ^ > config-temp/qemu-conf.c:13:3: error: nested extern declaration of ‘addwstr’ [-Werror=nested-externs] > config-temp/qemu-conf.c:14:3: error: implicit declaration of function ‘addnwstr’ [-Werror=implicit-function-declaration] > addnwstr(&wch, 1); > ^ > config-temp/qemu-conf.c:14:3: error: nested extern declaration of ‘addnwstr’ [-Werror=nested-externs] > cc1: all warnings being treated as errors These are expected But doesn't configure also try with -DCONFIG_CURSESW_H? Does it really stop here? Samuel ^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: [Qemu-devel] [PULL 6/6] curses: Use cursesw instead of curses 2016-10-31 15:39 ` Samuel Thibault @ 2016-11-02 9:09 ` Cornelia Huck 0 siblings, 0 replies; 19+ messages in thread From: Cornelia Huck @ 2016-11-02 9:09 UTC (permalink / raw) To: Samuel Thibault; +Cc: Gerd Hoffmann, qemu-devel On Mon, 31 Oct 2016 16:39:29 +0100 Samuel Thibault <samuel.thibault@gnu.org> wrote: > Cornelia Huck, on Mon 31 Oct 2016 14:08:48 +0100, wrote: > > On Mon, 31 Oct 2016 15:03:33 +0100 > > Samuel Thibault <samuel.thibault@gnu.org> wrote: > > > > > Cornelia Huck, on Mon 31 Oct 2016 13:48:01 +0100, wrote: > > > > On Mon, 31 Oct 2016 13:39:30 +0100 > > > > Samuel Thibault <samuel.thibault@gnu.org> wrote: > > > > > > > > > Cornelia Huck, on Mon 31 Oct 2016 13:08:06 +0100, wrote: > > > > > > You mean in configure, right? Including cursesw.h in the test program > > > > > > gets configure going again. > > > > > > > > > > Could you try the attached patch which fixes both configure and > > > > > ui/curses.c? > > > > > > > > Sadly, this does not fix it for me. I get the same errors in the > > > > configure test build as before. > > > > > > Could you post the config.log so we get a better view at what is going > > > wrong? > > > > Attached. > > > cc -m64 -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -Wstrict-prototypes -Wredundant-decls -Wall -Wundef -Wwrite-strings -Wmissing-prototypes -fno-strict-aliasing -fno-common -fwrapv -Wendif-labels -Wmissing-include-dirs -Wempty-body -Wnested-externs -Wformat-security -Wformat-y2k -Winit-self -Wignored-qualifiers -Wold-style-declaration -Wold-style-definition -Wtype-limits -fstack-protector-all -I/usr/include/libpng16 -o config-temp/qemu-conf.exe config-temp/qemu-conf.c -m64 -g > > config-temp/qemu-conf.c: In function ‘main’: > > config-temp/qemu-conf.c:13:3: warning: implicit declaration of function ‘addwstr’ [-Wimplicit-function-declaration] > ... > > cc -m64 -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -Wstrict-prototypes -Wredundant-decls -Wall -Wundef -Wwrite-strings -Wmissing-prototypes -fno-strict-aliasing -fno-common -fwrapv -Wendif-labels -Wmissing-include-dirs -Wempty-body -Wnested-externs -Wformat-security -Wformat-y2k -Winit-self -Wignored-qualifiers -Wold-style-declaration -Wold-style-definition -Wtype-limits -fstack-protector-all -I/usr/include/libpng16 -o config-temp/qemu-conf.exe config-temp/qemu-conf.c -m64 -g -lncursesw > > config-temp/qemu-conf.c: In function ‘main’: > > config-temp/qemu-conf.c:13:3: warning: implicit declaration of function ‘addwstr’ [-Wimplicit-function-declaration] > ... > > cc -Werror -m64 -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -Wstrict-prototypes -Wredundant-decls -Wall -Wundef -Wwrite-strings -Wmissing-prototypes -fno-strict-aliasing -fno-common -fwrapv -Wendif-labels -Wmissing-include-dirs -Wempty-body -Wnested-externs -Wformat-security -Wformat-y2k -Winit-self -Wignored-qualifiers -Wold-style-declaration -Wold-style-definition -Wtype-limits -fstack-protector-all -I/usr/include/libpng16 -o config-temp/qemu-conf.exe config-temp/qemu-conf.c -m64 -g -lncursesw > > config-temp/qemu-conf.c: In function ‘main’: > > config-temp/qemu-conf.c:13:3: error: implicit declaration of function ‘addwstr’ [-Werror=implicit-function-declaration] > > addwstr(L"wide chars\n"); > > ^ > > config-temp/qemu-conf.c:13:3: error: nested extern declaration of ‘addwstr’ [-Werror=nested-externs] > > config-temp/qemu-conf.c:14:3: error: implicit declaration of function ‘addnwstr’ [-Werror=implicit-function-declaration] > > addnwstr(&wch, 1); > > ^ > > config-temp/qemu-conf.c:14:3: error: nested extern declaration of ‘addnwstr’ [-Werror=nested-externs] > > cc1: all warnings being treated as errors > > These are expected > > But doesn't configure also try with -DCONFIG_CURSESW_H? Does it really > stop here? Nothing more going on there. Maybe it is because it cannot pull the relevant flags from pkg_config? ^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: [Qemu-devel] [PULL 0/6] ui patch queue. 2016-10-28 12:11 [Qemu-devel] [PULL 0/6] ui patch queue Gerd Hoffmann ` (5 preceding siblings ...) 2016-10-28 12:11 ` [Qemu-devel] [PULL 6/6] curses: Use cursesw instead of curses Gerd Hoffmann @ 2016-10-28 17:55 ` Peter Maydell 6 siblings, 0 replies; 19+ messages in thread From: Peter Maydell @ 2016-10-28 17:55 UTC (permalink / raw) To: Gerd Hoffmann; +Cc: QEMU Developers On 28 October 2016 at 13:11, Gerd Hoffmann <kraxel@redhat.com> wrote: > Hi, > > Here comes the UI patch queue with bugfixes for gtk and curses UIs and > the baum braille support. > > I've cherry-picked from Samuel's patches the ones which are ready to > merge. There is more in the pipeline for better unicode support in > curses, but those will probably not make the 2.8 freeze deadline. > > please pull, > Gerd > > The following changes since commit db4df20de86c6e8ecd6c9f042c029ffb9f9cddac: > > trace: Fix 'char **' compilation error in simple backend (2016-10-27 19:24:15 +0100) > > are available in the git repository at: > > git://git.kraxel.org/qemu tags/pull-ui-20161028-1 > > for you to fetch changes up to 8ddc5bf9e5de51c2a4842c01dd3a97f5591776fd: > > curses: Use cursesw instead of curses (2016-10-28 11:19:38 +0200) > > ---------------------------------------------------------------- > braille fixes and improvements. > curses fix, switch to cursesw. > gtk bugfixes. Applied, thanks. -- PMM ^ permalink raw reply [flat|nested] 19+ messages in thread
end of thread, other threads:[~2016-11-02 9:09 UTC | newest] Thread overview: 19+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2016-10-28 12:11 [Qemu-devel] [PULL 0/6] ui patch queue Gerd Hoffmann 2016-10-28 12:11 ` [Qemu-devel] [PULL 1/6] Add dots keypresses support to the baum braille device Gerd Hoffmann 2016-10-28 12:11 ` [Qemu-devel] [PULL 2/6] Defer BrlAPI tty acquisition to when guest starts using device Gerd Hoffmann 2016-10-28 12:11 ` [Qemu-devel] [PULL 3/6] gtk: fix compilation warning with gtk 3.22.2 Gerd Hoffmann 2016-10-28 12:11 ` [Qemu-devel] [PULL 4/6] ui/gtk: Fix non-working DELETE key Gerd Hoffmann 2016-10-28 12:11 ` [Qemu-devel] [PULL 5/6] curses: fix left/right arrow translation Gerd Hoffmann 2016-10-28 12:11 ` [Qemu-devel] [PULL 6/6] curses: Use cursesw instead of curses Gerd Hoffmann 2016-10-31 11:45 ` Cornelia Huck 2016-10-31 12:01 ` Samuel Thibault 2016-10-31 12:05 ` Samuel Thibault 2016-10-31 12:08 ` Cornelia Huck 2016-10-31 12:16 ` Samuel Thibault 2016-10-31 12:39 ` Samuel Thibault 2016-10-31 12:48 ` Cornelia Huck 2016-10-31 14:03 ` Samuel Thibault 2016-10-31 13:08 ` Cornelia Huck 2016-10-31 15:39 ` Samuel Thibault 2016-11-02 9:09 ` Cornelia Huck 2016-10-28 17:55 ` [Qemu-devel] [PULL 0/6] ui patch queue Peter Maydell
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).