Page MenuHomePhabricator

Windows : meson build fails with undef ref
Closed, ResolvedPublic

Description

here is the ouptput :

[1105/3719] Linking target src/modules/evas/engines/buffer/libbuffer.dll.
FAILED: src/modules/evas/engines/buffer/libbuffer.dll
cc @src/modules/evas/engines/buffer/libbuffer.dll.rsp
src/modules/evas/engines/buffer/src@modules@evas@engines@buffer@@buffer@sha/evas_engine.c.obj: In function `evas_engine_buffer_init':
E:\Documents\programmes_x64\msys2\home\vtorri\gitroot_64\efl\builddir/../src/modules/evas/engines/buffer/evas_engine.c:182: undefined reference to `evas_module_register'
src/modules/evas/engines/buffer/src@modules@evas@engines@buffer@@buffer@sha/evas_engine.c.obj: In function `module_open':
E:\Documents\programmes_x64\msys2\home\vtorri\gitroot_64\efl\builddir/../src/modules/evas/engines/buffer/evas_engine.c:137: undefined reference to `_evas_module_engine_inherit'
src/modules/evas/engines/buffer/src@modules@evas@engines@buffer@@buffer@sha/evas_engine.c.obj: In function `evas_render_engine_software_generic_clean':
E:\Documents\programmes_x64\msys2\home\vtorri\gitroot_64\efl\builddir/../src/modules/evas/engines/buffer/../software_generic/Evas_Engine_Software_Generic.h:155: undefined reference to `evas_common_tilebuf_free'
E:\Documents\programmes_x64\msys2\home\vtorri\gitroot_64\efl\builddir/../src/modules/evas/engines/buffer/../software_generic/Evas_Engine_Software_Generic.h:158: undefined reference to `evas_common_tilebuf_free_render_rects'
E:\Documents\programmes_x64\msys2\home\vtorri\gitroot_64\efl\builddir/../src/modules/evas/engines/buffer/../software_generic/Evas_Engine_Software_Generic.h:159: undefined reference to `evas_common_tilebuf_free_render_rects'
E:\Documents\programmes_x64\msys2\home\vtorri\gitroot_64\efl\builddir/../src/modules/evas/engines/buffer/../software_generic/Evas_Engine_Software_Generic.h:160: undefined reference to `evas_common_tilebuf_free_render_rects'
E:\Documents\programmes_x64\msys2\home\vtorri\gitroot_64\efl\builddir/../src/modules/evas/engines/buffer/../software_generic/Evas_Engine_Software_Generic.h:161: undefined reference to `evas_common_tilebuf_free_render_rects'
E:\Documents\programmes_x64\msys2\home\vtorri\gitroot_64\efl\builddir/../src/modules/evas/engines/buffer/../software_generic/Evas_Engine_Software_Generic.h:162: undefined reference to `evas_common_tilebuf_free_render_rects'
src/modules/evas/engines/buffer/src@modules@evas@engines@buffer@@buffer@sha/evas_engine.c.obj: In function `evas_render_engine_software_generic_init':
E:\Documents\programmes_x64\msys2\home\vtorri\gitroot_64\efl\builddir/../src/modules/evas/engines/buffer/../software_generic/Evas_Engine_Software_Generic.h:140: undefined reference to `evas_common_tilebuf_new'
E:\Documents\programmes_x64\msys2\home\vtorri\gitroot_64\efl\builddir/../src/modules/evas/engines/buffer/../software_generic/Evas_Engine_Software_Generic.h:144: undefined reference to `evas_common_tilebuf_set_tile_size'
src/modules/evas/engines/buffer/src@modules@evas@engines@buffer@@buffer@sha/evas_engine.c.obj: In function `evas_engine_buffer_shutdown':
E:\Documents\programmes_x64\msys2\home\vtorri\gitroot_64\efl\builddir/../src/modules/evas/engines/buffer/evas_engine.c:182: undefined reference to `evas_module_unregister'
src/modules/evas/engines/buffer/src@modules@evas@engines@buffer@@buffer@sha/evas_outbuf.c.obj: In function `evas_buffer_outbuf_buf_free':
E:\Documents\programmes_x64\msys2\home\vtorri\gitroot_64\efl\builddir/../src/modules/evas/engines/buffer/evas_outbuf.c:17: undefined reference to `evas_cache_image_drop'
src/modules/evas/engines/buffer/src@modules@evas@engines@buffer@@buffer@sha/evas_outbuf.c.obj: In function `evas_buffer_outbuf_buf_update_fb':
E:\Documents\programmes_x64\msys2\home\vtorri\gitroot_64\efl\builddir/../src/modules/evas/engines/buffer/evas_outbuf.c:50: undefined reference to `evas_common_image_cache_get'
E:\Documents\programmes_x64\msys2\home\vtorri\gitroot_64\efl\builddir/../src/modules/evas/engines/buffer/evas_outbuf.c:50: undefined reference to `evas_cache_image_data'
E:\Documents\programmes_x64\msys2\home\vtorri\gitroot_64\efl\builddir/../src/modules/evas/engines/buffer/evas_outbuf.c:58: undefined reference to `evas_common_image_cache_get'
E:\Documents\programmes_x64\msys2\home\vtorri\gitroot_64\efl\builddir/../src/modules/evas/engines/buffer/evas_outbuf.c:58: undefined reference to `evas_cache_image_data'
src/modules/evas/engines/buffer/src@modules@evas@engines@buffer@@buffer@sha/evas_outbuf.c.obj: In function `evas_buffer_outbuf_buf_new_region_for_update':
E:\Documents\programmes_x64\msys2\home\vtorri\gitroot_64\efl\builddir/../src/modules/evas/engines/buffer/evas_outbuf.c:106: undefined reference to `evas_common_image_cache_get'
E:\Documents\programmes_x64\msys2\home\vtorri\gitroot_64\efl\builddir/../src/modules/evas/engines/buffer/evas_outbuf.c:106: undefined reference to `evas_cache_image_empty'
E:\Documents\programmes_x64\msys2\home\vtorri\gitroot_64\efl\builddir/../src/modules/evas/engines/buffer/evas_outbuf.c:115: undefined reference to `evas_cache_image_size_set'
src/modules/evas/engines/buffer/src@modules@evas@engines@buffer@@buffer@sha/evas_outbuf.c.obj: In function `evas_buffer_outbuf_buf_free_region_for_update':
E:\Documents\programmes_x64\msys2\home\vtorri\gitroot_64\efl\builddir/../src/modules/evas/engines/buffer/evas_outbuf.c:125: undefined reference to `evas_cache_image_drop'
src/modules/evas/engines/buffer/src@modules@evas@engines@buffer@@buffer@sha/evas_outbuf.c.obj: In function `evas_buffer_outbuf_buf_switch_buffer':
E:\Documents\programmes_x64\msys2\home\vtorri\gitroot_64\efl\builddir/../src/modules/evas/engines/buffer/evas_outbuf.c:136: undefined reference to `evas_cache_image_drop'
E:\Documents\programmes_x64\msys2\home\vtorri\gitroot_64\efl\builddir/../src/modules/evas/engines/buffer/evas_outbuf.c:138: undefined reference to `evas_common_image_cache_get'
E:\Documents\programmes_x64\msys2\home\vtorri\gitroot_64\efl\builddir/../src/modules/evas/engines/buffer/evas_outbuf.c:138: undefined reference to `evas_cache_image_data'
src/modules/evas/engines/buffer/src@modules@evas@engines@buffer@@buffer@sha/evas_outbuf.c.obj: In function `evas_buffer_outbuf_buf_push_updated_region':
E:\Documents\programmes_x64\msys2\home\vtorri\gitroot_64\efl\builddir/../src/modules/evas/engines/buffer/evas_outbuf.c:300: undefined reference to `evas_common_draw_func_copy_get'
collect2.exe: error: ld returned 1 exit status
[1106/3719] Linking static target src/modules/evas/vg_loaders/libvg_loader_svg.a.
[1107/3719] Compiling C object src/modules/evas/src@modules@evas@@software_generic@sta/engines_software_generic_evas_native_tbm.c.obj.
../src/modules/evas/engines/software_generic/evas_native_tbm.c:8:3: warning: #warning native_tbm should not get compiled if dlsym is not found on the system! [-Wcpp]

  1. warning native_tbm should not get compiled if dlsym is not found on the system! ^~~~~~~

[1108/3719] Compiling C object src/modules/evas/src@modules@evas@@software_generic@sta/engines_software_generic_evas_native_dmabuf.c.obj.
../src/modules/evas/engines/software_generic/evas_native_dmabuf.c:8:3: warning: #warning native_dmabuf should not get compiled if dlsym is not found on the system! [-Wcpp]

  1. warning native_dmabuf should not get compiled if dlsym is not found on the system! ^~~~~~~

[1109/3719] Compiling C object src/modules/evas/src@modules@evas@@software_generic@sta/engines_software_generic_evas_ector_software_buffer.c.obj.
[1110/3719] Compiling C object src/modules/evas/src@modules@evas@@software_generic@sta/engines_software_generic_filters_evas_filter_curve.c.obj.
[1111/3719] Compiling C object src/modules/evas/src@modules@evas@@software_generic@sta/engines_software_generic_filters_evas_filter_bump.c.obj.
[1112/3719] Compiling C object src/modules/evas/src@modules@evas@@software_generic@sta/engines_software_generic_filters_evas_filter_blend.c.obj.
[1113/3719] Compiling C object src/modules/evas/src@modules@evas@@software_generic@sta/engines_software_generic_filters_evas_filter_blur.c.obj.
[1114/3719] Compiling C object src/modules/evas/src@modules@evas@@software_generic@sta/engines_software_generic_evas_engine.c.obj.
ninja: build stopped: subcommand failed.

vtorri created this task.Mar 19 2019, 11:28 PM
vtorri triaged this task as Showstopper Issues priority.

btw, meson command :

meson .. --prefix=/opt/efl_meson --buildtype=debug --default-library shared -Dsystemd=false -Dpulseaudio=false -Davahi=false -Dv4l2=false -Dlibmount=false -Deeze=false -Dx11=false -Devas-loaders-disabler='pdf','ps','raw','svg' -Dopengl=none

bu5hm4n lowered the priority of this task from Showstopper Issues to Normal.Mar 22 2019, 9:13 AM

This has nothing to do with windows, evas and meson do not play well together, hence evas is build with leaving internal API outside linking. You can -Db_lundef=true in order to workarround this.

why is that option not necessary on linux ?

btw, meson configure returns :

b_lundef    true          [true, false]                                                 Use -Wl,--no-undefined when linking

so it's already true