That line is this:
static char pntrWithHelp_bits[] = {
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, 0x00, 0x00, 0x42,
0x20, 0x00, 0x00, 0x40, 0x60, 0x00, 0x00, 0x40, 0xe0, 0x00, 0x00, 0x60,
0xe0, 0x01, 0x00, 0x30, 0xe0, 0x03, 0x00, 0x08, 0xe0, 0x07, 0x00, 0x08,
0xe0, 0x0f, 0x00, 0x08, 0xe0, 0x1f, 0x00, 0x00, 0xe0, 0x3f, 0x00, 0x08,
0xe0, 0x03, 0x00, 0x00, 0xe0, 0x06, 0x00, 0x00, 0x60, 0x06, 0x00, 0x00,
0x20, 0x0c, 0x00, 0x00, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00,
0x00, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00};
I suspect the problem is that char is a signed type and the compiler is complaining because an integer larger than 127 is being assigned (e.g. 0xe0). What happens if you change that to "static unsigned char"?
Mark
________________________________________
From: [email protected] [[email protected]] on behalf of Pierrick Hanlet [[email protected]]
Sent: Thursday, February 02, 2017 8:15 AM
To: [email protected]
Subject: problem compiling edm
I've a new pc on which I'm running Fedora release 25. I'm using base
3.15.5.
I'm attempting to build edm, but whilst attempting to compile, I get:
make[2]: Entering directory
'/home/epics/epicsDEV/extensions/src/edm/lib/O.linux-x86_64'
/usr/bin/g++ -D_GNU_SOURCE -D_DEFAULT_SOURCE -D_X86_64_ -DUNIX
-Dlinux -O3 -g -Wall -DSINGLE_THREADED=1 -D__epics__=1
-mtune=generic -m64 -fPIC -I. -I../O.Common -I. -I. -I..
-I../../../../include/edm/compiler/gcc
-I../../../../include/edm/os/Linux -I../../../../include/edm
-I/home/epics/epicsDEV/base/include/compiler/gcc
-I/home/epics/epicsDEV/base/include/os/Linux
-I/home/epics/epicsDEV/base/include
-I/home/epics/epicsDEV/extensions/include -I../../util
-I../../lib -I/usr/include -I/usr/include -c ../cursor.cc
../cursor.cc: In member function ‘void cursorClass::create(Display*,
Window, Colormap)’:
../cursor.cc:82:50: error: narrowing conversion of ‘224’ from ‘int’ to
‘char’ inside { } [-Wnarrowing]
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00};
^
../cursor.cc:82:50: error: narrowing conversion of ‘224’ from ‘int’ to
‘char’ inside { } [-Wnarrowing]
../cursor.cc:82:50: error: narrowing conversion of ‘224’ from ‘int’ to
‘char’ inside { } [-Wnarrowing]
and many more lines of the same.
I can't find this problem in tech-talk, nor with a web search. Has
anyone run into this problem and if so, how did you resolve it?
Many thanks,
Pierrick