build failure: fails to build with vala-0.15.2

Bug #952206 reported by Pim Vullers
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Dexter Contacts
Fix Committed
Medium
Unassigned

Bug Description

When trying to build dexter-contacts using valac-0.15.2 I get the following errors (making this the only elementary application which does not build using his vala version):

pim@chaos ~/elementary/dexter-contacts $ make
make all-recursive
make[1]: Entering directory `/home/pim/elementary/dexter-contacts'
Making all in src
make[2]: Entering directory `/home/pim/elementary/dexter-contacts/src'
  CC contacts-esd-setup.o
contacts-esd-setup.c: In function 'ensure_local_addressbook':
contacts-esd-setup.c:179:5: warning: passing argument 1 of 'e_client_get_source' from incompatible pointer type
/usr/include/evolution-data-server-3.2/libedataserver/e-client.h:214:11: note: expected 'struct EClient *' but argument is of type 'struct EBookClient *'
  VALAC dexter_contacts_vala.stamp
contacts-contact.vala:909.10-909.62: warning: regular expression literals are experimental
    if (/https?:\/\/www.facebook.com\/profile\.php\?id=[0-9]+$/.match(uri) ||
         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
contacts-contact.vala:910.3-910.44: warning: regular expression literals are experimental
 /https?:\/\/www.facebook.com\/[a-zA-Z0-9]+$/.match(uri))
  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
contacts-contact.vala:913.10-913.50: warning: regular expression literals are experimental
    if (/https?:\/\/twitter.com\/#!\/[a-zA-Z0-9]+$/.match(uri))
         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
contacts-cell-renderer-shape.vala:276.5-276.21: warning: Gtk.render_layout has been deprecated since vala-0.16. Use StyleContext.render_layout
contacts-cell-renderer-shape.vala:282.7-282.23: warning: Gtk.render_layout has been deprecated since vala-0.16. Use StyleContext.render_layout
contacts-contact-pane.vala:494.7-494.22: warning: Folks.PostalAddress.uid has been deprecated since 0.6.5. Use AbstractFieldDetails.id
contacts-contact-pane.vala:949.35-949.75: warning: GLib.FILE_ATTRIBUTE_STANDARD_CONTENT_TYPE has been deprecated since vala-0.16. Use FileAttribute.STANDARD_CONTENT_TYPE
contacts-contact-pane.vala:1163.36-1163.43: warning: Folks.NoteFieldDetails.uid has been deprecated since 0.6.5. Use AbstractFieldDetails.id
contacts-linking.vala:320.47-320.77: error: parameter type `Gee.HashSet<Contacts.PersonaAttribute>` is less accessible than method `Contacts.add_linkable_attributes`
  public static void add_linkable_attributes (Gee.HashSet<PersonaAttribute> s, Persona persona) {
                                              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
contacts-linking.vala:323.2-323.6: error: The name `add' does not exist in the context of `Contacts.add_linkable_attributes.s'
 s.add (new PersonaAttributeLocalId (id));
 ^^^^^
contacts-linking.vala:330.4-330.8: error: The name `add' does not exist in the context of `Contacts.add_linkable_attributes.s'
   s.add (new PersonaAttributeImAddress (proto, im));
   ^^^^^
contacts-linking.vala:338.4-338.8: error: The name `add' does not exist in the context of `Contacts.add_linkable_attributes.s'
   s.add (new PersonaAttributeWebService (srv, web));
   ^^^^^
contacts-linking.vala:344.3-344.61: error: return type `Gee.Set<Contacts.PersonaAttribute>` is less accessible than method `Contacts.get_linkable_attributes`
  public static Set<PersonaAttribute> get_linkable_attributes (Persona persona) {
  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
contacts-linking.vala:357.60-357.91: error: parameter type `Gee.Set<Contacts.PersonaAttribute>` is less accessible than method `Contacts.persona_can_link_to`
  public static bool persona_can_link_to (Persona persona, Set<PersonaAttribute> attributes) {
                                                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
contacts-linking.vala:380.12-380.50: error: parameter type `Gee.Set<Contacts.PersonaAttribute>?` is less accessible than method `Contacts.persona_apply_attributes`
           Set<PersonaAttribute>? added_attributes,
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
contacts-linking.vala:381.12-381.52: error: parameter type `Gee.Set<Contacts.PersonaAttribute>?` is less accessible than method `Contacts.persona_apply_attributes`
           Set<PersonaAttribute>? removed_attributes) {
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
contacts-linking.vala:350.3-350.76: error: return type `Gee.Set<Contacts.PersonaAttribute>` is less accessible than method `Contacts.get_linkable_attributes_for_individual`
  public static Set<PersonaAttribute> get_linkable_attributes_for_individual (Individual individual) {
  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
contacts-app.vala:383.3-389.4: warning: Contacts.App.options hides inherited constant `Granite.Application.options'. Use the `new' keyword if hiding was intentional
Compilation failed: 9 error(s), 9 warning(s)
make[2]: *** [dexter_contacts_vala.stamp] Error 1
make[2]: Leaving directory `/home/pim/elementary/dexter-contacts/src'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/home/pim/elementary/dexter-contacts'
make: *** [all] Error 2
pi

Related branches

Revision history for this message
Pim Vullers (pimvullers) wrote :

This all seems to boil down to the fact that PersonaAttribute is an internal datatype which is not visible to the outside world, while it is used in public (even static) methods as a parameter.

Replacing the internal keyword by public on line 24 of contacts-linking.vala seems to solve the issue. Please check wether this is the desired behaviour.

Changed in dexter-contacts:
status: New → Confirmed
importance: Undecided → Medium
Changed in dexter-contacts:
status: Confirmed → Fix Committed
Changed in dexter-contacts:
milestone: none → luna-beta1
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.