dimmus / eflete

Theme Editor for Enlightenment Foundation Library-based applications
GNU Lesser General Public License v3.0
6 stars 4 forks source link

Segfault compiling EDC step #39

Closed Thanatermesis closed 10 months ago

Thanatermesis commented 10 months ago

I'm just trying to build and I have this error:

options used:

       -Denable-audio=true \
       -Denable-enventor=true \
       --buildtype=release \

error:

[12/130] /usr/bin/edje_cc -id /mkdeb/build/amd64/eflete_217842/eflete/data/themes/default/images -id /mkdeb/build/amd64/eflete_217842/eflete/data/themes/default/images/splash -fd /mkdeb/build/amd64/eflete_217842/eflete/data/themes/default/../../fonts ../data/themes/default/default.edc data/themes/default/eflete_elm.edj
ninja: build stopped: subcommand failed.
dh_auto_build: error: cd obj-x86_64-linux-gnu && LC_ALL=C.UTF-8 ninja -j4 -v returned exit code 1

Which I tried manually as:

❯❯❯ /usr/bin/edje_cc -id /mkdeb/build/amd64/eflete_217842/eflete/data/themes/default/images -id /mkdeb/build/amd64/eflete_217842/eflete/data/themes/default/images/splash -fd /mkdeb/build/amd64/eflete_217842/eflete/data/themes/default/../../fonts ../data/themes/default/default.edc data/themes/default/eflete_elm.edj
ERR<220548>:eet ../src/lib/eet/eet_lib.c:331 eet_flush2() Can't write file 'data/themes/default/eflete_elm.edj'.
## Copy & Paste the below (until EOF) into a terminal, then hit Enter

eina_btlog << EOF
/lib/x86_64-linux-gnu/libeina.so.1 0x7f83828c53ec 0x7f838289a000
/lib/x86_64-linux-gnu/libeina.so.1 0x7f83828c6651 0x7f838289a000
/lib/x86_64-linux-gnu/libeina.so.1 0x7f83828c7c85 0x7f838289a000
/lib/x86_64-linux-gnu/libeet.so.1 0x7f838287683b 0x7f838285c000
/lib/x86_64-linux-gnu/libeet.so.1 0x7f83828776ea 0x7f838285c000
/usr/bin/edje_cc 0x562fce100ca2 0x562fce0e4000
/usr/bin/edje_cc 0x562fce0f55e7 0x562fce0e4000
/lib/x86_64-linux-gnu/libc.so.6 0x7f83820a41ca 0x7f838207d000
/lib/x86_64-linux-gnu/libc.so.6 0x7f83820a4285 0x7f838207d000
/usr/bin/edje_cc 0x562fce0f5fd1 0x562fce0e4000
EOF

[1]    220548 segmentation fault  /usr/bin/edje_cc -id  -id  -fd  ../data/themes/default/default.edc

eina_log shows:

    /lib/x86_64-linux-gnu/libeina.so.1|                   ??/??          :   0 @ _eina_semaphore_free()
    /lib/x86_64-linux-gnu/libeina.so.1|                   ??/??          :   0 @ eina_log_print_cb_stdout()
    /lib/x86_64-linux-gnu/libeina.so.1|                   ??/??          :   0 @ eina_log_print()
    /lib/x86_64-linux-gnu/libeet.so.1 |                   ??/??          :   0 @ eet_data_image_decode_to_surface()
    /lib/x86_64-linux-gnu/libeet.so.1 |                   ??/??          :   0 @ eet_sync()
                 /usr/bin/edje_cc     |                     /            :   0 @ ()
                 /usr/bin/edje_cc     |                     /            :   0 @ ()
    /lib/x86_64-linux-gnu/libc.so.6   | ./csu/../sysdeps/x86/libc-start.c:  74 @ __libc_start_call_main()
    /lib/x86_64-linux-gnu/libc.so.6   |         ./csu/../csu/libc-start.c: 128 @ call_init()
                 /usr/bin/edje_cc     |                     /            :   0 @ ()
dimmus commented 10 months ago

@Thanatermesis, thanks for pointing it out. Some comments:

  1. Enventor support hasn't been implemented yet. Switch it off for now. WIP
  2. I cannot repeat the error you found. I don't see yet the eflete's reason to get  'Can't write file' from eet. However, I try to investigate it more deeply.

Does Eflete work with default options?

Thanatermesis commented 10 months ago

Seems like I needed to add the CFLAG -Wno-error=strict-aliasing in order to not trigger the error

So I think if you use -Werror=strict-aliasing you should be able to reproduce it

But then I also needed to add -Wno-error=float-equal too, in order to finish the compilation successfully

dimmus commented 10 months ago

Good try. But don't see this warnings in your log. Nevertheless, i need to be not so strict in warnings by default (only in dev mode). I fork this in near time.

Thanatermesis commented 10 months ago

Good try. But don't see this warnings in your log.

I'm used that sometimes when I compile and fails, can be because of the flags, in my previous example yeah it was not included in the log but I read it before these lines so I tried to disable the warning-as-error (plus the other one) and the compilation worked 🤔

dimmus commented 10 months ago

Now Eflete compiles as release by default (with minor number of flags and no werror). All paranoic flags are only for debug (or with ./run). Should compiling more stable.