Hi,
ich habe vor ein paar Tagen mein System aktualisiert, von 13.10 auf 14.04. Und heute telle ich fest, daß die Sourcen von MariaDB sich nicht mehr compilieren lassen.
Das hier ist die Stelle, die einen Fehler hervorruft: in row0log.cc:
1 2 3 4 5 6 7 8 | #ifdef FALLOC_FL_PUNCH_HOLE /* Try to deallocate the space for the file on disk. This should work on ext4 on Linux 2.6.39 and later, and be ignored when the operation is unsupported. */ fallocate(index->online_log->fd, FALLOC_FL_PUNCH_HOLE | FALLOC_FL_KEEP_SIZE, ofs, srv_buf_size); #endif /* FALLOC_FL_PUNCH_HOLE */ |
und zwar ist die Variable srv_buf_size nicht bekannt. Das FALLOC_FL_PUNCH_HOLE wird nirgendwo definiert, ist aber offensichtlich gültig, denn sonst würde er diesen Zweig nicht anfassen. Mit grep habe ich mal die Dateien durchsucht und nur diese Datei gefunden, in der dieses define vorkommt, aber nur als #ifdef FALLOC_FL_PUNCH_HOLE
Also habe ich dies mal mit einer eigenen Anweisung undefined (Eclipse zeigte mir den Zweig eh in grau an, also nicht defined, aber trotzdem). Jetzt läuft der compile-Vorgang zwar weiter, stoppt aber an dieser Stelle:
in sql_yacc.yy an der Stelle #define YYTHD ((THD *)yythd)
mit der Meldung: sql/sql_yacc.yy:32:23: error: ‘yythd’ was not declared in this scope
Und jetzt habe ich erst mal aufgehört.
Was kann das sein?
Den Source-code habe ich nicht verändert. Und unter 13.10 compilierte alles ohne Probleme.
Any ideass?
Schönen Gruß AugustQ
Moderiert von tomtomtom:
Ins passende Forum verschoben.