Hello.

On 08/20/2018 05:17 AM, Ross Vandegrift wrote:
> Hi all,
> 
> I started working through the 1.21 update for the Debian packages.  We use
> "-Wl,-z defs" for strict linking, and it's causing an issue with the ecore_wl2
> dmabuf module.

Thanks for the report.

> If I manually run libtool, adding "lib/ecore_wl2/libecore_wl2.la
> lib/eina/libeina.la" to the command line, it works.  But I don't know enough
> about libtool to fix the automake file.

OK, that should not be to hard to be added to automake. I created a phab
ticket for it and assigned it Derek to have a look. We will make sure
this gets backported and lands into a 1.21.1 release.

https://phab.enlightenment.org/T7327

regards
Stefan Schmidt

> Here's the failure:
> /bin/bash ../libtool  --tag=CC --tag=disable-static  --mode=link gcc  -g -O2 
> -fdebug-prefix-map=/build/efl-1.21.0=. -fstack-protector-strong -Wformat 
> -Werror=format-security -fvisibility=hidden -fpie -module -no-undefined 
> -avoid-version -Wl,-z,relro -Wl,-z,now -Wl,-z,defs -Wl,--as-needed -lm -ldl 
> -fPIC -DPIC -pie -rdynamic -o modules/ecore_wl2/engines/dmabuf/module.la 
> -rpath /usr/lib/x86_64-linux-gnu/ecore_wl2/engines/dmabuf/v-1.21 
> lib/ecore_wl2/modules_ecore_wl2_engines_dmabuf_module_la-ecore_wl2_surface_module_dmabuf.lo
>   -lrt
> libtool: link: gcc -shared  -fPIC -DPIC  
> lib/ecore_wl2/.libs/modules_ecore_wl2_engines_dmabuf_module_la-ecore_wl2_surface_module_dmabuf.o
>    -lm -ldl -lrt  -g -O2 -fstack-protector-strong -Wl,-z -Wl,relro -Wl,-z 
> -Wl,now -Wl,-z -Wl,defs -Wl,--as-needed   -Wl,-soname -Wl,module.so -o 
> modules/ecore_wl2/engines/dmabuf/.libs/module.so
> /usr/bin/ld: 
> lib/ecore_wl2/.libs/modules_ecore_wl2_engines_dmabuf_module_la-ecore_wl2_surface_module_dmabuf.o:
>  in function `ecore_wl2_surface_module_dmabuf_init':
> ./src/lib/ecore_wl2/ecore_wl2_surface_module_dmabuf.c:253: undefined 
> reference to `ecore_wl2_surface_manager_add'
> /usr/bin/ld: 
> lib/ecore_wl2/.libs/modules_ecore_wl2_engines_dmabuf_module_la-ecore_wl2_surface_module_dmabuf.o:
>  in function `_evas_dmabuf_surface_flush':
> ./src/lib/ecore_wl2/ecore_wl2_surface_module_dmabuf.c:233: undefined 
> reference to `ecore_wl2_buffer_destroy'
> /usr/bin/ld: ./src/lib/ecore_wl2/ecore_wl2_surface_module_dmabuf.c:227: 
> undefined reference to `eina_list_remove_list'
> /usr/bin/ld: ./src/lib/ecore_wl2/ecore_wl2_surface_module_dmabuf.c:229: 
> undefined reference to `ecore_wl2_buffer_busy_get'
> /usr/bin/ld: 
> lib/ecore_wl2/.libs/modules_ecore_wl2_engines_dmabuf_module_la-ecore_wl2_surface_module_dmabuf.o:
>  in function `_evas_dmabuf_surface_post':
> ./src/lib/ecore_wl2/ecore_wl2_surface_module_dmabuf.c:190: undefined 
> reference to `ecore_wl2_buffer_unlock'
> /usr/bin/ld: ./src/lib/ecore_wl2/ecore_wl2_surface_module_dmabuf.c:193: 
> undefined reference to `ecore_wl2_buffer_busy_set'
> /usr/bin/ld: ./src/lib/ecore_wl2/ecore_wl2_surface_module_dmabuf.c:194: 
> undefined reference to `ecore_wl2_buffer_age_set'
> /usr/bin/ld: ./src/lib/ecore_wl2/ecore_wl2_surface_module_dmabuf.c:196: 
> undefined reference to `ecore_wl2_surface_window_get'
> /usr/bin/ld: ./src/lib/ecore_wl2/ecore_wl2_surface_module_dmabuf.c:198: 
> undefined reference to `ecore_wl2_buffer_wl_buffer_get'
> /usr/bin/ld: ./src/lib/ecore_wl2/ecore_wl2_surface_module_dmabuf.c:199: 
> undefined reference to `ecore_wl2_window_buffer_attach'
> /usr/bin/ld: ./src/lib/ecore_wl2/ecore_wl2_surface_module_dmabuf.c:200: 
> undefined reference to `ecore_wl2_window_damage'
> /usr/bin/ld: ./src/lib/ecore_wl2/ecore_wl2_surface_module_dmabuf.c:202: 
> undefined reference to `ecore_wl2_window_commit'
> /usr/bin/ld: 
> lib/ecore_wl2/.libs/modules_ecore_wl2_engines_dmabuf_module_la-ecore_wl2_surface_module_dmabuf.o:
>  in function `_evas_dmabuf_surface_wait':
> ./src/lib/ecore_wl2/ecore_wl2_surface_module_dmabuf.c:110: undefined 
> reference to `ecore_wl2_buffer_busy_get'
> /usr/bin/ld: ./src/lib/ecore_wl2/ecore_wl2_surface_module_dmabuf.c:110: 
> undefined reference to `ecore_wl2_buffer_busy_get'
> /usr/bin/ld: ./src/lib/ecore_wl2/ecore_wl2_surface_module_dmabuf.c:115: 
> undefined reference to `ecore_wl2_buffer_age_get'
> /usr/bin/ld: ./src/lib/ecore_wl2/ecore_wl2_surface_module_dmabuf.c:135: 
> undefined reference to `eina_list_remove'
> /usr/bin/ld: ./src/lib/ecore_wl2/ecore_wl2_surface_module_dmabuf.c:136: 
> undefined reference to `ecore_wl2_buffer_destroy'
> /usr/bin/ld: ./src/lib/ecore_wl2/ecore_wl2_surface_module_dmabuf.c:142: 
> undefined reference to `ecore_wl2_surface_buffer_create'
> lib/efreet/efreet_trash.c:129:43: warning: '/.Trash-' directive output may be 
> truncated writing 8 bytes into a region of size between 1 and 4096 
> [-Wformat-truncation=]
>              snprintf(buf, sizeof(buf), "%s/.Trash-%u", path, (unsigned int) 
> getuid());
>                                            ^~~~~~~~
> In file included from /usr/include/stdio.h:862,
>                  from ../src/lib/eina/eina_inline_array.x:24,
>                  from ../src/lib/eina/eina_array.h:495,
>                  from ../src/lib/eina/eina_file.h:28,
>                  from ../src/lib/eina/Eina.h:221,
>                  from ../src/lib/ecore_file/Ecore_File.h:9,
>                  from lib/efreet/efreet_trash.c:10:
> /usr/include/x86_64-linux-gnu/bits/stdio2.h:64:10: note: 
> '__builtin___snprintf_chk' output between 10 and 4114 bytes into a 
> destination of size 4096
>    return __builtin___snprintf_chk (__s, __n, __USE_FORTIFY_LEVEL - 1,
>           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>         __bos (__s), __fmt, __va_arg_pack ());
> /usr/bin/ld: ./src/lib/ecore_wl2/ecore_wl2_surface_module_dmabuf.c:144: 
> undefined reference to `ecore_wl2_buffer_age_set'
> /usr/bin/ld: ./src/lib/ecore_wl2/ecore_wl2_surface_module_dmabuf.c:145: 
> undefined reference to `eina_list_append'
> /usr/bin/ld: 
> lib/ecore_wl2/.libs/modules_ecore_wl2_engines_dmabuf_module_la-ecore_wl2_surface_module_dmabuf.o:
>  in function `_evas_dmabuf_surface_assign':
> ./src/lib/ecore_wl2/ecore_wl2_surface_module_dmabuf.c:172: undefined 
> reference to `ecore_wl2_buffer_age_inc'
> /usr/bin/ld: ./src/lib/ecore_wl2/ecore_wl2_surface_module_dmabuf.c:168: 
> undefined reference to `ecore_wl2_buffer_age_set'
> /usr/bin/ld: ./src/lib/ecore_wl2/ecore_wl2_surface_module_dmabuf.c:174: 
> undefined reference to `ecore_wl2_buffer_age_get'
> /usr/bin/ld: 
> lib/ecore_wl2/.libs/modules_ecore_wl2_engines_dmabuf_module_la-ecore_wl2_surface_module_dmabuf.o:
>  in function `_evas_dmabuf_surface_data_get':
> ./src/lib/ecore_wl2/ecore_wl2_surface_module_dmabuf.c:87: undefined reference 
> to `ecore_wl2_buffer_map'
> /usr/bin/ld: 
> lib/ecore_wl2/.libs/modules_ecore_wl2_engines_dmabuf_module_la-ecore_wl2_surface_module_dmabuf.o:
>  in function `_evas_dmabuf_surface_destroy':
> ./src/lib/ecore_wl2/ecore_wl2_surface_module_dmabuf.c:214: undefined 
> reference to `ecore_wl2_buffer_destroy'
> /usr/bin/ld: ./src/lib/ecore_wl2/ecore_wl2_surface_module_dmabuf.c:213: 
> undefined reference to `eina_list_remove_list'
> /usr/bin/ld: 
> lib/ecore_wl2/.libs/modules_ecore_wl2_engines_dmabuf_module_la-ecore_wl2_surface_module_dmabuf.o:
>  in function `_evas_dmabuf_surface_setup':
> ./src/lib/ecore_wl2/ecore_wl2_surface_module_dmabuf.c:34: undefined reference 
> to `ecore_wl2_window_display_get'
> /usr/bin/ld: ./src/lib/ecore_wl2/ecore_wl2_surface_module_dmabuf.c:35: 
> undefined reference to `ecore_wl2_display_shm_get'
> /usr/bin/ld: ./src/lib/ecore_wl2/ecore_wl2_surface_module_dmabuf.c:37: 
> undefined reference to `ecore_wl2_display_dmabuf_get'
> /usr/bin/ld: ./src/lib/ecore_wl2/ecore_wl2_surface_module_dmabuf.c:40: 
> undefined reference to `ecore_wl2_buffer_init'
> /usr/bin/ld: 
> lib/ecore_wl2/.libs/modules_ecore_wl2_engines_dmabuf_module_la-ecore_wl2_surface_module_dmabuf.o:
>  in function `ecore_wl2_surface_module_dmabuf_shutdown':
> ./src/lib/ecore_wl2/ecore_wl2_surface_module_dmabuf.c:264: undefined 
> reference to `ecore_wl2_surface_manager_del'
> /usr/bin/ld: 
> lib/ecore_wl2/.libs/modules_ecore_wl2_engines_dmabuf_module_la-ecore_wl2_surface_module_dmabuf.o:
>  in function `_evas_dmabuf_surface_reconfigure':
> ./src/lib/ecore_wl2/ecore_wl2_surface_module_dmabuf.c:69: undefined reference 
> to `ecore_wl2_buffer_destroy'
> /usr/bin/ld: ./src/lib/ecore_wl2/ecore_wl2_surface_module_dmabuf.c:70: 
> undefined reference to `eina_list_remove_list'
> 
> Ross
> 
> ------------------------------------------------------------------------------
> Check out the vibrant tech community on one of the world's most
> engaging tech sites, Slashdot.org! http://sdm.link/slashdot
> _______________________________________________
> enlightenment-devel mailing list
> enlightenment-devel@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
> 

------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel

Reply via email to