So I just installed a new system and it turns out libqt4 version is different here and vim-qt doesn't compile:
gui_qt.cpp:42:42: warning: ISO C++ forbids converting a string constant to ‘char*’ [-Wwrite-strings]
static char *dummy_argv[] = {"qvim", NULL};
^
gui_qt.cpp: In function ‘void gui_mch_update_fuoptions(char_u*)’:
gui_qt.cpp:72:39: warning: unused parameter ‘optstr’ [-Wunused-parameter]
void gui_mch_update_fuoptions(char_u *optstr)
^~~~~~
gui_qt.cpp: In function ‘int gui_mch_wait_for_chars(long int)’:
gui_qt.cpp:210:49: error: ‘void QTimer::timeout()’ is protected within this context
QObject::connect(&channel_poll_timer, &QTimer::timeout, []() {
^~~~~~~
In file included from /usr/include/QtCore/QTimer:1:0,
from gui_qt.cpp:16:
/usr/include/QtCore/qtimer.h:92:10: note: declared protected here
void timeout();
^~~~~~~
gui_qt.cpp:213:4: error: no matching function for call to ‘QObject::connect(QTimer*, void (QTimer::*)(), gui_mch_wait_for_chars(long int)::<lambda()>)’
});
^
In file included from /usr/include/QtCore/qcoreapplication.h:45:0,
from /usr/include/QtGui/qapplication.h:45,
from /usr/include/QtGui/QApplication:1,
from gui_qt.cpp:1:
/usr/include/QtCore/qobject.h:204:17: note: candidate: static bool QObject::connect(const QObject*, const char*, const QObject*, const char*, Qt::ConnectionType)
static bool connect(const QObject *sender, const char *signal,
^~~~~~~
/usr/include/QtCore/qobject.h:204:17: note: candidate expects 5 arguments, 3 provided
/usr/include/QtCore/qobject.h:217:17: note: candidate: static bool QObject::connect(const QObject*, const QMetaMethod&, const QObject*, const QMetaMethod&, Qt::ConnectionType)
static bool connect(const QObject *sender, const QMetaMethod &signal,
^~~~~~~
/usr/include/QtCore/qobject.h:217:17: note: candidate expects 5 arguments, 3 provided
/usr/include/QtCore/qobject.h:337:13: note: candidate: bool QObject::connect(const QObject*, const char*, const char*, Qt::ConnectionType) const
inline bool QObject::connect(const QObject *asender, const char *asignal,
^~~~~~~
/usr/include/QtCore/qobject.h:337:13: note: no known conversion for argument 2 from ‘void (QTimer::*)()’ to ‘const char*’
gui_qt.cpp: In function ‘int gui_mch_init_font(char_u*, int)’:
gui_qt.cpp:345:42: warning: unused parameter ‘do_fontset’ [-Wunused-parameter]
gui_mch_init_font(char_u *font_name, int do_fontset)
^~~~~~~~~~
gui_qt.cpp: In function ‘int gui_mch_init()’:
gui_qt.cpp:536:16: warning: unused variable ‘app’ [-Wunused-variable]
QApplication *app = new QApplication(dummy_argc, dummy_argv, useGUI);
^~~
gui_qt.cpp: In function ‘void gui_mch_prepare(int*, char**)’:
gui_qt.cpp:623:22: warning: unused parameter ‘argc’ [-Wunused-parameter]
gui_mch_prepare(int *argc, char **argv)
^~~~
gui_qt.cpp:623:35: warning: unused parameter ‘argv’ [-Wunused-parameter]
gui_mch_prepare(int *argc, char **argv)
^~~~
gui_qt.cpp: In function ‘void gui_mch_set_shellsize(int, int, int, int, int, int, int)’:
gui_qt.cpp:634:50: warning: unused parameter ‘min_width’ [-Wunused-parameter]
gui_mch_set_shellsize(int width, int height, int min_width, int min_height,
^~~~~~~~~
gui_qt.cpp:634:65: warning: unused parameter ‘min_height’ [-Wunused-parameter]
gui_mch_set_shellsize(int width, int height, int min_width, int min_height,
^~~~~~~~~~
gui_qt.cpp:635:11: warning: unused parameter ‘base_width’ [-Wunused-parameter]
int base_width, int base_height, int direction)
^~~~~~~~~~
gui_qt.cpp:635:27: warning: unused parameter ‘base_height’ [-Wunused-parameter]
int base_width, int base_height, int direction)
^~~~~~~~~~~
gui_qt.cpp:635:44: warning: unused parameter ‘direction’ [-Wunused-parameter]
int base_width, int base_height, int direction)
^~~~~~~~~
gui_qt.cpp: In function ‘void gui_mch_settitle(char_u*, char_u*)’:
gui_qt.cpp:729:41: warning: unused parameter ‘icon’ [-Wunused-parameter]
gui_mch_settitle(char_u *title, char_u *icon)
^~~~
gui_qt.cpp: In function ‘void gui_mch_exit(int)’:
gui_qt.cpp:822:18: warning: unused parameter ‘rc’ [-Wunused-parameter]
gui_mch_exit(int rc)
^~
gui_qt.cpp: In function ‘int clip_mch_own_selection(VimClipboard*)’:
gui_qt.cpp:856:38: warning: unused parameter ‘cbd’ [-Wunused-parameter]
clip_mch_own_selection(VimClipboard *cbd)
^~~
gui_qt.cpp: In function ‘void clip_mch_lose_selection(VimClipboard*)’:
gui_qt.cpp:865:39: warning: unused parameter ‘cbd’ [-Wunused-parameter]
clip_mch_lose_selection(VimClipboard *cbd)
^~~
gui_qt.cpp: In function ‘void gui_mch_set_text_area_pos(int, int, int, int)’:
gui_qt.cpp:1123:31: warning: unused parameter ‘x’ [-Wunused-parameter]
gui_mch_set_text_area_pos(int x, int y, int w, int h)
^
gui_qt.cpp:1123:38: warning: unused parameter ‘y’ [-Wunused-parameter]
gui_mch_set_text_area_pos(int x, int y, int w, int h)
^
gui_qt.cpp:1123:45: warning: unused parameter ‘w’ [-Wunused-parameter]
gui_mch_set_text_area_pos(int x, int y, int w, int h)
^
gui_qt.cpp:1123:52: warning: unused parameter ‘h’ [-Wunused-parameter]
gui_mch_set_text_area_pos(int x, int y, int w, int h)
^
gui_qt.cpp: In function ‘void gui_mch_set_toolbar_pos(int, int, int, int)’:
gui_qt.cpp:1163:29: warning: unused parameter ‘x’ [-Wunused-parameter]
gui_mch_set_toolbar_pos(int x, int y, int w, int h)
^
gui_qt.cpp:1163:36: warning: unused parameter ‘y’ [-Wunused-parameter]
gui_mch_set_toolbar_pos(int x, int y, int w, int h)
^
gui_qt.cpp:1163:43: warning: unused parameter ‘w’ [-Wunused-parameter]
gui_mch_set_toolbar_pos(int x, int y, int w, int h)
^
gui_qt.cpp:1163:50: warning: unused parameter ‘h’ [-Wunused-parameter]
gui_mch_set_toolbar_pos(int x, int y, int w, int h)
^
gui_qt.cpp: In function ‘void gui_mch_set_menu_pos(int, int, int, int)’:
gui_qt.cpp:1258:26: warning: unused parameter ‘x’ [-Wunused-parameter]
gui_mch_set_menu_pos(int x, int y, int w, int h)
^
gui_qt.cpp:1258:33: warning: unused parameter ‘y’ [-Wunused-parameter]
gui_mch_set_menu_pos(int x, int y, int w, int h)
^
gui_qt.cpp:1258:40: warning: unused parameter ‘w’ [-Wunused-parameter]
gui_mch_set_menu_pos(int x, int y, int w, int h)
^
gui_qt.cpp:1258:47: warning: unused parameter ‘h’ [-Wunused-parameter]
gui_mch_set_menu_pos(int x, int y, int w, int h)
^
gui_qt.cpp: In function ‘void gui_mch_enable_scrollbar(scrollbar_T*, int)’:
gui_qt.cpp:1440:39: warning: unused parameter ‘sb’ [-Wunused-parameter]
gui_mch_enable_scrollbar(scrollbar_T *sb, int flag)
^~
gui_qt.cpp:1440:47: warning: unused parameter ‘flag’ [-Wunused-parameter]
gui_mch_enable_scrollbar(scrollbar_T *sb, int flag)
^~~~
gui_qt.cpp: In function ‘char_u* gui_mch_browse(int, char_u*, char_u*, char_u*, char_u*, char_u*)’:
gui_qt.cpp:1502:51: warning: unused parameter ‘dflt’ [-Wunused-parameter]
gui_mch_browse(int saving, char_u *title, char_u *dflt, char_u *ext, char_u *initdir, char_u *vimfilter)
^~~~
gui_qt.cpp:1502:65: warning: unused parameter ‘ext’ [-Wunused-parameter]
gui_mch_browse(int saving, char_u *title, char_u *dflt, char_u *ext, char_u *initdir, char_u *vimfilter)
^~~
gui_qt.cpp: In function ‘int gui_mch_dialog(int, char_u*, char_u*, char_u*, int, char_u*, int)’:
gui_qt.cpp:1550:99: warning: unused parameter ‘textfield’ [-Wunused-parameter]
gui_mch_dialog(int type, char_u *title, char_u *message, char_u *buttons, int dfltbutton, char_u *textfield, int ex_cmd)
^~~~~~~~~
gui_qt.cpp:1550:114: warning: unused parameter ‘ex_cmd’ [-Wunused-parameter]
gui_mch_dialog(int type, char_u *title, char_u *message, char_u *buttons, int dfltbutton, char_u *textfield, int ex_cmd)
^~~~~~
gui_qt.cpp: In function ‘char_u* gui_mch_font_dialog(char_u*)’:
gui_qt.cpp:1696:7: warning: unused variable ‘ok’ [-Wunused-variable]
bool ok;
^~
gui_qt.cpp: In function ‘void* qt_socket_notifier_read(int, void (*)(int))’:
gui_qt.cpp:1807:41: error: ‘void QSocketNotifier::activated(int)’ is protected within this context
QObject::connect(in, &QSocketNotifier::activated, [fd, fptr]() {
^~~~~~~~~
In file included from /usr/include/QtCore/QSocketNotifier:1:0,
from gui_qt.cpp:15:
/usr/include/QtCore/qsocketnotifier.h:76:10: note: declared protected here
void activated(int socket);
^~~~~~~~~
gui_qt.cpp:1809:4: error: no matching function for call to ‘QObject::connect(QSocketNotifier*&, void (QSocketNotifier::*)(int), qt_socket_notifier_read(int, void (*)(int))::<lambda()>)’
});
^
In file included from /usr/include/QtCore/qcoreapplication.h:45:0,
from /usr/include/QtGui/qapplication.h:45,
from /usr/include/QtGui/QApplication:1,
from gui_qt.cpp:1:
/usr/include/QtCore/qobject.h:204:17: note: candidate: static bool QObject::connect(const QObject*, const char*, const QObject*, const char*, Qt::ConnectionType)
static bool connect(const QObject *sender, const char *signal,
^~~~~~~
/usr/include/QtCore/qobject.h:204:17: note: candidate expects 5 arguments, 3 provided
/usr/include/QtCore/qobject.h:217:17: note: candidate: static bool QObject::connect(const QObject*, const QMetaMethod&, const QObject*, const QMetaMethod&, Qt::ConnectionType)
static bool connect(const QObject *sender, const QMetaMethod &signal,
^~~~~~~
/usr/include/QtCore/qobject.h:217:17: note: candidate expects 5 arguments, 3 provided
/usr/include/QtCore/qobject.h:337:13: note: candidate: bool QObject::connect(const QObject*, const char*, const char*, Qt::ConnectionType) const
inline bool QObject::connect(const QObject *asender, const char *asignal,
^~~~~~~
/usr/include/QtCore/qobject.h:337:13: note: no known conversion for argument 2 from ‘void (QSocketNotifier::*)(int)’ to ‘const char*’
gui_qt.cpp: In function ‘void* qt_socket_notifier_ex(int, void (*)(int))’:
gui_qt.cpp:1816:42: error: ‘void QSocketNotifier::activated(int)’ is protected within this context
QObject::connect(err, &QSocketNotifier::activated, [fd, fptr]() {
^~~~~~~~~
In file included from /usr/include/QtCore/QSocketNotifier:1:0,
from gui_qt.cpp:15:
/usr/include/QtCore/qsocketnotifier.h:76:10: note: declared protected here
void activated(int socket);
^~~~~~~~~
gui_qt.cpp:1818:4: error: no matching function for call to ‘QObject::connect(QSocketNotifier*&, void (QSocketNotifier::*)(int), qt_socket_notifier_ex(int, void (*)(int))::<lambda()>)’
});
^
In file included from /usr/include/QtCore/qcoreapplication.h:45:0,
from /usr/include/QtGui/qapplication.h:45,
from /usr/include/QtGui/QApplication:1,
from gui_qt.cpp:1:
/usr/include/QtCore/qobject.h:204:17: note: candidate: static bool QObject::connect(const QObject*, const char*, const QObject*, const char*, Qt::ConnectionType)
static bool connect(const QObject *sender, const char *signal,
^~~~~~~
/usr/include/QtCore/qobject.h:204:17: note: candidate expects 5 arguments, 3 provided
/usr/include/QtCore/qobject.h:217:17: note: candidate: static bool QObject::connect(const QObject*, const QMetaMethod&, const QObject*, const QMetaMethod&, Qt::ConnectionType)
static bool connect(const QObject *sender, const QMetaMethod &signal,
^~~~~~~
/usr/include/QtCore/qobject.h:217:17: note: candidate expects 5 arguments, 3 provided
/usr/include/QtCore/qobject.h:337:13: note: candidate: bool QObject::connect(const QObject*, const char*, const char*, Qt::ConnectionType) const
inline bool QObject::connect(const QObject *asender, const char *asignal,
^~~~~~~
/usr/include/QtCore/qobject.h:337:13: note: no known conversion for argument 2 from ‘void (QSocketNotifier::*)(int)’ to ‘const char*’
make[1]: *** [Makefile:3112: objects/gui_qt.o] Error 1
make[1]: *** Waiting for unfinished jobs....
if_perl.xs: In function ‘perl_to_vim’:
if_perl.xs:1100:9: warning: this statement may fall through [-Wimplicit-fallthrough=]
if (!SvROK(sv)) { /* references should be string */
^
if_perl.xs:1104:2: note: here
case SVt_PV: /* string */
^~~~
make: *** [Makefile:29: first] Error 2