View Issue Details
| ID | Project | Category | View Status | Date Submitted | Last Update |
|---|---|---|---|---|---|
| 0004672 | ardour | bugs | public | 2012-01-28 17:57 | 2015-09-18 15:17 |
| Reporter | colinf | Assigned To | colinf | ||
| Priority | normal | Severity | minor | Reproducibility | sometimes |
| Status | closed | Resolution | fixed | ||
| Summary | 0004672: r11372 build failure with old gtkmm | ||||
| Description | r11372 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 Information | Attached a simple patch to use only the two-parameter version of Glib::build_filename(). | ||||
| Tags | No tags attached. | ||||
|
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(
|
|
|
Fixed now, rather better than my attempt. Thanks! |
|
|
Closing old issues reported by me: these have long since been fixed. |
| 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 |