Bug 203726 - security/sssd: Linking fails related to iconv_open (Nonrepresentable section on output) when OPTIONS_FILE_SET+=SMB
Summary: security/sssd: Linking fails related to iconv_open (Nonrepresentable section ...
Status: Closed Unable to Reproduce
Alias: None
Product: Ports & Packages
Classification: Unclassified
Component: Individual Port(s) (show other bugs)
Version: Latest
Hardware: amd64 Any
: --- Affects Only Me
Assignee: freebsd-ports-bugs (Nobody)
URL:
Keywords: needs-patch, needs-qa
Depends on:
Blocks:
 
Reported: 2015-10-12 15:35 UTC by Phillip R. Jaenke
Modified: 2016-08-18 23:25 UTC (History)
2 users (show)

See Also:
koobs: maintainer-feedback+


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Phillip R. Jaenke 2015-10-12 15:35:39 UTC
I attempted to apply a fix similar to print/cups-base (see https://svnweb.freebsd.org/ports?view=revision&revision=389291 from PR 200755) but without success. Unfortunately, I did not meet with success here. Failure occurs at libtool link, same message as 200755 with different files.

/usr/bin/ld: .libs/sssd_pac: hidden symbol `iconv_open' in /usr/lib/libc_nonshared.a(iconv_open.o) is referenced by DSO
/usr/bin/ld: final link failed: Nonrepresentable section on output
cc: error: linker command failed with exit code 1 (use -v to see invocation)

Issue appears to be that it is not fully finding iconv.

[root@testbox /usr/ports/security/sssd/work/sssd-1.11.7]# cat config.log | grep iconv
configure:14389: checking for iconv
ac_cv_search_libiconv_open=no
am_cv_func_iconv=yes
am_cv_lib_iconv=no
[root@testbox /usr/ports/security/sssd/work/sssd-1.11.7]# cat config.log | grep -i iconv
...trim...
LIBICONV=''
LTLIBICONV=''
#define HAVE_ICONV 1
[root@testbox /usr/ports/security/sssd]# pkg info | grep iconv
libiconv-1.14_9                Character set conversion library

...trimmed...
mv -f src/providers/.deps/sssd_pac-data_provider_iface_generated.Tpo src/providers/.deps/sssd_pac-data_provider_iface_generated.Po
/bin/sh ./libtool  --tag=CC   --mode=link cc  -Wall -Wshadow -Wstrict-prototypes -Wpointer-arith -Wcast-qual -Wcast-align -Wwrite-strings -Werror-implicit-function-declaration -fno-strict-aliasing -std=gnu99 -I/usr/local/include/samba4 -D_GNU_SOURCE=1  -DHAVE_IMMEDIATE_STRUCTURES=1 -I/usr/local/include   -O2 -pipe  -fstack-protector-all -DLIBICONV_PLUG -fstack-protector -DLDAP_DEPRECATED -fno-strict-aliasing -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE  -Wl,-rpath,/usr/local/lib:/usr/lib -fstack-protector -o sssd_pac src/responder/pac/sssd_pac-pacsrv.o src/responder/pac/sssd_pac-pacsrv_cmd.o src/responder/pac/sssd_pac-pacsrv_utils.o src/responder/common/sssd_pac-negcache.o src/responder/common/sssd_pac-responder_cmd.o src/responder/common/sssd_pac-responder_common.o src/responder/common/sssd_pac-responder_dp.o src/responder/common/sssd_pac-responder_packet.o src/responder/common/sssd_pac-responder_get_domains.o src/monitor/sssd_pac-monitor_iface_generated.o src/providers/sssd_pac-data_provider_iface_generated.o -L/usr/local/lib -lndr-krb5pac -lndr -Wl,-rpath,/usr/local/lib -lsamba-util -ltevent -ltalloc   -L/usr/local/lib -ltdb   -L/usr/local/lib -ltalloc   -L/usr/local/lib -ltevent -ltalloc   -L/usr/local/lib -lpopt   -L/usr/local/lib -lldb -ltalloc   -L/usr/local/lib -ldbus-1   -L/usr/local/lib -lpcre   -L/usr/local/lib -lini_config -lbasicobjects -lref_array -lcollection   -L/usr/local/lib -lcollection   -L/usr/local/lib -ldhash   -L/usr/local/lib/nss -lnss3 -lsmime3 -lssl3 -lnssutil3 -L/usr/local/lib -lplds4 -lplc4 -lnspr4 -pthread   -L/usr/local/lib -lldap -L/usr/local/lib -lintl -R/usr/local/lib -L/usr/local/lib -ltdb   libsss_idmap.la libsss_util.la libsss_crypt.la libsss_debug.la libsss_child.la
libtool: link: cc -Wall -Wshadow -Wstrict-prototypes -Wpointer-arith -Wcast-qual -Wcast-align -Wwrite-strings -Werror-implicit-function-declaration -fno-strict-aliasing -std=gnu99 -I/usr/local/include/samba4 -D_GNU_SOURCE=1 -DHAVE_IMMEDIATE_STRUCTURES=1 -I/usr/local/include -O2 -pipe -fstack-protector-all -DLIBICONV_PLUG -fstack-protector -DLDAP_DEPRECATED -fno-strict-aliasing -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -Wl,-rpath -Wl,/usr/local/lib:/usr/lib -fstack-protector -o .libs/sssd_pac src/responder/pac/sssd_pac-pacsrv.o src/responder/pac/sssd_pac-pacsrv_cmd.o src/responder/pac/sssd_pac-pacsrv_utils.o src/responder/common/sssd_pac-negcache.o src/responder/common/sssd_pac-responder_cmd.o src/responder/common/sssd_pac-responder_common.o src/responder/common/sssd_pac-responder_dp.o src/responder/common/sssd_pac-responder_packet.o src/responder/common/sssd_pac-responder_get_domains.o src/monitor/sssd_pac-monitor_iface_generated.o src/providers/sssd_pac-data_provider_iface_generated.o -Wl,-rpath -Wl,/usr/local/lib -pthread  -L/usr/local/lib -lndr-krb5pac -lndr -lsamba-util -L/usr/local/lib/nss ./.libs/libsss_idmap.so ./.libs/libsss_util.so /usr/local/lib/libldap.so ./.libs/libsss_crypt.so ./.libs/libsss_debug.so ./.libs/libsss_child.so -ltevent -lpopt -lldb -ltalloc -ldbus-1 -lpcre -lini_config -lbasicobjects -lref_array -lcollection -ldhash -lintl -ltdb -lunistring -lnss3 -lsmime3 -lssl3 -lnssutil3 -lplds4 -lplc4 -lnspr4 -pthread -Wl,-rpath -Wl,/usr/local/lib -Wl,-rpath -Wl,/usr/local/lib/sssd
/usr/bin/ld: .libs/sssd_pac: hidden symbol `iconv_open' in /usr/lib/libc_nonshared.a(iconv_open.o) is referenced by DSO
/usr/bin/ld: final link failed: Nonrepresentable section on output
cc: error: linker command failed with exit code 1 (use -v to see invocation)
Makefile:7504: recipe for target 'sssd_pac' failed
gmake[4]: *** [sssd_pac] Error 1
gmake[4]: Leaving directory '/usr/ports/security/sssd/work/sssd-1.11.7'
Makefile:14502: recipe for target 'all-recursive' failed
gmake[3]: *** [all-recursive] Error 1
gmake[3]: Leaving directory '/usr/ports/security/sssd/work/sssd-1.11.7'
Makefile:4895: recipe for target 'all' failed
gmake[2]: *** [all] Error 2
gmake[2]: Leaving directory '/usr/ports/security/sssd/work/sssd-1.11.7'
*** Error code 1

Stop.
make[1]: stopped in /usr/ports/security/sssd
*** Error code 1

Stop.
make: stopped in /usr/ports/security/sssd
Comment 1 lukas.slebodnik 2015-10-13 18:06:18 UTC
(In reply to prj from comment #0)
>I attempted to apply a fix similar to print/cups-base (see >https://svnweb.freebsd.org/ports?view=revision&revision=389291 from PR 200755) >but without success. Unfortunately, I did not meet with success here. Failure >occurs at libtool link, same message as 200755 with different files.

Could you attach diff/patch(which you want to apply to the sssd port) into this ticket?
I would like to avoid another issues with different patch.
Comment 2 lukas.slebodnik 2015-10-13 18:08:35 UTC
I typed to fast;
I would like to avoid another issues with different patch because the title says:
"build with OPTIONS_FILE_SET+=SMB" and PR 200755 was about iconv.
Comment 3 Phillip R. Jaenke 2015-10-14 00:42:35 UTC
Sorry, wasn't clear, and that's on me.

I do NOT have a working patch at this time. 

I was, however, able to build in a clean poudriere environment. It looks like this may actually be an issue with a dependency option. However, I have not had luck reproducing. Installing packages from quarterly and building only sssd reproduces 100%. Building sssd and all dependencies from latest portsnap does not reproduce this error. Building iconv, then dependencies, then sssd will sometimes reproduce.

Based on my build chain, the issue appears to possibly be inherited from net/samba41 options or an issue in converters/iconv itself.
Comment 4 lukas.slebodnik 2015-10-14 17:59:56 UTC
(In reply to prj from comment #3)
I'm sorry but I'm little bit confused.
It's not clear for me from log what's wrong.
and I'm not sure how can I help.

Maybe you can try to compare link command for "sssd_pac" from working build and from broken build.
Comment 5 lukas.slebodnik 2015-10-26 19:41:15 UTC
setting flag to -
Because I do not have a reproducer.
Comment 6 Kubilay Kocak freebsd_committer freebsd_triage 2015-10-27 03:16:18 UTC
maintainer-feedback is for maintainers to 'ack' a request for their feedback. the onlly time - is used is in the case of maintainer feedback timeout, where it means 'did not receive feedback within timeout period', which can imply an implicit approval on a patch
Comment 7 John Marino freebsd_committer freebsd_triage 2016-08-18 23:25:23 UTC
maintainer indicated that he could not reproduce and submitter never responded, so close this one.