Page MenuHomePhabricator

Enventor fails to compile with latest EFL library
Closed, ResolvedPublic

Description

Enventor is failing to build against the latest EFL.

It looks like the eo_prefix in enventor_object.eo file is set to enventor_obj while in the rest of the code the functions call have another prefix: enventor_object.

The field legacy_prefix doesn't seem to be accepted by the latest eolian version: eolian_gen -v
Eolian C generator version: 1.22.99.61810

The error is:

make  all-recursive
make[1]: Entering directory '/tmp/tmp.uXBMY9zLwL/enventor'
Making all in src
make[2]: Entering directory '/tmp/tmp.uXBMY9zLwL/enventor/src'
Making all in lib
make[3]: Entering directory '/tmp/tmp.uXBMY9zLwL/enventor/src/lib'
  EOLIAN   enventor_object.eo.c
eolian: /tmp/tmp.uXBMY9zLwL/enventor/src/lib/enventor_object.eo:12:4: '}' expected (to close '{' at line 7, column 1) near 'legacy_prefix'
    legacy_prefix: enventor_object;
    ^

eolian: could not parse file 'enventor_object.eo'
make[3]: *** [Makefile:1034: enventor_object.eo.c] Error 1
make[3]: Leaving directory '/tmp/tmp.uXBMY9zLwL/enventor/src/lib'
make[2]: *** [Makefile:396: all-recursive] Error 1
make[2]: Leaving directory '/tmp/tmp.uXBMY9zLwL/enventor/src'
make[1]: *** [Makefile:539: all-recursive] Error 1
make[1]: Leaving directory '/tmp/tmp.uXBMY9zLwL/enventor'
make: *** [Makefile:427: all] Error 2

Commenting legacy_prefix and align the function calls seems to be a workaround. I can paste my patch if it helps.

rafspiny created this task.Apr 15 2019, 9:25 AM
rafspiny triaged this task as High priority.
rafspiny created this object with visibility "All Users".
rafspiny created this object with edit policy "Task Author".
rafspiny changed the visibility from "All Users" to "Public (No Login Required)".Apr 17 2019, 5:05 AM
rafspiny assigned this task to Hermet.May 6 2019, 11:04 AM

@rafspiny, Thanks for your patch but it's not valid anymore.

I've looked the current situation and concluded that I need to remove eo stuff from the enventor.
There is no any other option since the efl has changed a lot, current policy doesn't allow the enventor use this.

So It needs a whole infrastructure refactoring, may take around 3 days.

Can't quick fix, I need to plan a schedule for this. Please wait for me.

@Hermet Something that can be done: You can create the .eo.c files on your local maschine with meson enabled to install .eo files. Then just check them in to the git repository, and build with them. This would result in no need for the user to have the .eo files arround.

@Hermet Something that can be done: You can create the .eo.c files on your local maschine with meson enabled to install .eo files. Then just check them in to the git repository, and build with them. This would result in no need for the user to have the .eo files arround.

Actually, enventor should have de-coupling from the eo.

rafspiny removed Hermet as the assignee of this task.May 28 2019, 6:56 AM
rafspiny added a subscriber: Hermet.

@Hermet Thanks for looking into this.
I can use my machine as another testbed for it when you have started working on enventor.

rafspiny assigned this task to Hermet.May 28 2019, 6:59 AM
Hermet added a comment.EditedAug 17 2019, 10:59 AM

@Hermet Thanks for looking into this.
I can use my machine as another testbed for it when you have started working on enventor.

Please track this repo, i will go ahead to enventor v2 there, it's compilable now but there some unstable issues yet. I will update it as possible.
https://github.com/hermet/enventor

Hermet closed this task as Resolved.Aug 17 2019, 11:04 AM

There more serious problems to be fixed that,

  1. when new template is selected, it would be crashed
  2. preview is not updated while modifying code.

If you see more issues please request me,

All those fixed, now you could pull the enventor and enjoy it again.
This latest efl patch must be along with latest enventor.

commit f10a3c9ee36cd270045f7e30fd3716ef15e3106d (HEAD -> master, origin/master, origin/HEAD)
Author: Hermet Park <hermetpark@gmail.com>
Date: Mon Aug 19 18:04:38 2019 +0900

edje: fix compatibility issue.

Obviously previous edje object file set would try reload file
even though the file is already loaded.

This brings different result if the file data has been modified or changed.