Fehlendes "m_ctype" beim Kompilieren

classic Classic list List threaded Threaded
7 messages Options
Reply | Threaded
Open this post in threaded view
|

Fehlendes "m_ctype" beim Kompilieren

Sebastian Reinhardt
Hallo,

Ich  möchte für den "vdr" den "epgd" kompilieren. Leider bricht es immer
wieder ab und ich weiß nicht, welche Bibliothek bzw. Devel-Paket fehlt:

--------------------------------------------------------

In file included from src/epglvbase.c:10:0:
src/epglv.h:21:21: fatal error: m_ctype.h: Datei oder Verzeichnis nicht
gefunden
 #include <m_ctype.h>
                     ^
compilation terminated.
--------------------------------------------------------

OS: Debian Stretch (mit Backports-Repo)

Vielleicht hat jemand einen Tipp, in welchem Devel-Paket die Headerdatei
enthalten ist.....

--
Mit freundlichen Grüßen

Sebastian Reinhardt


Reply | Threaded
Open this post in threaded view
|

Re: Fehlendes "m_ctype" beim Kompilieren

Gerhard Wolfstieg
Am Sun, 22 Jul 2018 13:22:37 +0200
schrieb Sebastian Reinhardt <[hidden email]>:

> Hallo,
>
> Ich  möchte für den "vdr" den "epgd" kompilieren. Leider bricht es immer
> wieder ab und ich weiß nicht, welche Bibliothek bzw. Devel-Paket fehlt:
>
> --------------------------------------------------------
>
> In file included from src/epglvbase.c:10:0:
> src/epglv.h:21:21: fatal error: m_ctype.h: Datei oder Verzeichnis nicht
> gefunden
>  #include <m_ctype.h>
>                      ^
> compilation terminated.
> --------------------------------------------------------
>
> OS: Debian Stretch (mit Backports-Repo)
>
> Vielleicht hat jemand einen Tipp, in welchem Devel-Paket die Headerdatei
> enthalten ist.....
>


Das Paket libmysqlclient-dev in sid hätte das Header-File – so mal auf
die Schnelle gesucht.

     Grüße, Gerhard


Reply | Threaded
Open this post in threaded view
|

Re: Fehlendes "m_ctype" beim Kompilieren

Michael Wagner
In reply to this post by Sebastian Reinhardt
On Jul 22, 2018 um 13:22:37, Sebastian Reinhardt wrote:

>
> In file included from src/epglvbase.c:10:0:
> src/epglv.h:21:21: fatal error: m_ctype.h: Datei oder Verzeichnis nicht
> gefunden
>  #include <m_ctype.h>
>                      ^
> compilation terminated.
> --------------------------------------------------------
>
> OS: Debian Stretch (mit Backports-Repo)
>
> Vielleicht hat jemand einen Tipp, in welchem Devel-Paket die Headerdatei
> enthalten ist.....
>
Hallo Sebastian,

installier dir doch mal das Paket "apt-file". Damit kannst du dann nach
einem "apt-file update" in den Paketen nach vorhandenen Dateien suchen.

Aber um deine Frage zu beantworten

$apt-file search m_ctype.h
libmariadb-dev: /usr/include/mysql/m_ctype.h
libmariadbclient-dev: /usr/include/mysql/m_ctype.h
libmysqlclient-dev: /usr/include/mysql/m_ctype.h

Da hier ein testing mit ein paar Paketen aus unstable laeuft und ich
nicht weiss, welches Version bei dir laeuft, musst du halt bei dir
selber nachschauen.

Hth Michael


signature.asc (923 bytes) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: Fehlendes "m_ctype" beim Kompilieren

Sebastian Reinhardt
Am 22.07.2018 um 16:12 schrieb Michael Wagner:

> On Jul 22, 2018 um 13:22:37, Sebastian Reinhardt wrote:
>> In file included from src/epglvbase.c:10:0:
>> src/epglv.h:21:21: fatal error: m_ctype.h: Datei oder Verzeichnis nicht
>> gefunden
>>  #include <m_ctype.h>
>>                      ^
>> compilation terminated.
>> --------------------------------------------------------
>>
>> OS: Debian Stretch (mit Backports-Repo)
>>
>> Vielleicht hat jemand einen Tipp, in welchem Devel-Paket die Headerdatei
>> enthalten ist.....
>>
> Hallo Sebastian,
>
> installier dir doch mal das Paket "apt-file". Damit kannst du dann nach
> einem "apt-file update" in den Paketen nach vorhandenen Dateien suchen.
>
> Aber um deine Frage zu beantworten
>
> $apt-file search m_ctype.h
> libmariadb-dev: /usr/include/mysql/m_ctype.h
> libmariadbclient-dev: /usr/include/mysql/m_ctype.h
> libmysqlclient-dev: /usr/include/mysql/m_ctype.h
>
> Da hier ein testing mit ein paar Paketen aus unstable laeuft und ich
> nicht weiss, welches Version bei dir laeuft, musst du halt bei dir
> selber nachschauen.
>
> Hth Michael
>
Danke für die Tipps. Das doofe ist nur, dass ich das eben schon
installiert habe:

-----------------------------------------------

......

make[1]: Verzeichnis „/usr/src/packages/vdr-epg-daemon/epglv“ wird betreten
gcc -c  -Wall -fPIC -I/usr/local/include/mysql -L/usr/lib/mysql
-L/usr/local/lib/mysql -I/usr/include/mysql -L/usr/lib/x86_64-linux-gnu 
-lmariadb -lpthread -lz -ldl -lm -lssl -lcrypto -DMYSQL_DYNAMIC_PLUGIN
-DDEBUG_MYSQL=0 -pipe -O3 -shared src/epglvbase.c -o src/epglvbase.o
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:21: fatal error: m_ctype.h: Datei oder Verzeichnis nicht
gefunden
 #include <m_ctype.h>
                     ^
