URL:
https://github.com/SSSD/sssd/pull/502
Title: #502: BUILD: Add missing libs found by -Wl,-z,defs
lslebodn commented:
"""
On (23/01/18 12:05), Jakub Hrozek wrote:
How should I test this? I tried to revert (err, comment out) the sed
that removes the -z flag from linker flags, then apply the two patches, but the fedora
build on rawhide still failed with:
```
src/util/.libs/child_common.o: In function `write_pipe_handler':
/builddir/build/BUILD/sssd-1.16.0/src/util/child_common.c:389: undefined reference to
`sss_atomic_io_s'
src/util/.libs/child_common.o: In function `read_pipe_handler':
/builddir/build/BUILD/sssd-1.16.0/src/util/child_common.c:473: undefined reference to
`sss_atomic_io_s'
src/util/.libs/child_common.o: In function `sss_sigchld_init':
/builddir/build/BUILD/sssd-1.16.0/src/util/child_common.c:73: undefined reference to
`sss_hash_create'
/builddir/build/BUILD/sssd-1.16.0/src/util/child_common.c:82: undefined reference to
`BlockSignals'
src/util/.libs/child_common.o: In function `child_debug_init':
/builddir/build/BUILD/sssd-1.16.0/src/util/child_common.c:818: undefined reference to
`sss_strerror'
collect2: error: ld returned 1 exit status
make[2]: *** [Makefile:11039: libsss_child.la] Error
```
This patch does not try to fix all problems. Just problems which can be easily
fixed with adding missing libraries. This is just 1st step to reduce count
of warnings.
Full solution will need to remove cyclic dependencies between internal
libraries and somehow reorganise dependencies between symbols in sssd_be
and other plugins.
There is also an issue with winbind_idmap_sss.la. It calls smb_register_idmap
which is provided by same samba component. That's the reason why we need
libdlopen_test_winbind_idmap.la for dlopen test.
We might try to workaround that with finding required symbol on the fly
with dlsym. But better approach would be change approach in winbind.
Anyway,
back to your question: I basically tested with `make -j check` + double
checking whether missing symbols are really required by library `objdump -p ...`
and `objdump -T ...`
LS
"""
See the full comment at
https://github.com/SSSD/sssd/pull/502#issuecomment-360409977