Chargement...
 
[Voir/Cacher menus de gauche]
[Voir/Cacher menus de droite]

7 - Développer/traduire/documenter/annoncer une application

> Forums de discussion > 7 - Développer/traduire/documenter/annoncer une application > [RÉSOLU] azr3-jack ne compile plus sur Debian Stretch
Dernier post

[RÉSOLU] azr3-jack ne compile plus sur Debian Stretch

olinuxx utilisateur non connecté France
AZR3 n'est plus maintenu en amont. De ce fait, il ne compile plus sur Debian Stretch par exemple, et il a était retiré des dépôts Debian.

Si quelqu'un avec quelques notions de codage voulait le reprendre, ça serait un bon moment pour faire ça.

ycollet utilisateur non connecté France
Bonjour,

Je viens de trouver le soucis.
Conflit entre
std::bind
et
sigc::bind
..
J'ajoute un patch à ce message.

diff --git a/Makefile b/Makefile
index 5b9546e..23ed12a 100644
--- a/Makefile
+++ b/Makefile
@@ -32,7 +32,7 @@ azr3_SOURCES = \
 	drawbar.hpp drawbar.cpp \
 	textbox.hpp textbox.cpp
 azr3_SOURCEDIR = azr3
-azr3_CFLAGS = `pkg-config --cflags gtkmm-2.4 jack lash-1.0` -DDATADIR=\"$(pkgdatadir)\"
+azr3_CFLAGS = -O2 `pkg-config --cflags gtkmm-2.4 jack lash-1.0` -DDATADIR=\"$(pkgdatadir)\"
 azr3_LDFLAGS = `pkg-config --libs gtkmm-2.4 jack lash-1.0` -lpthread
 azr3_cpp_CFLAGS = $(shell if pkg-config --atleast-version=0.107 jack ; then echo -include azr3/newjack.hpp; fi)
 main_cpp_CFLAGS = -DPACKAGE_VERSION=\"$(PACKAGE_VERSION)\"
diff --git a/azr3/azr3gui.cpp b/azr3/azr3gui.cpp
index 7aa500b..7ea9fce 100644
--- a/azr3/azr3gui.cpp
+++ b/azr3/azr3gui.cpp
@@ -80,7 +80,7 @@ AZR3GUI::AZR3GUI()
     connect(mem_fun(*this, &AZR3GUI::splitpoint_changed));
   Menu* menu = create_menu();
   m_tbox->signal_button_press_event().
-    connect(bind(mem_fun(*this, &AZR3GUI::popup_menu), menu));
+    connect(sigc::bind(mem_fun(*this, &AZR3GUI::popup_menu), menu));
   
   // keyboard split switch
   m_splitswitch = add_switch(m_fbox, -1, 537, 49, Switch::Mini);
@@ -141,7 +141,7 @@ AZR3GUI::AZR3GUI()
   // mode switcher
   Widget* eb = add_clickbox(m_fbox, 14, 319, 14, 44);
   eb->signal_button_press_event().
