Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Build failure on Fedora 31 and Fedora 32, vala-0.45.91-1.fc31 #609

Closed
bowlofeggs opened this issue Aug 31, 2019 · 3 comments · Fixed by #611
Closed

Build failure on Fedora 31 and Fedora 32, vala-0.45.91-1.fc31 #609

bowlofeggs opened this issue Aug 31, 2019 · 3 comments · Fixed by #611

Comments

@bowlofeggs
Copy link
Contributor

bowlofeggs commented Aug 31, 2019

Dino fails to build on Fedora 31 and Fedora 32. In both cases, it seems that vala-0.45.91-1.fc31 is in use. You can see the full build logs here and here, but I think this might be the relevant bit:

[51/563] Generating C code for target QLITE_VALA_C
FAILED: qlite/src/database.c qlite/src/table.c qlite/src/column.c qlite/src/row.c qlite/src/statement_builder.c qlite/src/delete_builder.c qlite/src/insert_builder.c qlite/src/query_builder.c qlite/src/update_builder.c qlite/src/upsert_builder.c exports/qlite.vapi exports/qlite_internal.vapi exports/qlite.h exports/qlite_internal.h 
cd /builddir/build/BUILD/dino-016ab2c19b0760792f3ea8f00bfc46b49500f96a/build/qlite && /usr/bin/valac -C --header=/builddir/build/BUILD/dino-016ab2c19b0760792f3ea8f00bfc46b49500f96a/build/exports/qlite.h --internal-header=/builddir/build/BUILD/dino-016ab2c19b0760792f3ea8f00bfc46b49500f96a/build/exports/qlite_internal.h --vapi=/builddir/build/BUILD/dino-016ab2c19b0760792f3ea8f00bfc46b49500f96a/build/exports/qlite.vapi --internal-vapi=/builddir/build/BUILD/dino-016ab2c19b0760792f3ea8f00bfc46b49500f96a/build/exports/qlite_internal.vapi -b /builddir/build/BUILD/dino-016ab2c19b0760792f3ea8f00bfc46b49500f96a/qlite -d /builddir/build/BUILD/dino-016ab2c19b0760792f3ea8f00bfc46b49500f96a/build/qlite --pkg=gee-0.8 --pkg=glib-2.0 --pkg=gobject-2.0 --pkg=sqlite3 -g --target-glib=2.38 /builddir/build/BUILD/dino-016ab2c19b0760792f3ea8f00bfc46b49500f96a/qlite/src/database.vala /builddir/build/BUILD/dino-016ab2c19b0760792f3ea8f00bfc46b49500f96a/qlite/src/table.vala /builddir/build/BUILD/dino-016ab2c19b0760792f3ea8f00bfc46b49500f96a/qlite/src/column.vala /builddir/build/BUILD/dino-016ab2c19b0760792f3ea8f00bfc46b49500f96a/qlite/src/row.vala /builddir/build/BUILD/dino-016ab2c19b0760792f3ea8f00bfc46b49500f96a/qlite/src/statement_builder.vala /builddir/build/BUILD/dino-016ab2c19b0760792f3ea8f00bfc46b49500f96a/qlite/src/delete_builder.vala /builddir/build/BUILD/dino-016ab2c19b0760792f3ea8f00bfc46b49500f96a/qlite/src/insert_builder.vala /builddir/build/BUILD/dino-016ab2c19b0760792f3ea8f00bfc46b49500f96a/qlite/src/query_builder.vala /builddir/build/BUILD/dino-016ab2c19b0760792f3ea8f00bfc46b49500f96a/qlite/src/update_builder.vala /builddir/build/BUILD/dino-016ab2c19b0760792f3ea8f00bfc46b49500f96a/qlite/src/upsert_builder.vala
/builddir/build/BUILD/dino-016ab2c19b0760792f3ea8f00bfc46b49500f96a/qlite/src/column.vala:58.5-58.17: error: Creation method of abstract class cannot be public.
    public Column(string name, int type) {
    ^^^^^^^^^^^^^
/builddir/build/BUILD/dino-016ab2c19b0760792f3ea8f00bfc46b49500f96a/qlite/src/statement_builder.vala:18.9-18.28: error: Creation method of abstract class cannot be public.
        public AbstractField(T value) {
        ^^^^^^^^^^^^^^^^^^^^
Compilation failed: 2 error(s), 0 warning(s)

I'm not familiar with Vala, so I'm not sure what the fix should be (unless we can simply drop the use of the keyword public, but I would guess this is public on purpose?)

@bowlofeggs
Copy link
Contributor Author

It seems that the error is mentioned in the 0.45.1 release notes:

https://gitlab.gnome.org/GNOME/vala/raw/master/NEWS

This is the referenced issue:

https://gitlab.gnome.org/GNOME/vala/issues/766

@bowlofeggs
Copy link
Contributor Author

For ease of reference, this is the first code block referenced:

public Column(string name, int type) {
this.name = name;
this.sqlite_type = type;
}

This is the second:

public AbstractField(T value) {
this.value = value;
}

@mar-v-in
Copy link
Member

mar-v-in commented Sep 1, 2019

I think we can just leave out the public in our case, it's not strictly necessary to have it there.

bowlofeggs added a commit to bowlofeggs/dino that referenced this issue Sep 1, 2019
Starting with Vala 0.45.1, it is an error to mark abstract class
constructors public[0,1]. This commit removes three such
declarations.

fixes dino#609

[0] https://gitlab.gnome.org/GNOME/vala/raw/master/NEWS
[1] https://gitlab.gnome.org/GNOME/vala/issues/766

Signed-off-by: Randy Barlow <randy@electronsweatshop.com>
@fiaxh fiaxh closed this as completed in #611 Sep 1, 2019
fiaxh pushed a commit that referenced this issue Sep 1, 2019
Starting with Vala 0.45.1, it is an error to mark abstract class
constructors public[0,1]. This commit removes three such
declarations.

fixes #609

[0] https://gitlab.gnome.org/GNOME/vala/raw/master/NEWS
[1] https://gitlab.gnome.org/GNOME/vala/issues/766

Signed-off-by: Randy Barlow <randy@electronsweatshop.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants