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.
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.
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
[email protected]
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel