View Issue Details

IDProjectCategoryView StatusLast Update
0004672ardourbugspublic2015-09-18 15:17
Reportercolinf Assigned Tocolinf  
PrioritynormalSeverityminorReproducibilitysometimes
Status closedResolutionfixed 
Summary0004672: r11372 build failure with old gtkmm
Descriptionr11372 uses an overloaded version of Glib::build_filename() that was only introduced in libglibmm 2.28.

I'm using Ubuntu 10.04, where the libglibmm version is still 2.24.2-0ubuntu1.

The actual error is:

../libs/ardour/lv2_plugin.cc: In member function ‘const std::string ARDOUR::LV2Plugin::scratch_dir() const’:
../libs/ardour/lv2_plugin.cc:468:55: error: no matching function for call to ‘build_filename(std::string, std::string, const char [8])’
Additional InformationAttached a simple patch to use only the two-parameter version of Glib::build_filename().
TagsNo tags attached.

Activities

2012-01-28 17:57

 

build_filename-older-glibmm.patch (1,856 bytes)   
Index: libs/ardour/lv2_plugin.cc
===================================================================
--- libs/ardour/lv2_plugin.cc	(revision 11376)
+++ libs/ardour/lv2_plugin.cc	(working copy)
@@ -465,7 +465,8 @@
 LV2Plugin::scratch_dir() const
 {
 	return Glib::build_filename(
-		_session.plugins_dir(), _insert_id.to_s(), "scratch");
+		Glib::build_filename(_session.plugins_dir(), _insert_id.to_s()),
+		"scratch");
 }
 
 /** Directory for snapshots of files in the scratch directory. */
@@ -473,16 +474,17 @@
 LV2Plugin::file_dir() const
 {
 	return Glib::build_filename(
-		_session.plugins_dir(), _insert_id.to_s(), "files");
+		Glib::build_filename(_session.plugins_dir(), _insert_id.to_s()),
+		"files");
 }
 
 /** Directory to save state snapshot version @c num into. */
 const std::string
 LV2Plugin::state_dir(unsigned num) const
 {
-	return Glib::build_filename(_session.plugins_dir(),
-	                            _insert_id.to_s(),
-	                            string_compose("state%1", num));
+	return Glib::build_filename(
+		Glib::build_filename(_session.plugins_dir(),  _insert_id.to_s()),
+	        string_compose("state%1", num));
 }
 
 /** Implementation of state:makePath for files created at instantiation time.
@@ -780,10 +782,9 @@
 				prop->value()) << endmsg;
 		}
 
-		std::string state_file = Glib::build_filename(_session.plugins_dir(),
-		                                              _insert_id.to_s(),
-		                                              prop->value(),
-		                                              "state.ttl");
+		std::string state_file = Glib::build_filename(
+			Glib::build_filename(_session.plugins_dir(), _insert_id.to_s()),
+		        Glib::build_filename(prop->value(), "state.ttl"));
 
 		cout << "Loading LV2 state from " << state_file << endl;
 		LilvState* state = lilv_state_new_from_file(

colinf

2012-01-28 22:28

updater   ~0012700

Fixed now, rather better than my attempt. Thanks!

colinf

2015-09-18 15:17

updater   ~0017273

Closing old issues reported by me: these have long since been fixed.

Issue History

Date Modified Username Field Change
2012-01-28 17:57 colinf New Issue
2012-01-28 17:57 colinf File Added: build_filename-older-glibmm.patch
2012-01-28 22:28 colinf Note Added: 0012700
2012-01-28 22:28 colinf Status new => resolved
2012-01-28 22:28 colinf Resolution open => fixed
2012-01-28 22:28 colinf Assigned To => colinf
2015-09-18 15:17 colinf Note Added: 0017273
2015-09-18 15:17 colinf Status resolved => closed