error: The name `g_object_unref' does not exist in the context of `Tracker.Sparql.Context.new'
I'm having a lot of trouble trying to prepare the 3.31.90 release due to incompatibilities between tracker and vala. It seems tracker 2.1.6 does not build against vala 3.31.90, nor any vala back to vala 3.31.1. I didn't try older versions of vala because they require graphviz, which is no longer a dependency of GNOME.
It's probably a vala change (CC @ricotz), but tracker is using g_object_unref in Vala code, so I'll report it here instead. The errors are:
../src/libtracker-data/tracker-sparql-query.vala:128.84-128.97: error: The name `g_object_unref' does not
exist in the context of `Tracker.Sparql.Context.new'
this.var_set = new HashTable<Variable,int>.full (Variable.hash, Variable.equal, g
_object_unref, null);
^
^^^^^^^^^^^^^
../src/libtracker-data/tracker-sparql-query.vala:131.87-131.100: error: The name `g_object_unref' does no
t exist in the context of `Tracker.Sparql.Context.new'
select_var_set = new HashTable<Variable,int>.full (Variable.hash, Variabl
e.equal, g_object_unref, null);
^^^^^^^^^^^^^^
../src/libtracker-data/tracker-sparql-query.vala:132.81-132.94: error: The name `g_object_unref' does not
exist in the context of `Tracker.Sparql.Context.new'
var_map = new HashTable<string,Variable>.full (str_hash, str_equal, g_fre
e, g_object_unref);
^^^^^^^^^^^^^^
../src/libtracker-data/tracker-sparql-query.vala:133.109-133.122: error: The name `g_object_unref' does n
ot exist in the context of `Tracker.Sparql.Context.new'
predicate_variable_map = new HashTable<Variable,PredicateVariable>.full (
Variable.hash, Variable.equal, g_object_unref, g_object_unref);
^^^^^^^^^^^^^^
../src/libtracker-data/tracker-sparql-query.vala:133.125-133.138: error: The name `g_object_unref' does n
ot exist in the context of `Tracker.Sparql.Context.new'
predicate_variable_map = new HashTable<Variable,PredicateVariable>.full (
Variable.hash, Variable.equal, g_object_unref, g_object_unref);
^^^^^^^^^^^^^^
../src/libtracker-data/tracker-sparql-query.vala:144.84-144.97: error: The name `g_object_unref' does not
exist in the context of `Tracker.Sparql.Context.subquery'
this.var_set = new HashTable<Variable,int>.full (Variable.hash, Variable.equal, g_object_unref, null);
^^^^^^^^^^^^^^
../src/libtracker-data/tracker-sparql-query.vala:146.86-146.99: error: The name `g_object_unref' does not exist in the context of `Tracker.Sparql.Context.subquery'
select_var_set = new HashTable<Variable,int>.full (Variable.hash, Variable.equal, g_object_unref, null);
^^^^^^^^^^^^^^
../src/libtracker-data/tracker-sparql-query.vala:148.108-148.121: error: The name `g_object_unref' does not exist in the context of `Tracker.Sparql.Context.subquery'
predicate_variable_map = new HashTable<Variable,PredicateVariable>.full (Variable.hash, Variable.equal, g_object_unref, g_object_unref);
^^^^^^^^^^^^^^
../src/libtracker-data/tracker-sparql-query.vala:148.124-148.137: error: The name `g_object_unref' does not exist in the context of `Tracker.Sparql.Context.subquery'
predicate_variable_map = new HashTable<Variable,PredicateVariable>.full (Variable.hash, Variable.equal, g_object_unref, g_object_unref);
^^^^^^^^^^^^^^
../src/libtracker-data/tracker-sparql-pattern.vala:246.83-246.96: error: The name `g_object_unref' does not exist in the context of `Tracker.Sparql.Pattern.TripleContext.new'
table_map = new HashTable<string,DataTable>.full (str_hash, str_equal, g_free, g_object_unref);
^^^^^^^^^^^^^^
../src/libtracker-data/tracker-sparql-pattern.vala:249.100-249.113: error: The name `g_object_unref' does not exist in the context of `Tracker.Sparql.Pattern.TripleContext.new'
var_bindings = new HashTable<Variable,VariableBindingList>.full (Variable.hash, Variable.equal, g_object_unref, g_object_unref);
^^^^^^^^^^^^^^
../src/libtracker-data/tracker-sparql-pattern.vala:249.116-249.129: error: The name `g_object_unref' does not exist in the context of `Tracker.Sparql.Pattern.TripleContext.new'
var_bindings = new HashTable<Variable,VariableBindingList>.full (Variable.hash, Variable.equal, g_object_unref, g_object_unref);
^^^^^^^^^^^^^^
../src/libtracker-data/tracker-sparql-pattern.vala:951.94-951.107: error: The name `g_object_unref' does not exist in the context of `Tracker.Sparql.Pattern.translate_group_graph_pattern'
context.select_var_set = new HashTable<Variable,int>.full (Variable.hash, Variable.equal, g_object_unref, null);
^^^^^^^^^^^^^^
../src/libtracker-data/tracker-sparql-pattern.vala:1232.106-1232.119: error: The name `g_object_unref' does not exist in the context of `Tracker.Sparql.Pattern.translate_group_or_union_graph_pattern'
HashTable<Variable,int> all_var_set = new HashTable<Variable,int>.full (Variable.hash, Variable.equal, g_object_unref, null);
^^^^^^^^^^^^^^
../src/libtracker-data/tracker-sparql-pattern.vala:1248.10-1248.20: error: The name `all_var_set' does not exist in the context of `Tracker.Sparql.Pattern.translate_group_or_union_graph_pattern'
if (all_var_set.lookup (v) == 0) {
^^^^^^^^^^^
../src/libtracker-data/tracker-sparql-pattern.vala:1250.7-1250.17: error: The name `all_var_set' does not exist in the context of `Tracker.Sparql.Pattern.translate_group_or_union_graph_pattern'
all_var_set.insert (v, VariableState.BOUND);
^^^^^^^^^^^
Compilation failed: 16 error(s), 0 warning(s)
And yes, I know these files don't exist in the latest unstable tracker, but we can't use those because our scripts can't handle the version numbers. tracker is too core to be able to skip it, so the path of least resistance seems like waiting for a new tracker 2.1 release to fix this?
CC @jjardon (release blocker)