DevHeads.net

vdr-epg-daemon-1.1.128 compiles fine on f26 but not on higher fedora version

Hi,

vdr-epg-daemon-1.1.128 compiles fine on f26 but not on higher fedora version,
something changed on F27 and rawhide, program

make[1]: Entering directory '/home/martin/rpmbuild/BUILD/vdr-epg-daemon-1.1.128/epglv'
gcc -c -I/usr/include/mysql -fPIC -L/usr/lib64/mysql -L/usr/lib64/ -lmariadb -lz -lm -lpthread -lssl -lcrypto -DMYSQL_DYNAMIC_PLUGIN -DDEBUG_MYSQL=0 -ggdb -fno-
stack-protector -O -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-
gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -m64 -mtune=generic -fPIC -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -std=c++11 -D__STDC_FORMAT_MACROS
-shared src/epglvbase.c -o src/epglvbase.o
cc1: warning: command line option '-std=c++11' is valid for C++/ObjC++ but not for C
In file included from src/epglv.h:16:0,
from src/epglvbase.c:10:
/usr/include/mysql/my_global.h:3:2: warning: #warning This file should not be included by clients, include only <mysql.h> [-Wcpp]
#warning This file should not be included by clients, include only <mysql.h>
^~~~~~~
In file included from src/epglv.h:17:0,
from src/epglvbase.c:10:
/usr/include/mysql/my_sys.h:3:2: warning: #warning This file should not be included by clients, include only <mysql.h> [-Wcpp]
#warning This file should not be included by clients, include only <mysql.h>
^~~~~~~
In file included from src/epglvbase.c:10:0:
src/epglv.h:21:10: fatal error: m_ctype.h: No such file or directory
#include <m_ctype.h>
^~~~~~~~~~~
compilation terminated.
make[1]: *** [Makefile:51: src/epglvbase.o] Error 1
make[1]: Leaving directory '/home/martin/rpmbuild/BUILD/vdr-epg-daemon-1.1.128/epglv'
make: *** [Makefile:77: lv] Error 2
make: *** Waiting for unfinished jobs....
g++ -shared epgdata.o -o libepgd-epgdata.so

results compiling the program on different versions:

koji build --scratch f26 ../SRPMS/vdr-epg-daemon-1.1.128-1.fc26.src.rpm
<a href="https://koji.fedoraproject.org/koji/taskinfo?taskID=24890318" title="https://koji.fedoraproject.org/koji/taskinfo?taskID=24890318">https://koji.fedoraproject.org/koji/taskinfo?taskID=24890318</a>

koji build --scratch f27 ../SRPMS/vdr-epg-daemon-1.1.128-1.fc26.src.rpm
<a href="https://koji.fedoraproject.org/koji/taskinfo?taskID=24890368" title="https://koji.fedoraproject.org/koji/taskinfo?taskID=24890368">https://koji.fedoraproject.org/koji/taskinfo?taskID=24890368</a>

koji build --scratch rawhide ../SRPMS/vdr-epg-daemon-1.1.128-1.fc26.src.rpm
<a href="https://koji.fedoraproject.org/koji/taskinfo?taskID=24890169" title="https://koji.fedoraproject.org/koji/taskinfo?taskID=24890169">https://koji.fedoraproject.org/koji/taskinfo?taskID=24890169</a>

Comments

Re: vdr-epg-daemon-1.1.128 compiles fine on f26 but not on highe

By Jonathan Wakely at 02/09/2018 - 12:04

On 09/02/18 15:01 -0000, Martin Gansser wrote:
This suggests the package is not using the mariadb API correctly, and
should be including a different header.

And this is probably for the same reason: <m_ctype.h> is not part of
the public API for mariadb clients.

Did you try replacing <my_global.h> and <my_sys.h> and <m_ctype.h>
with <mysql.h> ?

Re: vdr-epg-daemon-1.1.128 compiles fine on f26 but not on highe

By Martin Gansser at 02/10/2018 - 09:01

Thanks for pointing this out, it is now compiling by replacing the correct header files.

sed -i -e 's|# include <my_global.h>|# include <mysql.h>|' epglv/src/epglv.h
sed -i -e 's|# include <my_sys.h>|# include <mysql.h>|' epglv/src/epglv.h
sed -i -e 's|#include <m_ctype.h>|#include <mysql.h>|' epglv/src/epglv.h
sed -i -e 's|#include <m_string.h>|#include <mysql.h>|' epglv/src/epglv.h