Ich hab’ wohl wirklich ein Händchen dafür, tief ins Klo zu greifen.
Der Versuch jedenfalls, Asterisk 13.13 (statt 1:13.1.0~dfsg-1.1ubuntu4, wie in 16.04 LTS ausgeliefert) von Launchpad zu bauen, schlägt spektakulär fehl :-(
x86_64-linux-gnu-g++ -o chan_vpb.oo -c chan_vpb.cc -MD -MT chan_vpb.oo -MF .chan_vpb.oo.d -MP -pthread -I/usr/src/asterisk-13.13.1/include -fgnu89-inline -g -O2 -fPIE -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I/usr/include/libxml2 -pipe -Wall -march=native -fPIC -DAST_MODULE=\"chan_vpb\" cc1plus: warning: command line option ‘-fgnu89-inline’ is valid for C/ObjC but not for C++ chan_vpb.cc:391:1: sorry, unimplemented: non-trivial designated initializers not supported }; ^ chan_vpb.cc:391:1: sorry, unimplemented: non-trivial designated initializers not supported […] chan_vpb.cc:421:1: sorry, unimplemented: non-trivial designated initializers not supported /usr/src/asterisk-13.13.1/Makefile.rules:166: recipe for target 'chan_vpb.oo' failed make[3]: *** [chan_vpb.oo] Error 1 make[3]: Leaving directory '/usr/src/asterisk-13.13.1/channels' Makefile:402: recipe for target 'channels' failed make[2]: *** [channels] Error 2 make[2]: Leaving directory '/usr/src/asterisk-13.13.1' dh_auto_build: make -j1 AST_FORTIFY_SOURCE= DEBUG= OPTIMIZE= NOISY_BUILD=yes ASTDATADIR=/usr/share/asterisk ASTVARRUNDIR=/var/run/asterisk returned exit code 2 debian/rules:96: recipe for target 'override_dh_auto_build' failed make[1]: *** [override_dh_auto_build] Error 2 make[1]: Leaving directory '/usr/src/asterisk-13.13.1' debian/rules:14: recipe for target 'build' failed make: *** [build] Error 2 dpkg-buildpackage: error: debian/rules build gave error exit status 2
Needless to say: 13.1.0~dfsg-1.1ubuntu4 baut sich problemlos und der Patch gegen 13.13, wegen dem ich das überhaupt versuche, applied natürlich nicht gegen 13.1 — und auch der für 13.10 ist zu neu. :( Und zur doch sehr auffälligen Fehlermeldung findet sich im Google-Universum nichts, was weiterbrächte. Auch ist der Source nicht wirklich anders zwischen den beiden Versionen:
root@daft:/usr/src/asterisk-13.1.0~dfsg# diff channels/chan_vpb.cc ../asterisk-13.13.1/channels/chan_vpb.cc 61c61 < ASTERISK_FILE_VERSION(__FILE__, "$Revision: 419044 $") --- > ASTERISK_FILE_VERSION(__FILE__, "$Revision$") 2510c2510 < buf = ast_str_create(256); --- > buf = ast_str_create(AST_FORMAT_CAP_NAMES_LEN); 2628,2630d2627 < memset(bridges, 0, sizeof bridges); < ast_mutex_unlock(&bridge_lock); < ast_mutex_destroy(&bridge_lock); 2635a2633,2634 > bridges = NULL; > ast_mutex_unlock(&bridge_lock);
WTF?!
Umschulungswunsch: Gärtner. Im Zen-Garten.

Saubere build Umgebung? #vagrant
Naja, frische VM, »apt-get source«, »dpkg-source –extract asterisk….dsc«, »dpkg-buildpackage -us -uc«. Sollte reichen, sollte es nicht?
Depends ;) Aber ja sollte…