compilation terminated.
Makefile:53: die Regel für Ziel „src/epglvbase.o“ scheiterte
make[1]: *** [src/epglvbase.o] Fehler 1
make[1]: Verzeichnis „/usr/src/packages/vdr-epg-daemon/epglv“ wird verlassen
Makefile:77: die Regel für Ziel „lv“ scheiterte
make: *** [lv] Fehler 2
root@snrnas:/usr/src/packages/vdr-epg-daemon# dpkg -l | grep mysql
ii  dbconfig-mysql                               
2.0.9~bpo9+1                                 all         
dbconfig-common MySQL/MariaDB support
ii  default-libmysqlclient-dev:amd64             
1.0.2                                        amd64        MySQL database
development files (metapackage)
ii  libdatetime-format-mysql-perl                
0.06-1                                       all          module to
parse and format MySQL dates and times
ii  libdbd-mysql-perl                            
4.041-2                                      amd64        Perl5 database
interface to the MariaDB/MySQL database
ii  libmysqlcppconn-dev:amd64                    
1.1.7-4                                      amd64        MySQL
Connector for C++ (development files)
ii  libmysqlcppconn7v5:amd64                     
1.1.7-4                                      amd64        MySQL
Connector for C++ (library)
ii  libqt4-sql-mysql:amd64                       
4:4.8.7+dfsg-11                              amd64        Qt 4 MySQL
database driver
ii  mariadb-common                               
10.2.16+maria~stretch                        all          MariaDB
database common files (e.g. /etc/mysql/conf.d/mariadb.cnf)
ii  mysql-common                                 
10.2.16+maria~stretch                        all          MariaDB
database common files (e.g. /etc/mysql/my.cnf)
ii  php-mysql                                    
1:7.0+49                                     all          MySQL module
for PHP [default]
ii  php7.0-mysql                                 
7.0.30-0+deb9u1                              amd64        MySQL module
for PHP
root@snrnas:/usr/src/packages/vdr-epg-daemon# dpkg -l | grep maria
ii  libmariadb-dev                               
10.2.16+maria~stretch                        amd64        MariaDB
database development files
ii  libmariadb3                                  
10.2.16+maria~stretch                        amd64        MariaDB
database client library
ii  libmariadbclient18                           
10.2.16+maria~stretch                        amd64        Virtual
package to satisfy external depends
ii  mariadb-client-10.2                          
10.2.16+maria~stretch                        amd64        MariaDB
database client binaries
ii  mariadb-client-core-10.2                     
10.2.16+maria~stretch                        amd64        MariaDB
database core client binaries
ii  mariadb-common                               
10.2.16+maria~stretch                        all          MariaDB
database common files (e.g. /etc/mysql/conf.d/mariadb.cnf)
ii  mariadb-server                               
10.2.16+maria~stretch                        all          MariaDB
database server (metapackage depending on the latest version)
ii  mariadb-server-10.2                          
10.2.16+maria~stretch                        amd64        MariaDB
database server binaries
ii  mariadb-server-core-10.2                     
10.2.16+maria~stretch                        amd64        MariaDB
database core server files
ii  mariadb-test                                 
10.2.16+maria~stretch                        amd64        MariaDB
database regression test suite
ii  mariadb-test-data                            
10.2.16+maria~stretch                        all          MariaDB
database regression test suite - data files
ii  mysql-common                                 
10.2.16+maria~stretch                        all          MariaDB
database common files (e.g. /etc/mysql/my.cnf)
root@snrnas:/usr/src/packages/vdr-epg-daemon# apt-file search m_ctype.h
libmariadb-dev: /usr/include/mariadb/m_ctype.h
libmariadbclient-dev: /usr/include/mysql/m_ctype.h
root@snrnas:/usr/src/packages/vdr-epg-daemon#

-----------------------------------------------

Kann höchstens  sein, dass in "epgd" ein Fehler ist oder die Headerdatei
an der falschen Stelle liegt (scheint mir aber nicht so....)? Und ein
"include <m_ctype.h>" sollte doch die Datei in Standardpfad der
"includes" suchen oder?

--
Mit freundlichen Grüßen

Sebastian Reinhardt




Reply | Threaded
Open this post in threaded view
|

Re: Fehlendes "m_ctype" beim Kompilieren

Sebastian Reinhardt
Ok, Kommando "Zurück"! Das Devel-Paket ist Schrott!!!!!!!!

Wenn ich in "/var/cache/apt/archives" das Paket
"libmariadb-dev_10.2.16+maria~stretch_amd64.deb" anschaue, dann liegt
"m_ctype.h" im Paket-Content- Verzeichnis nicht in "/usr/include/mysql",
sondern in "/usr/include/mysql/server/"! Das ist auch bei den
installierten Dateien so!
Es betrifft auch andere Headerdateien: m_ctype.h m_string.h
my_attribute.h my_decimal_limits.h
Nachdem ich die Dateien verlinkt habe, kommen weitere Probleme. Hier mal
die letzten Meldungen beim "make":
----------------------------------------------------
 ........
/usr/include/mysql/m_string.h:160:20: error: unknown type name ‘longlong’
 extern char *llstr(longlong value,char *buff);
                    ^~~~~~~~
/usr/include/mysql/m_string.h:161:21: error: unknown type name ‘longlong’
 extern char *ullstr(longlong value,char *buff);
                     ^~~~~~~~
/usr/include/mysql/m_string.h:171:1: error: unknown type name ‘longlong’
 longlong my_strtoll10(const char *nptr, char **endptr, int *error);
 ^~~~~~~~
/usr/include/mysql/m_string.h:200:26: fatal error: mysql/plugin.h: Datei
oder Verzeichnis nicht gefunden
 #include <mysql/plugin.h>
                          ^
