From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:38378) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1er8nf-0002hd-01 for guix-patches@gnu.org; Wed, 28 Feb 2018 15:58:07 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1er8na-0001qR-5T for guix-patches@gnu.org; Wed, 28 Feb 2018 15:58:07 -0500 Received: from debbugs.gnu.org ([208.118.235.43]:58247) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1er8na-0001qN-1o for guix-patches@gnu.org; Wed, 28 Feb 2018 15:58:02 -0500 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1er8nZ-00068q-P0 for guix-patches@gnu.org; Wed, 28 Feb 2018 15:58:01 -0500 Subject: [bug#30654] giflib / khtml build failures Resent-Message-ID: Date: Wed, 28 Feb 2018 22:57:42 +0100 From: Danny Milosavljevic Message-ID: <20180228225742.77c7707e@scratchpost.org> In-Reply-To: <0a80adad-2621-d2e6-3df9-5bab94471727@crazy-compilers.com> References: <20180228201202.1481-1-h.goebel@crazy-compilers.com> <0a80adad-2621-d2e6-3df9-5bab94471727@crazy-compilers.com> MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-patches-bounces+kyle=kyleam.com@gnu.org Sender: "Guix-patches" To: Hartmut Goebel Cc: 30654@debbugs.gnu.org Hi Harmut, I would prefer to remove reallocarray from giflib entirely. As it is now, it's anyone's guess which of the functions is taken after ld.so is done with setting up your program-using-glibc-and-giflib (I'm sure there's a resolution mechanism but let's not tempt it to fail please). I'd just empty giflib's lib/openbsd-reallocarray.c and remove the prototype from the header file entirely. /gnu/store$ objdump -t ywvngg36v2cdidcclvk0k14mxmmn73wp-giflib-5.1.4/lib/libgif.so.7 |grep reallocarray 0000000000005970 g F .text 0000000000000056 reallocarray That means giflib and glibc both define the same function with mutually incompatible signatures (here only slightly incompatible). Note that this is only a problem for C++ since C doesn't have exceptions.