Maintainer CC'd
Created attachment 147935 [details] shar of the updated port
Created attachment 147998 [details] Update patch
Looks good here, approved
Comment on attachment 147998 [details] Update patch Maintainer approved.
A commit references this bug: Author: pi Date: Mon Oct 20 20:18:23 UTC 2014 New revision: 371298 URL: https://svnweb.freebsd.org/changeset/ports/371298 Log: devel/ding-libs: 0.1.3 -> 0.4.0 Changes: https://fedorahosted.org/sssd/wiki/Releases/DingNotes-0.2.91 https://fedorahosted.org/sssd/wiki/Releases/DingNotes-0.3.0 https://fedorahosted.org/sssd/wiki/Releases/DingNotes-0.3.0.1 https://fedorahosted.org/sssd/wiki/Releases/DingNotes-0.4.0 PR: 194116 Submitted by: Sebastian YEPES F. <syepes@gmail.com> Approved by: aweits@rit.edu (maintainer) Changes: head/devel/ding-libs/Makefile head/devel/ding-libs/distinfo head/devel/ding-libs/pkg-plist
Committed, thanks.
This update of ding-libs port caused linking problems in sssd port. http://pkg.supranet.net/data/latest-per-pkg/sssd/1.9.6_9/84amd64-default.log http://pkg.supranet.net/data/latest-per-pkg/sssd/1.9.6_9/91amd64-default.log {{{ root@fbsd10:/usr/ports/security/sssd # make V=0 //snip CCLD sss_ssh_authorizedkeys /usr/local/lib/libini_config.so: undefined reference to `libiconv' /usr/local/lib/libini_config.so: undefined reference to `libiconv_close' /usr/local/lib/libini_config.so: undefined reference to `libiconv_open' cc: error: linker command failed with exit code 1 (use -v to see invocation) Makefile:5357: recipe for target 'sss_ssh_authorizedkeys' failed gmake[4]: *** [sss_ssh_authorizedkeys] Error 1 gmake[4]: Leaving directory '/usr/ports/security/sssd/work/sssd-1.9.6' Makefile:9283: recipe for target 'all-recursive' failed gmake[3]: *** [all-recursive] Error 1 gmake[3]: Leaving directory '/usr/ports/security/sssd/work/sssd-1.9.6' Makefile:3592: recipe for target 'all' failed gmake[2]: *** [all] Error 2 gmake[2]: Leaving directory '/usr/ports/security/sssd/work/sssd-1.9.6' ===> Compilation failed unexpectedly. Try to set MAKE_JOBS_UNSAFE=yes and rebuild before reporting the failure to the maintainer. *** Error code 1 Stop. make[1]: stopped in /usr/ports/security/sssd }}} The problem is that new version of ding-libs use iconv but was not linked with libiconv. {{{ # ldd /usr/local/lib/libini_config.so /usr/local/lib/libini_config.so: libcollection.so.4 => /usr/local/lib/libcollection.so.4 (0x281f6000) libpath_utils.so.1 => /usr/local/lib/libpath_utils.so.1 (0x28202000) libref_array.so.1 => /usr/local/lib/libref_array.so.1 (0x28205000) libbasicobjects.so.0 => /usr/local/lib/libbasicobjects.so.0 (0x28208000) libc.so.7 => /lib/libc.so.7 (0x2806c000) # nm --dynamic --undefined-only /usr/local/lib/libini_config.so | grep iconv U libiconv U libiconv_close U libiconv_open }}}
Created attachment 148587 [details] fix for ding-libs upgrade I tried to link just libini_config with libconv, but I did not managed to solve problem with autotools in port. There is not way how to call "autoreconf -if" and "autopoint" is not recognized in USE_AUTOTOOLS, which caused error {{{ configure.ac:14: error: required file 'build/config.rpath' not found }}}
(In reply to lukas.slebodnik from comment #8) > This update of ding-libs port caused linking problems in sssd port. Does it work if one adds iconv to USES of ding-libs ?
(In reply to Kurt Jaeger from comment #10) > (In reply to lukas.slebodnik from comment #8) > > This update of ding-libs port caused linking problems in sssd port. > > Does it work if one adds iconv to USES of ding-libs ? I tested it, a problem occurred on 91a and 84i, not on 10x, but it seems to be related to fmemopen missing from libini_config.so, so it's no longer the iconv issue ? http://people.freebsd.org/~pi/logs/security__sssd-10x-1414089036.txt http://people.freebsd.org/~pi/logs/security__sssd-84i-1414089036.txt http://people.freebsd.org/~pi/logs/security__sssd-91a-1414089036.txt
@lukas why dons you push the update to the sssd 1.11.7 we have worked on? It work with this version.
(In reply to Sebastian YEPES F. from comment #12) > @lukas why dons you push the update to the sssd 1.11.7 we have worked on? > It work with this version. I am just port maintainer, I don't have rihts to push patch. I tried to find someone on IRC and I found this problem.
(In reply to Kurt Jaeger from comment #11) > (In reply to Kurt Jaeger from comment #10) > > (In reply to lukas.slebodnik from comment #8) > > > This update of ding-libs port caused linking problems in sssd port. > > > > Does it work if one adds iconv to USES of ding-libs ? > > I tested it, a problem occurred on 91a and 84i, not on 10x, but it > seems to be related to fmemopen missing from libini_config.so, so > it's no longer the iconv issue ? > > http://people.freebsd.org/~pi/logs/security__sssd-10x-1414089036.txt > http://people.freebsd.org/~pi/logs/security__sssd-84i-1414089036.txt > http://people.freebsd.org/~pi/logs/security__sssd-91a-1414089036.txt libc seems to have function fmemopen ofn freebsd 9.3 root@freebsd:/usr/ports/security/sssd # nm --dynamic --defined-only /lib/libc.so.7 | grep fmem 0000000000044590 T fmemopen root@freebsd:/usr/ports/security/sssd # nm --dynamic --defined-only /lib/libc.so.7 | grep fopen 00000000000efb80 T fopen root@freebsd:/usr/ports/security/sssd # uname -a FreeBSD freebsd 9.3-RELEASE-p2 FreeBSD 9.3-RELEASE-p2 #0: Mon Sep 15 16:44:27 UTC 2014 root@amd64-builder.daemonology.net:/usr/obj/usr/src/sys/GENERIC amd64
> > I tested it, a problem occurred on 91a and 84i, not on 10x, but it > > seems to be related to fmemopen missing from libini_config.so, so > libc seems to have function fmemopen in freebsd 9.3 It was added in 9.2. It's not available in 8.x. So, why is ding-libs building it into libini_config.so ?
(In reply to Kurt Jaeger from comment #15) > > > I tested it, a problem occurred on 91a and 84i, not on 10x, but it > > > seems to be related to fmemopen missing from libini_config.so, so > > > libc seems to have function fmemopen in freebsd 9.3 > > It was added in 9.2. It's not available in 8.x. So, why is ding-libs > building it into libini_config.so ? ding-libs is collection of libraries: libini_config.so, libdhash.sh, libbasicobjects.so, libcollection.so, libpath_utils.so, libref_array. IIRC, ding-libs-0.4 added feature to read ini config from memory (fmemopen) This is a reason why there is a problem. On my local machine, I had just problem with iconv. How will be problem solved on FreeBSD 8?
(In reply to Kurt Jaeger from comment #15) > > > I tested it, a problem occurred on 91a and 84i, not on 10x, but it > > > seems to be related to fmemopen missing from libini_config.so, so > > > libc seems to have function fmemopen in freebsd 9.3 > > It was added in 9.2. It's not available in 8.x. So, why is ding-libs > building it into libini_config.so ? 1) It's an upstream bug that ding-libs does not detect if fmemopen is missing. That "feature" is even in the 0.4 relnotes: https://fedorahosted.org/sssd/wiki/Releases/DingNotes-0.4.0 as: Ability to read configuration data from a memory buffer Can someone (the maintainer?) please report this upstream ? 2) The port should be BROKEN for < 9.2 because of this ? Can someone provide a patch ?
(In reply to lukas.slebodnik from comment #16) > How will be problem solved on FreeBSD 8? If upstream provides a fmemopen() implementation if the base system does not have one ? Or someone provides a patch to fix it in the ports system ? Otherwise it's broken.
(In reply to Kurt Jaeger from comment #17) > (In reply to Kurt Jaeger from comment #15) > > > > I tested it, a problem occurred on 91a and 84i, not on 10x, but it > > > > seems to be related to fmemopen missing from libini_config.so, so > > > > > libc seems to have function fmemopen in freebsd 9.3 > > > > It was added in 9.2. It's not available in 8.x. So, why is ding-libs > > building it into libini_config.so ? > > 1) It's an upstream bug that ding-libs does not detect if fmemopen > is missing. That "feature" is even in the 0.4 relnotes: > > https://fedorahosted.org/sssd/wiki/Releases/DingNotes-0.4.0 > > as: Ability to read configuration data from a memory buffer > > Can someone (the maintainer?) please report this upstream ? > > 2) The port should be BROKEN for < 9.2 because of this ? > > Can someone provide a patch ? This feature is not optional in upstream, so someone will need to do it. Is it possible to have old verions of ding-libs for FreeBSD 8? For example 0.3 or previous one.
Created attachment 148611 [details] tentative fmemopen() fix for < 9.2 warning: highly untested! lukas can you test/exercise fmemopen()?
lukas, test plz?
(In reply to aweits from comment #21) > lukas, test plz? I'm sorry. I have limited access to the internet this week. (I am traveling) I can only recommend you to run "make check" on old (and new) version of freebsd. I will be able to test it with sssd on next Monday.
Created attachment 148739 [details] updated tentative fmemopen() fix for < 9.2 / incorporated libintl fix
(In reply to aweits from comment #23) > Created attachment 148739 [details] > updated tentative fmemopen() fix for < 9.2 / incorporated libintl fix This patch fixed problem. I tested ding-libs with a patch on freebsd 9.1 and freebsd 10. port sssd can be compiled without any problem. This workaround patch can be removed in future after EoL of Freebsd 8 (June 30, 2015). FreeBSd <= 9.2 has EoL on December 31, 2014 https://www.freebsd.org/security/
Maintainer patch committed.
A commit references this bug: Author: zi Date: Fri Nov 7 13:33:40 UTC 2014 New revision: 372261 URL: https://svnweb.freebsd.org/changeset/ports/372261 Log: - Resolve build problems on systems without fmemopen() PR: 194116 Submitted by: aweits@rit.edu (maintainer) Changes: head/devel/ding-libs/Makefile head/devel/ding-libs/files/ head/devel/ding-libs/files/extra-patch-Makefile.am head/devel/ding-libs/files/extra-patch-ini__ini_fileobj.c head/devel/ding-libs/files/extra-patch-ini__libini_config.sym head/devel/ding-libs/files/flags.c head/devel/ding-libs/files/fmemopen.c head/devel/ding-libs/files/patch-ini__ini_parse_ut.c