compilation terminated.
Makefile:53: die Regel für Ziel „src/epglvbase.o“ scheiterte
make[1]: *** [src/epglvbase.o] Fehler 1
make[1]: Verzeichnis „/usr/src/packages/vdr-epg-daemon/epglv“ wird verlassen
Makefile:77: die Regel für Ziel „lv“ scheiterte
make: *** [lv] Fehler 2
root@snrnas:/usr/src/packages/vdr-epg-daemon#

----------------------------------------------------
Oder ich muss von MNAriaDB zu MySQL zurückwechseln, in der Hoffnung,
dass dort die Develpakete passen?

Bin für Tipps nat. dankbar, da ich hier irgendwie nicht weiter komme....


--
Mit freundlichen Grüßen

Sebastian Reinhardt





Reply | Threaded
Open this post in threaded view
|

Re: Fehlendes "m_ctype" beim Kompilieren

Andreas Weber-2
In reply to this post by Sebastian Reinhardt
Am 22.07.2018 um 13:22 schrieb Sebastian Reinhardt:
> Ich  möchte für den "vdr" den "epgd" kompilieren. Leider bricht es immer

Geht es um das Projekt hier
https://projects.vdr-developer.org/projects/vdr-epg-daemon/wiki ? (Ein
Link wäre super gewesen)

Bei mir klappt das ohne Probleme auf 9.4 (stretch)

$ git clone git://projects.vdr-developer.org/vdr-epg-daemon.git
$ cd vdr-epg-daemon/
$ sudo apt-get install libarchive-dev libmariadbclient-dev libimlib2-dev
$ make

Gruß Andy

Reply | Threaded
Open this post in threaded view
|

[gelöst] Re: Fehlendes "m_ctype" beim Kompilieren

Sebastian Reinhardt
Am 23.07.2018 um 09:08 schrieb Andreas Weber:

> Am 22.07.2018 um 13:22 schrieb Sebastian Reinhardt:
>> Ich  möchte für den "vdr" den "epgd" kompilieren. Leider bricht es immer
> Geht es um das Projekt hier
> https://projects.vdr-developer.org/projects/vdr-epg-daemon/wiki ? (Ein
> Link wäre super gewesen)
>
> Bei mir klappt das ohne Probleme auf 9.4 (stretch)
>
> $ git clone git://projects.vdr-developer.org/vdr-epg-daemon.git
> $ cd vdr-epg-daemon/
> $ sudo apt-get install libarchive-dev libmariadbclient-dev libimlib2-dev
> $ make
>
> Gruß Andy
>
>
Hallo,

Ja, hast recht! Das kompiliert! Aber mit der 10.2 und 10.3- Version der
Maria-DB, bzw. dem Devel-Paket nicht!

Ich hatte folgende Repo-Quellen für die Maria-DB bei mir eingebunden:

-------------------------------------------------------------

##MariaDB
deb [arch=i386,amd64] http://mirror.23media.de/mariadb/repo/10.2/debian
stretch main
deb-src [arch=i386,amd64]
http://mirror.23media.de/mariadb/repo/10.2/debian stretch main
-------------------------------------------------------------

Da ich gerade dabei war, ahbe ich mir auch die 10.3 angeschaut und deren
Devel-Paket enthält ebenfalls keine der benötigten Headerdateien an der
richtigen Stelle.

Nachdem ich nun zur 10.1'er Version aus dem offiziellen Debain-Repo
"gedowngreaded" habe, funktioniert das problemlos.

Stellt sich nur noch die Frage: Ist das mit den neuen Paketen so
gewollt, weil sich was grundlegend geändert hat oder haben die
Paketbetreuer nur noch nicht mitbekommen, das es damit ein Problem gibt.

Danke für eure Hilfe.....und vile Spaß beim gemeinschaftlichen Schwitzen ;-)


--
Mit freundlichen Grüßen

Sebastian Reinhardt