-    connect(sigc::hide(bind(bind(mem_fun(*this, &AZR3GUI::change_mode), 
+    connect(sigc::hide(sigc::bind(sigc::bind(mem_fun(*this, &AZR3GUI::change_mode), 
 				 sigc::ref(m_fbox)), false)));
   m_fx_widgets.push_back(eb);
   
@@ -182,7 +182,7 @@ AZR3GUI::AZR3GUI()
   // mode switcher 2
   Widget* eb2 = add_clickbox(m_vbox, 14, 53, 14, 44);
   eb2->signal_button_press_event().
-    connect(sigc::hide(bind(bind(mem_fun(*this, &AZR3GUI::change_mode), 
+    connect(sigc::hide(sigc::bind(sigc::bind(mem_fun(*this, &AZR3GUI::change_mode), 
 				 sigc::ref(m_fbox)), true)));
 
   // vibrato controls
@@ -352,7 +352,7 @@ Knob* AZR3GUI::add_knob(Fixed& fbox, RefPtr<Pixmap>& pm, size_t port,
   knob->set_style(s);
   if (port < m_adj.size()) {
     knob->get_adjustment().signal_value_changed().
-      connect(compose(bind<0>(mem_fun(*this, &AZR3GUI::control_changed), port),
+      connect(compose(sigc::bind<0>(mem_fun(*this, &AZR3GUI::control_changed), port),
 		      mem_fun(knob->get_adjustment(), 
 			      &Adjustment::get_value)));
     assert(m_adj[port] == 0);
@@ -382,7 +382,7 @@ Drawbar* AZR3GUI::add_drawbar(Fixed& fbox, RefPtr<Pixmap>& pm, size_t port,
   db->set_style(s);
   if (port < m_adj.size()) {
     db->get_adjustment().signal_value_changed().
-      connect(compose(bind<0>(mem_fun(*this, &AZR3GUI::control_changed), port),
+      connect(compose(sigc::bind<0>(mem_fun(*this, &AZR3GUI::control_changed), port),
 		      mem_fun(db->get_adjustment(), &Adjustment::get_value)));
     assert(m_adj[port] == 0);
     m_adj[port] = &db->get_adjustment();
@@ -397,7 +397,7 @@ Switch* AZR3GUI::add_switch(Fixed& fbox, size_t port,
   fbox.put(*sw, xoffset, yoffset);
   if (port >= 0 && port < m_adj.size()) {
     sw->get_adjustment().signal_value_changed().
-      connect(compose(bind<0>(mem_fun(*this, &AZR3GUI::control_changed),port),
+      connect(compose(sigc::bind<0>(mem_fun(*this, &AZR3GUI::control_changed),port),
 		      mem_fun(sw->get_adjustment(), &Adjustment::get_value)));
     assert(m_adj[port] == 0);
     m_adj[port] = &sw->get_adjustment();
@@ -489,7 +489,7 @@ void AZR3GUI::update_program_menu() {
     oss<<setw(2)<<setfill('0')<<iter->first<<' '<<iter->second.substr(0, 23);
     MenuItem* item = manage(new MenuItem(oss.str()));
     item->signal_activate().
-      connect(bind(mem_fun(*this, &AZR3GUI::program_changed), iter->first));
+      connect(sigc::bind(mem_fun(*this, &AZR3GUI::program_changed), iter->first));
     m_program_menu->items().push_back(*item);
     item->show();
     item->get_child()->modify_bg(STATE_NORMAL, m_menu_bg);
@@ -503,7 +503,7 @@ void AZR3GUI::update_split_menu() {
   for (int i = 0; i < 128; ++i) {
     MenuItem* item = manage(new MenuItem(note2str(i)));
     item->signal_activate().
-      connect(bind(mem_fun(*m_splitpoint_adj, &Adjustment::set_value),
+      connect(sigc::bind(mem_fun(*m_splitpoint_adj, &Adjustment::set_value),
 		   i / 128.0));
     m_split_menu->items().push_back(*item);
     item->show();


olinuxx utilisateur non connecté France
Super ycollet, la compile progresse grâce à cette rustine.

Ceci dit, elle plante toujours avec un nouveau message :

make[1]: Entering directory '/build/azr3-jack-1.2.3'
Generating dependencies for azr3/azr3.cpp...Generating dependencies for azr3/main.cpp......
Generating dependencies for azr3/fx.cpp.....
Generating dependencies for azr3/optionparser.cpp.....
Generating dependencies for azr3/voice_classes.cpp.....
Generating dependencies for azr3/azr3gui.cpp.....
Generating dependencies for azr3/knob.cpp.....
Generating dependencies for azr3/switch.cpp.....
Generating dependencies for azr3/drawbar.cpp.....
Generating dependencies for azr3/textbox.cpp.....
.
Merging dependencies....
g++ -c -o azr3/main.o -g -O2 -fdebug-prefix-map=/build/azr3-jack-1.2.3=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -fdebug-prefix-map=/build/azr3-jack-1.2.3=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -O2 `pkg-config --cflags gtkmm-2.4 jack` -DDATADIR=\"/usr/share/azr3-jack\" -DPACKAGE_VERSION=\"1.2.3\" -O2 `pkg-config --cflags gtkmm-2.4 jack` -DDATADIR=\"/usr/share/azr3-jack\" azr3/main.cpp
g++ -c -o azr3/azr3.o -g -O2 -fdebug-prefix-map=/build/azr3-jack-1.2.3=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -fdebug-prefix-map=/build/azr3-jack-1.2.3=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -O2 `pkg-config --cflags gtkmm-2.4 jack` -DDATADIR=\"/usr/share/azr3-jack\" -include azr3/newjack.hpp -O2 `pkg-config --cflags gtkmm-2.4 jack` -DDATADIR=\"/usr/share/azr3-jack\" azr3/azr3.cpp
g++ -c -o azr3/fx.o -g -O2 -fdebug-prefix-map=/build/azr3-jack-1.2.3=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -fdebug-prefix-map=/build/azr3-jack-1.2.3=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -O2 `pkg-config --cflags gtkmm-2.4 jack` -DDATADIR=\"/usr/share/azr3-jack\"  -O2 `pkg-config --cflags gtkmm-2.4 jack` -DDATADIR=\"/usr/share/azr3-jack\" azr3/fx.cpp
g++ -c -o azr3/optionparser.o -g -O2 -fdebug-prefix-map=/build/azr3-jack-1.2.3=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -fdebug-prefix-map=/build/azr3-jack-1.2.3=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -O2 `pkg-config --cflags gtkmm-2.4 jack` -DDATADIR=\"/usr/share/azr3-jack\"  -O2 `pkg-config --cflags gtkmm-2.4 jack` -DDATADIR=\"/usr/share/azr3-jack\" azr3/optionparser.cpp
g++ -c -o azr3/voice_classes.o -g -O2 -fdebug-prefix-map=/build/azr3-jack-1.2.3=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -fdebug-prefix-map=/build/azr3-jack-1.2.3=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -O2 `pkg-config --cflags gtkmm-2.4 jack` -DDATADIR=\"/usr/share/azr3-jack\"  -O2 `pkg-config --cflags gtkmm-2.4 jack` -DDATADIR=\"/usr/share/azr3-jack\" azr3/voice_classes.cpp
g++ -c -o azr3/azr3gui.o -g -O2 -fdebug-prefix-map=/build/azr3-jack-1.2.3=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -fdebug-prefix-map=/build/azr3-jack-1.2.3=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -O2 `pkg-config --cflags gtkmm-2.4 jack` -DDATADIR=\"/usr/share/azr3-jack\"  -O2 `pkg-config --cflags gtkmm-2.4 jack` -DDATADIR=\"/usr/share/azr3-jack\" azr3/azr3gui.cpp
g++ -c -o azr3/knob.o -g -O2 -fdebug-prefix-map=/build/azr3-jack-1.2.3=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -fdebug-prefix-map=/build/azr3-jack-1.2.3=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -O2 `pkg-config --cflags gtkmm-2.4 jack` -DDATADIR=\"/usr/share/azr3-jack\"  -O2 `pkg-config --cflags gtkmm-2.4 jack` -DDATADIR=\"/usr/share/azr3-jack\" azr3/knob.cpp
azr3/azr3gui.cpp: In constructor 'AZR3GUI::AZR3GUI()':
azr3/azr3gui.cpp:145:16: error: call of overloaded 'ref(Gtk::Fixed&)' is ambiguous
      ref(m_fbox)), false)));
                ^
In file included from /usr/include/sigc++-2.0/sigc++/adaptors/bound_argument.h:24:0,
                 from /usr/include/sigc++-2.0/sigc++/adaptors/bind.h:6,
                 from /usr/include/sigc++-2.0/sigc++/adaptors/adaptors.h:23,
                 from /usr/include/sigc++-2.0/sigc++/sigc++.h:107,
                 from /usr/include/glibmm-2.4/glibmm/thread.h:50,
                 from /usr/include/glibmm-2.4/glibmm.h:89,
                 from /usr/include/gtkmm-2.4/gtkmm.h:87,
                 from azr3/azr3gui.cpp:26:
/usr/include/sigc++-2.0/sigc++/reference_wrapper.h:75:27: note: candidate: sigc::reference_wrapper<T_type> sigc::ref(T_type&) [with T_type = Gtk::Fixed]
 reference_wrapper<T_type> ref(T_type& v)
                           ^~~
/usr/include/sigc++-2.0/sigc++/reference_wrapper.h:91:33: note: candidate: sigc::const_reference_wrapper<T_type> sigc::ref(const T_type&) [with T_type = Gtk::Fixed]
 const_reference_wrapper<T_type> ref(const T_type& v)
                                 ^~~
In file included from /usr/include/sigc++-2.0/sigc++/reference_wrapper.h:22:0,
                 from /usr/include/sigc++-2.0/sigc++/adaptors/bound_argument.h:24,
                 from /usr/include/sigc++-2.0/sigc++/adaptors/bind.h:6,
                 from /usr/include/sigc++-2.0/sigc++/adaptors/adaptors.h:23,
                 from /usr/include/sigc++-2.0/sigc++/sigc++.h:107,
                 from /usr/include/glibmm-2.4/glibmm/thread.h:50,
                 from /usr/include/glibmm-2.4/glibmm.h:89,
                 from /usr/include/gtkmm-2.4/gtkmm.h:87,
                 from azr3/azr3gui.cpp:26:
/usr/include/c++/6/functional:473:5: note: candidate: std::reference_wrapper<_Tp> std::ref(_Tp&) [with _Tp = Gtk::Fixed]
     ref(_Tp& __t) noexcept
     ^~~
azr3/azr3gui.cpp:186:16: error: call of overloaded 'ref(Gtk::Fixed&)' is ambiguous
      ref(m_fbox)), true)));
                ^
In file included from /usr/include/sigc++-2.0/sigc++/adaptors/bound_argument.h:24:0,
                 from /usr/include/sigc++-2.0/sigc++/adaptors/bind.h:6,
                 from /usr/include/sigc++-2.0/sigc++/adaptors/adaptors.h:23,
                 from /usr/include/sigc++-2.0/sigc++/sigc++.h:107,
                 from /usr/include/glibmm-2.4/glibmm/thread.h:50,
                 from /usr/include/glibmm-2.4/glibmm.h:89,
                 from /usr/include/gtkmm-2.4/gtkmm.h:87,
                 from azr3/azr3gui.cpp:26:
/usr/include/sigc++-2.0/sigc++/reference_wrapper.h:75:27: note: candidate: sigc::reference_wrapper<T_type> sigc::ref(T_type&) [with T_type = Gtk::Fixed]
 reference_wrapper<T_type> ref(T_type& v)
                           ^~~
/usr/include/sigc++-2.0/sigc++/reference_wrapper.h:91:33: note: candidate: sigc::const_reference_wrapper<T_type> sigc::ref(const T_type&) [with T_type = Gtk::Fixed]
 const_reference_wrapper<T_type> ref(const T_type& v)
                                 ^~~
In file included from /usr/include/sigc++-2.0/sigc++/reference_wrapper.h:22:0,
                 from /usr/include/sigc++-2.0/sigc++/adaptors/bound_argument.h:24,
                 from /usr/include/sigc++-2.0/sigc++/adaptors/bind.h:6,
                 from /usr/include/sigc++-2.0/sigc++/adaptors/adaptors.h:23,
                 from /usr/include/sigc++-2.0/sigc++/sigc++.h:107,
                 from /usr/include/glibmm-2.4/glibmm/thread.h:50,
                 from /usr/include/glibmm-2.4/glibmm.h:89,
                 from /usr/include/gtkmm-2.4/gtkmm.h:87,
                 from azr3/azr3gui.cpp:26:
/usr/include/c++/6/functional:473:5: note: candidate: std::reference_wrapper<_Tp> std::ref(_Tp&) [with _Tp = Gtk::Fixed]
     ref(_Tp& __t) noexcept
     ^~~


ycollet utilisateur non connecté France
OK, chez moi, ça passe nickel.
Est-ce que tu peux me donner la version de gcc ? (gcc --version).
Est-ce que tu peux ajouter le flag -std=c++11 dans le Makefile ?
Il faut remplacer:
azr3_CFLAGS = -O2 `pkg-config --cflags gtkmm-2.4 jack lash-1.0` -DDATADIR=\"$(pkgdatadir)\"

par:
azr3_CFLAGS = -O2 -std=c++11 `pkg-config --cflags gtkmm-2.4 jack lash-1.0` -DDATADIR=\"$(pkgdatadir)\"


ycollet utilisateur non connecté France
L'autre possibilité: dans azr3/azr3gui.cpp, remplacer les
sigc::ref(

par
std::ref(


ycollet utilisateur non connecté France
J'ai fait un build avec les flags ajoutés par debian:
-fdebug-prefix-map=/build/azr3-jack-1.2.3=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2

Avec gcc-6.3.1 (sur Fedora), ça passe.

r1 utilisateur non connecté France
Hello,

Sur Ubuntu Xenial avec :
gcc (Ubuntu 5.4.0-6ubuntu1~16.04.4) 5.4.0 20160609

Ça passe aussi (j'ai eu besoin d'installer liblash-compat-dev)

A+
Erwan

olinuxx utilisateur non connecté France
Merci ycollet. J'ai récupéré les sources de ton git, mis à jour les rustines du paquet debian, et ça fonctionne. Grâce à cela, azr3-jack sera présent dans la prochaine LibraZiK.

Lars Luthman n'est pas très actif, mais j'ai vu que ses derniers commits pour azr3 datent d'il y a un an. Peut être peux-tu lui faire parvenir tes rustines ou peut être l'as tu déjà fait ? Ça serait chouette qu'il relâche une version 1.2.4 incluant ces correctifs.

Encore merci pour l'aide !

ycollet utilisateur non connecté France
Je vais tenter le pull request. On vera si le patch est accepté ou pas.

ycollet utilisateur non connecté France
Bon, finalement, comme il n'est pas sur github, je lui ai envoyé un mail avec le patch.
A suivre ...

olinuxx utilisateur non connecté France
Croisons les doigts.

Afficher les articles :
Aller au forum :

Documentation [Afficher / Cacher]

Faire un don
[Afficher / Cacher]

Connexion
[Afficher / Cacher]



Mégaphone [Afficher / Cacher]

calixtus06, 14:33, jeu. 28 mars 2024: Bonjour et bienvenue à b.vl :-)
calixtus06, 09:30, mer. 27 mars 2024: Bonjour et bienvenue à Noar :-)
olinuxx, 18:50, lun. 25 mars 2024: Bonjour et bienvenue à Ted Demore cool
olinuxx, 17:52, dim. 24 mars 2024: Bonjour et bienvenue à Noitavon cool
calixtus06, 11:07, jeu. 21 mars 2024: Bonjour et bienvenue à obds, ceric :-)
obds, 16:12, mar. 19 mars 2024: Cet édito est juste parfait. Trop beau !
olinuxx, 11:48, ven. 15 mars 2024: Bonjour et bienvenue à Jerry cool
calixtus06, 18:03, mer. 13 mars 2024: Bonjour et bienvenue à tanguero :-)
olinuxx, 11:01, dim. 10 mars 2024: Bonjour et bienvenue à lolo cool
bda, 16:59, sam. 09 mars 2024: Chapeau pour l'édito. Vous êtes au top les gars :-)
allany, 07:20, jeu. 07 mars 2024: Ça ne fait jamais de mal, c'est l'éditorial ! [Lien]
olinuxx, 19:52, mer. 06 mars 2024: Bonjour et bienvenue à TrkNrk cool