Bug 1426109

Summary: libresolv res_gethostbyaddr() check fails in rawhide
Product: [Fedora] Fedora Reporter: Milan Crha <mcrha>
Component: ekigaAssignee: Peter Robinson <pbrobinson>
Status: CLOSED RAWHIDE QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: high Docs Contact:
Priority: high    
Version: rawhideCC: arjun.is, codonell, dj, fweimer, law, mfabian, pbrobinson, pfrankli, siddhesh
Target Milestone: ---   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: ekiga-4.0.1-33.fc26 Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2017-02-23 14:42:39 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Attachments:
Description Flags
conftest.cpp none

Description Milan Crha 2017-02-23 08:29:11 UTC
Created attachment 1256833 [details]
conftest.cpp

Ekiga package fails to build due to an error in libresolv detection. I do not see anything obvious (the libresolv-2.25.so seems to have the symbol still exported, the same as libresolv-2.24.so in Fedora 25), neither I'm able to influence the check code by any means, because it's generated by autotools with this code in configure.ac:

>  dnl Checking for libresolv
>  if test ${gm_platform} = "linux" ; then
>  	AC_CHECK_LIB(resolv, res_gethostbyaddr, [LIBS="-lresolv $LIBS"], AC_MSG_ERROR([You need the libresolv library to compile Ekiga]), -lresolv)
>  	LDAP_LIBS="${LDAP_LIBS} -lresolv"
>  fi

But more importantly, this generated code compiles fine under Fedora 25 (older gcc and glibc). I do not know where the problem is, thus I rather start in glibc. If you think this belongs to gcc or even to some part of the autotools, then feel free to move it there. I currently just know that the package doesn't build and it won't build until the issue is fixed or a proper workaround is found (an improper workaround would be not check for libresolv and just add it into the LDAP_LIBS; maybe I'll do it for the time being).

You can find attached the generated code from autotools, where is also pasted (at the top) the command the autotools uses to compile it. As noted above, exactly the same code and command works fine in Fedora 25, while it fails for undefined reference to 'res_gethostbyaddr' in rawhide.

Comment 1 Florian Weimer 2017-02-23 10:16:03 UTC
This needs to be fixed in ekiga by dropping the configure check.  res_gethostbyaddr has never been part of the glibc API.  It was never declared in any header file and just exported by accident.

Comment 2 Milan Crha 2017-02-23 14:42:39 UTC
Oh, thanks for the clarification, I didn't know that. In that case my "improper workaround" is finally proper. I fixed it with ekiga-4.0.1-33.fc26 build.