net-libs/libjingle-0.3.12 fails to emerge. It throws an error in the installation phase saying "/usr/bin/install: will not overwrite just-created `/var/tmp/portage/net-libs/libjingle-0.3.12/image//usr/include/libjingle-0.3/talk/base/host.h' with `host.h'" Reproducible: Always Steps to Reproduce: 1. emerge =net-libs/libjingle-0.3.12 Expected Results: The package should have compiled and installed. After a successful compilation emerge outputs the following --- >>> Install libjingle-0.3.12 into /var/tmp/portage/net-libs/libjingle-0.3.12/image/ category net-libs make -j9 DESTDIR=/var/tmp/portage/net-libs/libjingle-0.3.12/image/ install Making install in talk make[1]: Entering directory `/var/tmp/portage/net-libs/libjingle-0.3.12/work/libjingle-0.3.12/talk' Making install in base make[2]: Entering directory `/var/tmp/portage/net-libs/libjingle-0.3.12/work/libjingle-0.3.12/talk/base' make[3]: Entering directory `/var/tmp/portage/net-libs/libjingle-0.3.12/work/libjingle-0.3.12/talk/base' test -z "/usr/lib64" || /bin/mkdir -p "/var/tmp/portage/net-libs/libjingle-0.3.12/image//usr/lib64" test -z "/usr/include/libjingle-0.3/talk/base" || /bin/mkdir -p "/var/tmp/portage/net-libs/libjingle-0.3.12/image//usr/include/libjingle-0.3/talk/base" /bin/sh ../../libtool --silent --mode=install /usr/bin/install -c libjinglebase.la '/var/tmp/portage/net-libs/libjingle-0.3.12/image//usr/lib64' /usr/bin/install -c -m 644 asyncfile.h common.h asyncpacketsocket.h socketfactory.h asyncsocket.h socket.h asynctcpsocket.h linked_ptr.h asyncudpsocket.h logging.h socketserver.h base64.h md5.h stl_decl.h basicdefs.h messagequeue.h basictypes.h stringutils.h bytebuffer.h task.h byteorder.h taskrunner.h criticalsection.h network.h thread.h time.h physicalsocketserver.h proxyinfo.h host.h scoped_ptr.h sigslot.h winping.h socketadapters.h socketaddress.h host.h socketaddresspair.h Equifax_Secure_Global_eBusiness_CA-1.h stream.h xmpppassword.h ssladapter.h '/var/tmp/portage/net-libs/libjingle-0.3.12/image//usr/include/libjingle-0.3/talk/base' /usr/bin/install: will not overwrite just-created `/var/tmp/portage/net-libs/libjingle-0.3.12/image//usr/include/libjingle-0.3/talk/base/host.h' with `host.h' make[3]: *** [install-libjinglebase_includeHEADERS] Error 1 make[3]: *** Waiting for unfinished jobs.... libtool: install: warning: remember to run `libtool --finish /usr/lib64' make[3]: Leaving directory `/var/tmp/portage/net-libs/libjingle-0.3.12/work/libjingle-0.3.12/talk/base' make[2]: *** [install-am] Error 2 make[2]: Leaving directory `/var/tmp/portage/net-libs/libjingle-0.3.12/work/libjingle-0.3.12/talk/base' make[1]: *** [install-recursive] Error 1 make[1]: Leaving directory `/var/tmp/portage/net-libs/libjingle-0.3.12/work/libjingle-0.3.12/talk' make: *** [install-recursive] Error 1 * ERROR: net-libs/libjingle-0.3.12 failed: * emake install failed. * * Call stack: * ebuild.sh, line 54: Called src_install * environment, line 2913: Called die * The specific snippet of code: * emake DESTDIR="${D}" install || die "emake install failed."; * * If you need support, post the output of 'emerge --info =net-libs/libjingle-0.3.12', * the complete build log and the output of 'emerge -pqv =net-libs/libjingle-0.3.12'. * The complete build log is located at '/var/tmp/portage/net-libs/libjingle-0.3.12/temp/build.log'. * The ebuild environment file is located at '/var/tmp/portage/net-libs/libjingle-0.3.12/temp/environment'. * S: '/var/tmp/portage/net-libs/libjingle-0.3.12/work/libjingle-0.3.12'
It looks like the problem is in libjingle-0.3.12/talk/base/Makefile.am. When defining the variable $(libjinglebase_include_HEADERS) on line 37 the file host.h is included twice. When I remove the second entry for host.h the ebuild compiles and installs successfully. I have created a patch for the ebuild and tested it successfully on my computer. I will attach the patch to this bug report.
Created attachment 243469 [details, diff] Patch for libjingle-0.3.12 to fix "will not overwrite ... host.h" problem during installation. Proposed patch to fix the following error on install: /usr/bin/install: will not overwrite just-created `/var/tmp/portage/net-libs/libjingle-0.3.12/image//usr/include/libjingle-0.3/talk/base/host.h' with `host.h'
Removed from tree. Fails also to compile with stable OpenSSL: openssladapter.cc: In member function 'bool cricket::OpenSSLAdapter::SSLPostConnectionCheck(SSL*, const char*)': openssladapter.cc:644:57: error: invalid conversion from 'const X509V3_EXT_METHOD*' to 'X509V3_EXT_METHOD*'