On Mon, Mar 10, 2014 at 12:42:09PM +0100, Lukas Slebodnik wrote:
On (10/03/14 12:32), Jakub Hrozek wrote:
>On Mon, Mar 10, 2014 at 07:37:00AM +0100, Lukas Slebodnik wrote:
>> On (18/11/13 10:59), Lukas Slebodnik wrote:
>> >On (18/11/13 10:41), Lukas Slebodnik wrote:
>> >>ehlo,
>> >>
>> >>Static library libsss_test_common calls tevent functions directly (in
module
>> >>common_tev.c), but it was not linked with tevent library.
>> >>
>> >>Compilation will fail if sssd is linked with
"-Wl,--as-needed"
>> >> CCLD test_utils
>> >>/usr/bin/ld: ./.libs/libsss_test_common.a(common_tev.o): undefined
reference to symbol 'tevent_context_init@(a)TEVENT_0.9.9'
>> >>/usr/bin/ld: note: 'tevent_context_init@(a)TEVENT_0.9.9' is
defined in DSO /usr/lib/gcc/x86_64-redhat-linux/4.8.2/../../../../lib64/libtevent.so so
try adding it to the linker command line
>> >>/usr/lib/gcc/x86_64-redhat-linux/4.8.2/../../../../lib64/libtevent.so:
could not read symbols: Invalid operation
>> >>clang: error: linker command failed with exit code 1 (use -v to see
invocation)
>> >>
>> >>nm ./libsss_test_common.a | grep tevent
>> >> U tevent_context_init
>> >> U _tevent_loop_once
>> >> U _tevent_req_create
>> >> U _tevent_req_done
>> >> U _tevent_req_error
>> >> U tevent_req_is_error
>> >> U tevent_req_post
>> >>
>> >>Simple patch is attached.
>> >One more time :-)
>> >
>> >LS
>>
>> The same problem is also in sssd-1-11 after pushing patch
>> "DP: Provide separate dp_copy_defaults function"
>>
>> CCLD dp_opt_tests
>> /usr/bin/ld: ./.libs/libsss_test_common.a(common_tev.o): undefined reference to
symbol '_tevent_loop_once@(a)TEVENT_0.9.9'
>> /usr/bin/ld: note: '_tevent_loop_once@(a)TEVENT_0.9.9' is defined in DSO
/lib64/libtevent.so.0 so try adding it to the linker command line
>> /lib64/libtevent.so.0: could not read symbols: Invalid operation
>> clang: error: linker command failed with exit code 1 (use -v to see invocation)
>> make[2]: *** [dp_opt_tests] Error 1
>>
>> LS
>
>Darn. I wonder how to catch these issues automatically the next time
>around. I don't compile with -as-needed right now, mostly because I try
>to keep my defaults as close to RHEL and Fedora as possible.
>
Sometimes it is "--as-needed" and sometimes disabled link_all_deplibs.
>Is there any value in doing so? Would this be a good thing for the Continuous
>Integration setup?
Yes,
we should try to build sssd on debian (ubuntu)
Seems like something the CI should do for us, not something we should do
manually.