From debbugs-submit-bounces@debbugs.gnu.org Wed Mar 09 10:01:44 2016 Received: (at submit) by debbugs.gnu.org; 9 Mar 2016 15:01:44 +0000 Received: from localhost ([127.0.0.1]:41660 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84) (envelope-from ) id 1adfcO-0007xU-Ah for submit@debbugs.gnu.org; Wed, 09 Mar 2016 10:01:44 -0500 Received: from eggs.gnu.org ([208.118.235.92]:55112) by debbugs.gnu.org with esmtp (Exim 4.84) (envelope-from ) id 1adfcM-0007xH-QO for submit@debbugs.gnu.org; Wed, 09 Mar 2016 10:01:43 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1adfcG-0002hg-T3 for submit@debbugs.gnu.org; Wed, 09 Mar 2016 10:01:37 -0500 X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org X-Spam-Level: X-Spam-Status: No, score=-0.0 required=5.0 tests=BAYES_40 autolearn=disabled version=3.3.2 Received: from lists.gnu.org ([2001:4830:134:3::11]:45235) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1adfcG-0002hc-QC for submit@debbugs.gnu.org; Wed, 09 Mar 2016 10:01:36 -0500 Received: from eggs.gnu.org ([2001:4830:134:3::10]:46082) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1adfcF-0005ZD-QE for bug-gnu-emacs@gnu.org; Wed, 09 Mar 2016 10:01:36 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1adfcA-0002ga-2R for bug-gnu-emacs@gnu.org; Wed, 09 Mar 2016 10:01:35 -0500 Received: from cheviot12.ncl.ac.uk ([128.240.234.12]:53013) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1adfc9-0002gK-T2 for bug-gnu-emacs@gnu.org; Wed, 09 Mar 2016 10:01:30 -0500 Received: from smtpauth-vm.ncl.ac.uk ([10.8.233.129] helo=smtpauth.ncl.ac.uk) by cheviot12.ncl.ac.uk with esmtp (Exim 4.63) (envelope-from ) id 1adfc3-0002Dx-At for bug-gnu-emacs@gnu.org; Wed, 09 Mar 2016 15:01:23 +0000 Received: from jangai.ncl.ac.uk ([10.66.67.223] helo=localhost) by smtpauth.ncl.ac.uk with esmtpsa (TLSv1:AES128-SHA:128) (Exim 4.63) (envelope-from ) id 1adfc2-0003sB-FN for bug-gnu-emacs@gnu.org; Wed, 09 Mar 2016 15:01:22 +0000 From: phillip.lord@russet.org.uk (Phillip Lord) To: bug-gnu-emacs@gnu.org Subject: Emacs on Windows depends on libwinpthreads Date: Wed, 09 Mar 2016 14:52:18 +0000 Message-ID: <87egbj4sbh.fsf@russet.org.uk> MIME-Version: 1.0 Content-Type: text/plain User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/24.5 (gnu/linux) X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6.x X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6.x X-Received-From: 2001:4830:134:3::11 X-Spam-Score: -4.0 (----) X-Debbugs-Envelope-To: submit X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -4.0 (----) Currently, building Emacs under msys2/ming-w64 produces a binary that depends on libwinpthread.dll. The practical upshot of this is that after building and installing Emacs according to the instructions, Emacs cannot be launched from the Windows explorer -- it can be run from msys2 which has the path set up correctly. A binary release will, therefore, fail. Using the dependency walker shows the dependency is directly from Emacs, and it appears to have come from a change in ming-w64, as reported here. https://sourceforge.net/p/mingw-w64/mailman/message/31213279/ https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=748353 This affects emacs-25, master and, indeed, emacs-24 built using the current tool chain. From debbugs-submit-bounces@debbugs.gnu.org Wed Mar 09 11:20:35 2016 Received: (at 22959) by debbugs.gnu.org; 9 Mar 2016 16:20:35 +0000 Received: from localhost ([127.0.0.1]:41713 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84) (envelope-from ) id 1adgqg-0001To-RS for submit@debbugs.gnu.org; Wed, 09 Mar 2016 11:20:35 -0500 Received: from eggs.gnu.org ([208.118.235.92]:50252) by debbugs.gnu.org with esmtp (Exim 4.84) (envelope-from ) id 1adgqf-0001Tc-CK for 22959@debbugs.gnu.org; Wed, 09 Mar 2016 11:20:33 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1adgqX-0000i4-32 for 22959@debbugs.gnu.org; Wed, 09 Mar 2016 11:20:28 -0500 X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org X-Spam-Level: X-Spam-Status: No, score=-0.0 required=5.0 tests=BAYES_40,RP_MATCHES_RCVD autolearn=disabled version=3.3.2 Received: from fencepost.gnu.org ([2001:4830:134:3::e]:40852) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1adgqW-0000hz-W9; Wed, 09 Mar 2016 11:20:25 -0500 Received: from 84.94.185.246.cable.012.net.il ([84.94.185.246]:3745 helo=home-c4e4a596f7) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_128_CBC_SHA1:128) (Exim 4.82) (envelope-from ) id 1adgqW-0007Pu-Ac; Wed, 09 Mar 2016 11:20:24 -0500 Date: Wed, 09 Mar 2016 18:20:35 +0200 Message-Id: <83d1r3pqr0.fsf@gnu.org> From: Eli Zaretskii To: phillip.lord@russet.org.uk (Phillip Lord) In-reply-to: <87egbj4sbh.fsf@russet.org.uk> (phillip.lord@russet.org.uk) Subject: Re: bug#22959: Emacs on Windows depends on libwinpthreads References: <87egbj4sbh.fsf@russet.org.uk> X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 2001:4830:134:3::e X-Spam-Score: -5.0 (-----) X-Debbugs-Envelope-To: 22959 Cc: 22959@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: Eli Zaretskii Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -5.0 (-----) > From: phillip.lord@russet.org.uk (Phillip Lord) > Date: Wed, 09 Mar 2016 14:52:18 +0000 > > Currently, building Emacs under msys2/ming-w64 produces a binary that > depends on libwinpthread.dll. The practical upshot of this is that after > building and installing Emacs according to the instructions, Emacs > cannot be launched from the Windows explorer -- it can be run from msys2 > which has the path set up correctly. A binary release will, therefore, fail. > > Using the dependency walker shows the dependency is directly from Emacs, > and it appears to have come from a change in ming-w64, as reported here. > > https://sourceforge.net/p/mingw-w64/mailman/message/31213279/ > > https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=748353 > > This affects emacs-25, master and, indeed, emacs-24 built using the > current tool chain. If MinGW64 builds binaries that depend on libwinpthread DLL, then why isn't that DLL part of the MinGW64 GCC installation? That sounds like a bug in MinGW64 packaging, or maybe your installation is somehow incomplete or misconfigured? (This is the first time that a MinGW64 Emacs user complains about this, so I wonder how others solve this problem.) The fact that Emacs runs OK when launched from MSYS2 Bash suggests that the DLL exists, but is not on PATH. Which might mean you need to change your system configuration to augment PATH. Or maybe you should use a different build of MinGW64 GCC? The second bug report you quote seems to indicate that there's a build which uses Windows threads, so it doesn't depend on the pthread library. Sorry, I don't use MinGW64, so I cannot help you more. From debbugs-submit-bounces@debbugs.gnu.org Wed Mar 09 11:42:32 2016 Received: (at 22959) by debbugs.gnu.org; 9 Mar 2016 16:42:32 +0000 Received: from localhost ([127.0.0.1]:41737 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84) (envelope-from ) id 1adhBw-00020i-4e for submit@debbugs.gnu.org; Wed, 09 Mar 2016 11:42:32 -0500 Received: from cloud103.planethippo.com ([31.216.48.48]:47523) by debbugs.gnu.org with esmtp (Exim 4.84) (envelope-from ) id 1adhBt-00020V-Tk for 22959@debbugs.gnu.org; Wed, 09 Mar 2016 11:42:30 -0500 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=russet.org.uk; s=default; h=Content-Type:MIME-Version:Message-ID: In-Reply-To:Date:References:Subject:Cc:To:From; bh=K1IddHVMyfK6dF7SoAgJBrsnJBY7I5pZiS+F+gICCf4=; b=E8j5uqVySL+dKZ1Z8nGcOxeypi R6patyTnlxJuTE/cddDmS+Uk/xLekn3gjs9d2zFrwGArIChrPGIdBsBT0VCfeIRap70KxyZE6ZBeY P2mwmgLZKdG5ajX52IPI1qSvQcZ9pz5iBx0zEcQehoRtfdEpYBaesU+kdRnRJXJIj9uCc4oEZsiY7 H8TfUPa7pgsc2DBlpc8Ncqu57g+2TdeG/mC9fmFp04tJyqa2U852PVKn9wsPMr5nUAttUqQA24ZS/ Tteb5o3bFMTDovuAxYWFB2DbGmVDBjyujAsH8nU1f9TecyVAOPojM6WeMDryD75+hiaOqDST//UC0 Pj2gABDQ==; Received: from janus-nat-128-240-225-60.ncl.ac.uk ([128.240.225.60]:43524 helo=russet.org.uk) by cloud103.planethippo.com with esmtpsa (TLSv1.2:DHE-RSA-AES128-SHA:128) (Exim 4.86) (envelope-from ) id 1adh2T-003Rg1-AV; Wed, 09 Mar 2016 16:32:45 +0000 From: phillip.lord@russet.org.uk (Phillip Lord) To: Eli Zaretskii Subject: Re: bug#22959: Emacs on Windows depends on libwinpthreads References: <87egbj4sbh.fsf@russet.org.uk> <83d1r3pqr0.fsf@gnu.org> Date: Wed, 09 Mar 2016 16:32:44 +0000 In-Reply-To: <83d1r3pqr0.fsf@gnu.org> (Eli Zaretskii's message of "Wed, 09 Mar 2016 18:20:35 +0200") Message-ID: <871t7j4no3.fsf@russet.org.uk> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/24.5 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-AntiAbuse: This header was added to track abuse, please include it with any abuse report X-AntiAbuse: Primary Hostname - cloud103.planethippo.com X-AntiAbuse: Original Domain - debbugs.gnu.org X-AntiAbuse: Originator/Caller UID/GID - [47 12] / [47 12] X-AntiAbuse: Sender Address Domain - russet.org.uk X-Get-Message-Sender-Via: cloud103.planethippo.com: authenticated_id: phillip.lord@russet.org.uk X-Authenticated-Sender: cloud103.planethippo.com: phillip.lord@russet.org.uk X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 22959 Cc: 22959@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 0.0 (/) Eli Zaretskii writes: >> Currently, building Emacs under msys2/ming-w64 produces a binary that >> depends on libwinpthread.dll. The practical upshot of this is that after >> building and installing Emacs according to the instructions, Emacs >> cannot be launched from the Windows explorer -- it can be run from msys2 >> which has the path set up correctly. A binary release will, therefore, fail. >> >> Using the dependency walker shows the dependency is directly from Emacs, >> and it appears to have come from a change in ming-w64, as reported here. >> >> https://sourceforge.net/p/mingw-w64/mailman/message/31213279/ >> >> https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=748353 >> >> This affects emacs-25, master and, indeed, emacs-24 built using the >> current tool chain. > > If MinGW64 builds binaries that depend on libwinpthread DLL, then why > isn't that DLL part of the MinGW64 GCC installation? That sounds like > a bug in MinGW64 packaging, or maybe your installation is somehow > incomplete or misconfigured? It is part of the distribution. The problem is generating a binary for other people that they can use. If I install Emacs and then package that location, the executable will not work. > (This is the first time that a MinGW64 Emacs user complains about > this, so I wonder how others solve this problem.) The Emacs-W64 distribution which builds in ming-w64 just copies libwinpthread-1.dll into the bin directory. The other solution is ./configure CFLAGS=-static > The fact that Emacs runs OK when launched from MSYS2 Bash suggests > that the DLL exists, but is not on PATH. Which might mean you need to > change your system configuration to augment PATH. Yes, that would work, but would be required on every machine that uses Emacs. > > Or maybe you should use a different build of MinGW64 GCC? The second > bug report you quote seems to indicate that there's a build which uses > Windows threads, so it doesn't depend on the pthread library. It does seem to suggest that, although I cannot find how to use this from any documentation I have found. I will investigate further. > Sorry, I don't use MinGW64, so I cannot help you more. Phil From debbugs-submit-bounces@debbugs.gnu.org Wed Mar 09 11:58:59 2016 Received: (at 22959) by debbugs.gnu.org; 9 Mar 2016 16:58:59 +0000 Received: from localhost ([127.0.0.1]:41760 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84) (envelope-from ) id 1adhRr-0002PM-Ij for submit@debbugs.gnu.org; Wed, 09 Mar 2016 11:58:59 -0500 Received: from eggs.gnu.org ([208.118.235.92]:34943) by debbugs.gnu.org with esmtp (Exim 4.84) (envelope-from ) id 1adhRp-0002PA-VO for 22959@debbugs.gnu.org; Wed, 09 Mar 2016 11:58:58 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1adhRh-0004s7-GA for 22959@debbugs.gnu.org; Wed, 09 Mar 2016 11:58:52 -0500 X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org X-Spam-Level: X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00,RP_MATCHES_RCVD autolearn=disabled version=3.3.2 Received: from fencepost.gnu.org ([2001:4830:134:3::e]:41724) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1adhRh-0004s3-DO; Wed, 09 Mar 2016 11:58:49 -0500 Received: from 84.94.185.246.cable.012.net.il ([84.94.185.246]:3896 helo=home-c4e4a596f7) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_128_CBC_SHA1:128) (Exim 4.82) (envelope-from ) id 1adhRg-0002l2-OB; Wed, 09 Mar 2016 11:58:49 -0500 Date: Wed, 09 Mar 2016 18:59:00 +0200 Message-Id: <83ziu7oaej.fsf@gnu.org> From: Eli Zaretskii To: phillip.lord@russet.org.uk (Phillip Lord) In-reply-to: <871t7j4no3.fsf@russet.org.uk> (phillip.lord@russet.org.uk) Subject: Re: bug#22959: Emacs on Windows depends on libwinpthreads References: <87egbj4sbh.fsf@russet.org.uk> <83d1r3pqr0.fsf@gnu.org> <871t7j4no3.fsf@russet.org.uk> X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 2001:4830:134:3::e X-Spam-Score: -5.0 (-----) X-Debbugs-Envelope-To: 22959 Cc: 22959@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: Eli Zaretskii Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -5.0 (-----) > From: phillip.lord@russet.org.uk (Phillip Lord) > Cc: 22959@debbugs.gnu.org > Date: Wed, 09 Mar 2016 16:32:44 +0000 > > > If MinGW64 builds binaries that depend on libwinpthread DLL, then why > > isn't that DLL part of the MinGW64 GCC installation? That sounds like > > a bug in MinGW64 packaging, or maybe your installation is somehow > > incomplete or misconfigured? > > It is part of the distribution. The problem is generating a binary for > other people that they can use. If I install Emacs and then package that > location, the executable will not work. Ah, okay. Then I think the only way of making distributable binaries is to find a GCC distribution that doesn't infect programs it produces with the libwinpthread dependency. > > (This is the first time that a MinGW64 Emacs user complains about > > this, so I wonder how others solve this problem.) > > The Emacs-W64 distribution which builds in ming-w64 just copies > libwinpthread-1.dll into the bin directory. Someone who does that will have to provide the sources of that library from the same location, or they will be in violation of the GPL. > The other solution is > > ./configure CFLAGS=-static If that gives reasonable results, yes. What problems, if any, does it create? From debbugs-submit-bounces@debbugs.gnu.org Wed Mar 09 13:56:47 2016 Received: (at 22959) by debbugs.gnu.org; 9 Mar 2016 18:56:47 +0000 Received: from localhost ([127.0.0.1]:41807 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84) (envelope-from ) id 1adjHq-0006nL-Vv for submit@debbugs.gnu.org; Wed, 09 Mar 2016 13:56:47 -0500 Received: from cloud103.planethippo.com ([31.216.48.48]:54238) by debbugs.gnu.org with esmtp (Exim 4.84) (envelope-from ) id 1adjHp-0006n4-0U for 22959@debbugs.gnu.org; Wed, 09 Mar 2016 13:56:45 -0500 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=russet.org.uk; s=default; h=Content-Type:MIME-Version:Message-ID: In-Reply-To:Date:References:Subject:Cc:To:From; bh=1OlQarBC6gpfKr1Q+vduUdKRB/A0ge6ngmKuG2gZh4Q=; b=xNWv1Wv3I5vHK1wp56CQVh9GIN tJt7uExFMhoSVIld/hNukTTdoecNQr8npmsvo/sDFgHS5011acGXgjIqiQodL7rUupSnSCjgI/zee bwLrEK13DqsnZg7OH0wBg1qP616L+G/BnL7Q+PJs01k/Is1lRZsNWsBK1AuapcxF7Yzi3vMcp9wC4 fFhoxoUBEXDIgGMUxrAeZAvr72OxGJvxUS01OVNIT2Q8zoeXaDffL6Q0i1NCyH3DuSKSnX/0/2+Ay mBLIJ1sa3OsUrDkWax7nSTo3jFIlPXFEVHdv7W4WcsNoqnqGinHGAwHcp+pV7kt/lMpkrdRrC9rxS AvEVQN/w==; Received: from cpc1-benw10-2-0-cust373.gate.cable.virginm.net ([77.98.219.118]:51070 helo=russet.org.uk) by cloud103.planethippo.com with esmtpsa (TLSv1.2:DHE-RSA-AES128-SHA:128) (Exim 4.86) (envelope-from ) id 1adjHi-003w4x-U1; Wed, 09 Mar 2016 18:56:39 +0000 From: phillip.lord@russet.org.uk (Phillip Lord) To: Eli Zaretskii Subject: Re: bug#22959: Emacs on Windows depends on libwinpthreads References: <87egbj4sbh.fsf@russet.org.uk> <83d1r3pqr0.fsf@gnu.org> <871t7j4no3.fsf@russet.org.uk> <83ziu7oaej.fsf@gnu.org> Date: Wed, 09 Mar 2016 18:56:37 +0000 In-Reply-To: <83ziu7oaej.fsf@gnu.org> (Eli Zaretskii's message of "Wed, 09 Mar 2016 18:59:00 +0200") Message-ID: <87mvq7mqe2.fsf@russet.org.uk> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/24.5 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-AntiAbuse: This header was added to track abuse, please include it with any abuse report X-AntiAbuse: Primary Hostname - cloud103.planethippo.com X-AntiAbuse: Original Domain - debbugs.gnu.org X-AntiAbuse: Originator/Caller UID/GID - [47 12] / [47 12] X-AntiAbuse: Sender Address Domain - russet.org.uk X-Get-Message-Sender-Via: cloud103.planethippo.com: authenticated_id: phillip.lord@russet.org.uk X-Authenticated-Sender: cloud103.planethippo.com: phillip.lord@russet.org.uk X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 22959 Cc: 22959@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 0.0 (/) Eli Zaretskii writes: >> From: phillip.lord@russet.org.uk (Phillip Lord) >> Cc: 22959@debbugs.gnu.org >> Date: Wed, 09 Mar 2016 16:32:44 +0000 >> >> > If MinGW64 builds binaries that depend on libwinpthread DLL, then why >> > isn't that DLL part of the MinGW64 GCC installation? That sounds like >> > a bug in MinGW64 packaging, or maybe your installation is somehow >> > incomplete or misconfigured? >> >> It is part of the distribution. The problem is generating a binary for >> other people that they can use. If I install Emacs and then package that >> location, the executable will not work. > > Ah, okay. Then I think the only way of making distributable binaries > is to find a GCC distribution that doesn't infect programs it produces > with the libwinpthread dependency. IIUC, I could cross-compile Emacs on debian, but I don't know if that would solve the issue. The mingw mailing list suggests that it's not possible using their tool chain. >> > (This is the first time that a MinGW64 Emacs user complains about >> > this, so I wonder how others solve this problem.) >> >> The Emacs-W64 distribution which builds in ming-w64 just copies >> libwinpthread-1.dll into the bin directory. > > Someone who does that will have to provide the sources of that library > from the same location, or they will be in violation of the GPL. Does it? libwinpthread isn't GPL. I would assume that it's a system library so is not covered by Emacs' GPL either. >> The other solution is >> >> ./configure CFLAGS=-static > > If that gives reasonable results, yes. What problems, if any, does it > create? Well, it works, which is a reasonable result. Disadvantage? I guess, if it is dropped into an existing ming-w64 installation, then it will (effectively) duplicate the libwinpthread binary that is there. More, it will not gain any updates to that libwinpthread library. If Emacs is being used standalone on a system with no other part of mingw/msys then these points are moot. Phil From debbugs-submit-bounces@debbugs.gnu.org Wed Mar 09 14:16:07 2016 Received: (at 22959) by debbugs.gnu.org; 9 Mar 2016 19:16:07 +0000 Received: from localhost ([127.0.0.1]:41819 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84) (envelope-from ) id 1adjaY-0007GM-V1 for submit@debbugs.gnu.org; Wed, 09 Mar 2016 14:16:07 -0500 Received: from eggs.gnu.org ([208.118.235.92]:51014) by debbugs.gnu.org with esmtp (Exim 4.84) (envelope-from ) id 1adjaY-0007Fd-A5 for 22959@debbugs.gnu.org; Wed, 09 Mar 2016 14:16:06 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1adjaO-0004Tq-7Q for 22959@debbugs.gnu.org; Wed, 09 Mar 2016 14:16:00 -0500 X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org X-Spam-Level: X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00,RP_MATCHES_RCVD autolearn=disabled version=3.3.2 Received: from fencepost.gnu.org ([2001:4830:134:3::e]:44744) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1adjaO-0004Tl-43; Wed, 09 Mar 2016 14:15:56 -0500 Received: from 84.94.185.246.cable.012.net.il ([84.94.185.246]:4194 helo=home-c4e4a596f7) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_128_CBC_SHA1:128) (Exim 4.82) (envelope-from ) id 1adjaN-0001m9-DV; Wed, 09 Mar 2016 14:15:55 -0500 Date: Wed, 09 Mar 2016 21:16:08 +0200 Message-Id: <83h9gfo41z.fsf@gnu.org> From: Eli Zaretskii To: phillip.lord@russet.org.uk (Phillip Lord) In-reply-to: <87mvq7mqe2.fsf@russet.org.uk> (phillip.lord@russet.org.uk) Subject: Re: bug#22959: Emacs on Windows depends on libwinpthreads References: <87egbj4sbh.fsf@russet.org.uk> <83d1r3pqr0.fsf@gnu.org> <871t7j4no3.fsf@russet.org.uk> <83ziu7oaej.fsf@gnu.org> <87mvq7mqe2.fsf@russet.org.uk> X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 2001:4830:134:3::e X-Spam-Score: -5.0 (-----) X-Debbugs-Envelope-To: 22959 Cc: 22959@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: Eli Zaretskii Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -5.0 (-----) > From: phillip.lord@russet.org.uk (Phillip Lord) > Cc: 22959@debbugs.gnu.org > Date: Wed, 09 Mar 2016 18:56:37 +0000 > > >> The other solution is > >> > >> ./configure CFLAGS=-static > > > > If that gives reasonable results, yes. What problems, if any, does it > > create? > > Well, it works, which is a reasonable result. > > Disadvantage? I guess, if it is dropped into an existing ming-w64 > installation, then it will (effectively) duplicate the libwinpthread > binary that is there. More, it will not gain any updates to that > libwinpthread library. If Emacs is being used standalone on a system > with no other part of mingw/msys then these points are moot. If that's the only problem, then I'd say go for it. From debbugs-submit-bounces@debbugs.gnu.org Sat Apr 16 17:49:03 2016 Received: (at 22959) by debbugs.gnu.org; 16 Apr 2016 21:49:03 +0000 Received: from localhost ([127.0.0.1]:37667 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1arY5P-0007Gi-6z for submit@debbugs.gnu.org; Sat, 16 Apr 2016 17:49:03 -0400 Received: from mail-ob0-f169.google.com ([209.85.214.169]:33383) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1arY5M-0007GE-S6 for 22959@debbugs.gnu.org; Sat, 16 Apr 2016 17:49:01 -0400 Received: by mail-ob0-f169.google.com with SMTP id tz8so80552986obc.0 for <22959@debbugs.gnu.org>; Sat, 16 Apr 2016 14:49:00 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:from:date:message-id:subject:to; bh=Ov2bO6zFYj5UFpzhcbBQG/giv4vHSuNKih8jPfywt2E=; b=VRNJdkryeflL6MgFpObg6/B1BNRdsy11Zm9sqPm/mb10hQ66rXz6/A7uCPv9mBIbe9 FKkT3aeoP9ArczrBNckxBApflLw5Yoj5hvPj8j8yT3cit8JKAAhti2j1LKEaMtXp13pX NWmO5KMVbkvxNz6K6TvVE7gdXuiogZkWiasu8FMVgw7F+DgJGJL2LOQqMJ8/0rXAky55 JDLNz+BciOA1lEWu9rn40WOf0GkvpFfelDsYO2J7GOCaBt7sZazCjOUaliYl9uNxP1Xd wM+WB+nMWIKZK7zxQDJ5qJigDGYDgzE7RkGSO+peQiGu0OE1wChWmRK5umL+GvI3gPj3 qLOw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:mime-version:from:date:message-id:subject:to; bh=Ov2bO6zFYj5UFpzhcbBQG/giv4vHSuNKih8jPfywt2E=; b=TBfTTiH9eWNpxWc5Lkf1orQPD7SlYoigSwyNbexcctzwP8jC3htweahF/BT2DyliM1 sbzp4sHKJoPrhPyFXvEN/M4IZxXkXvwdqDHVcyGUIHXpkvSpBM8lDpmpTDpoGmpS/pIb LbUJPyf6Xo0SkRpgWHGgoF/MhS5ir6o5QqQ3vKGambB0y+sHVzsQ4fm2u5FUezMdUVbw V/jFcJ9DGMp3Ykpu2oWvF11SaESubp8ndG0gCuY415FI1Ud3sfd72qQrN2WL+zHRONZA 2Zxm/979eQYkC1+sCyzKXIEiaRnAdE3/H4MYSqHarkklH7tGn5KpaCZCRNZJ9Bh0EokL 0ntQ== X-Gm-Message-State: AOPr4FU/Om9iY3hfsK673jPgu+y89e+NzbYpIeTOUXEqrsiGG+yhD700b2pC5TZQSpMpaS7mcfUQwlIRjFzrcg== X-Received: by 10.182.233.131 with SMTP id tw3mr14182064obc.80.1460843335383; Sat, 16 Apr 2016 14:48:55 -0700 (PDT) MIME-Version: 1.0 Received: by 10.202.63.70 with HTTP; Sat, 16 Apr 2016 14:48:35 -0700 (PDT) From: Fabrice Popineau Date: Sat, 16 Apr 2016 23:48:35 +0200 Message-ID: Subject: Re: bug#22959: Emacs on Windows depends on libwinpthreads To: 22959@debbugs.gnu.org Content-Type: multipart/alternative; boundary=001a11c2f34c1400cd0530a11802 X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 22959 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.7 (/) --001a11c2f34c1400cd0530a11802 Content-Type: text/plain; charset=UTF-8 Hi, At this point, when I build emacs for w64 using msys2, emacs.exe depends on libwinpthread for only one symbol which is clock_gettime(). This is called from lib/gettime.c:gettime(). It may be possible to remove this dependency for w64 and switch to gettimeofday(). No idea if we would lose something in doing so. There is another dependency which is libdbus.dll, which is automatically found. I have no idea if dbus is useful for w64/msys2. I may add that a full blown emacs compiled with msys2 needs up to 57 dlls to run ( that is : all image formats dll, gnutls, etc.) and this is what I copy in my emacs/bin directory. Fabrice --001a11c2f34c1400cd0530a11802 Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable
Hi,

At this point, when I build emacs f= or w64 using msys2,
emacs.exe depends on libwinpthread for only o= ne symbol
which is clock_gettime().
This is called from= lib/gettime.c:gettime().
It may be possible to remove this depen= dency for w64
and switch to gettimeofday(). No idea if we would l= ose=C2=A0
something in doing so.

There i= s another dependency which is libdbus.dll, which
is automatically= found. I have no idea if dbus is useful
for w64/msys2.

I may add that a full blown emacs compiled with msys2
ne= eds up to 57 dlls to run ( that is : all image formats dll,
gnutl= s, etc.) and this is what I copy in my emacs/bin directory.

<= /div>
Fabrice
--001a11c2f34c1400cd0530a11802-- From debbugs-submit-bounces@debbugs.gnu.org Sun Apr 17 10:38:05 2016 Received: (at 22959) by debbugs.gnu.org; 17 Apr 2016 14:38:05 +0000 Received: from localhost ([127.0.0.1]:38556 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1arnpt-0007hP-JA for submit@debbugs.gnu.org; Sun, 17 Apr 2016 10:38:05 -0400 Received: from eggs.gnu.org ([208.118.235.92]:56272) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1arnpr-0007go-8R for 22959@debbugs.gnu.org; Sun, 17 Apr 2016 10:38:03 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1arnpi-0001wq-Pj for 22959@debbugs.gnu.org; Sun, 17 Apr 2016 10:37:57 -0400 X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org X-Spam-Level: X-Spam-Status: No, score=-1.0 required=5.0 tests=BAYES_40,RP_MATCHES_RCVD autolearn=disabled version=3.3.2 Received: from fencepost.gnu.org ([2001:4830:134:3::e]:49882) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1arnpi-0001wm-Ls; Sun, 17 Apr 2016 10:37:54 -0400 Received: from 84.94.185.246.cable.012.net.il ([84.94.185.246]:4597 helo=home-c4e4a596f7) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_128_CBC_SHA1:128) (Exim 4.82) (envelope-from ) id 1arnpi-0007oK-0Z; Sun, 17 Apr 2016 10:37:54 -0400 Date: Sun, 17 Apr 2016 17:37:38 +0300 Message-Id: <837ffwb8st.fsf@gnu.org> From: Eli Zaretskii To: Fabrice Popineau In-reply-to: (message from Fabrice Popineau on Sat, 16 Apr 2016 23:48:35 +0200) Subject: Re: bug#22959: Emacs on Windows depends on libwinpthreads References: <87egbj4sbh.fsf@russet.org.uk> X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 2001:4830:134:3::e X-Spam-Score: -6.0 (------) X-Debbugs-Envelope-To: 22959 Cc: 22959@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: Eli Zaretskii Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -6.0 (------) > From: Fabrice Popineau > Date: Sat, 16 Apr 2016 23:48:35 +0200 > > At this point, when I build emacs for w64 using msys2, > emacs.exe depends on libwinpthread for only one symbol > which is clock_gettime(). > This is called from lib/gettime.c:gettime(). This is not supposed to happen. I don't see this on my system. There's some factor at work here that I cannot figure out: the configure-time test for clock_gettime doesn't try to look for that function in the pthreads library, it only tries the "normal" link without any extra libraries, and if that fails, tries 2 extra libraries: librt and libposix4, none of which I'd expect to see on MS-Windows in a MinGW installation. It could be something peculiar to MinGW64/MSYS2 build. Are you sure libwinpthread dependency is not a requirement of the MinGW64 GCC port? So please look in config.log, and tell how did pthreads get into this test. > It may be possible to remove this dependency for w64 > and switch to gettimeofday(). No idea if we would lose > something in doing so. Probably nothing at all, as the 32-build AFAIK doesn't depend on libwinpthread (at least mine doesn't). > There is another dependency which is libdbus.dll, which > is automatically found. I have no idea if dbus is useful > for w64/msys2. If you don't wand D-Bus, you can configure with --without-dbus. > I may add that a full blown emacs compiled with msys2 > needs up to 57 dlls to run ( that is : all image formats dll, > gnutls, etc.) and this is what I copy in my emacs/bin directory. 57 DLLs sounds excessive. I counted the ones I think Emacs uses on my system, and only got as far as 32. Can you show a list of those 57 libraries? From debbugs-submit-bounces@debbugs.gnu.org Sun Apr 17 11:25:50 2016 Received: (at 22959) by debbugs.gnu.org; 17 Apr 2016 15:25:50 +0000 Received: from localhost ([127.0.0.1]:38576 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1aroa6-0000NL-9D for submit@debbugs.gnu.org; Sun, 17 Apr 2016 11:25:50 -0400 Received: from mail-ob0-f176.google.com ([209.85.214.176]:33450) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1aroa4-0000N7-M4 for 22959@debbugs.gnu.org; Sun, 17 Apr 2016 11:25:49 -0400 Received: by mail-ob0-f176.google.com with SMTP id tz8so86004493obc.0 for <22959@debbugs.gnu.org>; Sun, 17 Apr 2016 08:25:48 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :cc; bh=HPz+GI7GA8La1NRxUmnHv4cXUYpbJTa2JF+/2cTRY7E=; b=XaO39U37X3dEVwa2lK8setoxe7PLE9Ii1DAiwjnT7RZKX7VZb1/IlL1rUEP2eO/zOv iuwgz9lC8Ad8Ph4hbYH7Fe5xANRJLGTfBBqRLMbILfC7eyIZgJd72lim/wl8m3w+bEYp nXRF0Ycsd5/shPuKJ9dKiHnYvfCoDnX0zpVE+rvO2R5aJh2ziNFj41khUGqbVlVzqyPc 20qE3IP0kVzv8TORIusWRgngf6GRtNIt6TfICTRlq3TT62Uqf6jy6ZNPfOreltJ3WRfV JVNF7P4fgf55GzFrXKT/Tw8pR4UPrNSr6dgwIhkXPRpNlqDYTUMk1ojCdUvUzjpH0MGk X3xA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:mime-version:in-reply-to:references:from:date :message-id:subject:to:cc; bh=HPz+GI7GA8La1NRxUmnHv4cXUYpbJTa2JF+/2cTRY7E=; b=abqmA9fh067C6Q/fXfAtqvpDtRdx0Ap++OvUM0aeN2cE/vLgQPdu1Zk7G7LSGCMxwz f+3KCykJp2xzoILKnjjQ7L2emcFS28qEYkzkAtjyhhnPn3zfjoLxKxJa+a1RMXaQ5fNq wlD7PXYCQPgQ//2izMJHgx8cuwx/7WTzHw2d/fG8iaP+d67CNnfP1z0CPuSSWv1IHbjw ABE5bSmixm0zpKP7McxS01GUQtagRRXvyt1rFMNpAOHa5Qmh9CEoAu/DJATp++wdkVFV zQ4MEBT7M2lceF4VTNRYm+c7GUM5SpOMw+0pwrpHNyEC2cC/xFWLU2eqQmzE4P3XcVVp Qx6g== X-Gm-Message-State: AOPr4FUvd+kHqDFrOPIMSHw0819O4UmiotemshrKHNyhgiXAz+0GXudMX7S0RSjN2McvptP3Zex5622sxWDWkw== X-Received: by 10.182.42.138 with SMTP id o10mr14292322obl.76.1460906743118; Sun, 17 Apr 2016 08:25:43 -0700 (PDT) MIME-Version: 1.0 Received: by 10.202.63.70 with HTTP; Sun, 17 Apr 2016 08:25:23 -0700 (PDT) In-Reply-To: <837ffwb8st.fsf@gnu.org> References: <87egbj4sbh.fsf@russet.org.uk> <837ffwb8st.fsf@gnu.org> From: Fabrice Popineau Date: Sun, 17 Apr 2016 17:25:23 +0200 Message-ID: Subject: Re: bug#22959: Emacs on Windows depends on libwinpthreads To: Eli Zaretskii Content-Type: multipart/alternative; boundary=001a11c2ce987941f40530afdb8c X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 22959 Cc: 22959@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.7 (/) --001a11c2ce987941f40530afdb8c Content-Type: text/plain; charset=UTF-8 2016-04-17 16:37 GMT+02:00 Eli Zaretskii : > > From: Fabrice Popineau > > Date: Sat, 16 Apr 2016 23:48:35 +0200 > > > > At this point, when I build emacs for w64 using msys2, > > emacs.exe depends on libwinpthread for only one symbol > > which is clock_gettime(). > > This is called from lib/gettime.c:gettime(). > > This is not supposed to happen. I don't see this on my system. > > There's some factor at work here that I cannot figure out: the > configure-time test for clock_gettime doesn't try to look for that > function in the pthreads library, it only tries the "normal" link > without any extra libraries, and if that fails, tries 2 extra > libraries: librt and libposix4, none of which I'd expect to see on > MS-Windows in a MinGW installation. > > It could be something peculiar to MinGW64/MSYS2 build. Are you sure > libwinpthread dependency is not a requirement of the MinGW64 GCC port? > > So please look in config.log, and tell how did pthreads get into this > test. >From config.log: configure:24643: checking for library containing clock_gettime configure:24674: gcc -I ../emacs/nt/inc -o conftest.exe -I/mingw64/include -fomit-frame-pointer -O3 -g0 -mtune=corei7 -mtune=generic -I/mingw64/include -L/mingw64/lib conftest.c >&5 configure:24674: $? = 0 configure:24691: result: none required configure:24703: checking for clock_gettime configure:24703: gcc -I ../emacs/nt/inc -o conftest.exe -I/mingw64/include -fomit-frame-pointer -O3 -g0 -mtune=corei7 -mtune=generic -I/mingw64/include -L/mingw64/lib conftest.c >&5 configure:24703: $? = 0 configure:24703: result: yes configure:24703: checking for clock_settime configure:24703: gcc -I ../emacs/nt/inc -o conftest.exe -I/mingw64/include -fomit-frame-pointer -O3 -g0 -mtune=corei7 -mtune=generic -I/mingw64/include -L/mingw64/lib conftest.c >&5 configure:24703: $? = 0 configure:24703: result: yes Testing with a very short C file, it seems that libwinpthread-1.dll is linked in by default and may be gets removed by the linker if no symbol is referenced. I have asked for clarifications on the msys2 list. Anyway, I am afraid that some 3rd party libraries would require it anyway. For example, --with-rsvg triggers the -pthread compile flag: config.status:S["RSVG_CFLAGS"]="-pthread -mms-bitfields -I/mingw64/include/librsvg-2.0 -I/mingw64/include/gdk-pixbuf-2.0 -I/mingw64/include/libpng16 -I/mingw64/include/cairo -I/min"\ > > > I may add that a full blown emacs compiled with msys2 > > needs up to 57 dlls to run ( that is : all image formats dll, > > gnutls, etc.) and this is what I copy in my emacs/bin directory. > > 57 DLLs sounds excessive. I counted the ones I think Emacs uses on my > system, and only got as far as 32. Can you show a list of those 57 > libraries? > configure command is: $ ../emacs/configure --prefix=/c/Local/Emacs-25 --libexecdir=/c/Local/Emacs-25/bin --datarootdir=/c/Local/Emacs-25 --localstatedir=/c/Local/Emacs-25 --sysconfdir=/c/Local/Emacs-25/etc --with-jpeg --with-xpm --with-png --with-tiff --with-rsvg --with-xml2 --with-gnutls --with-imagemagick --enable-checking=no and the dll list is: /c/Local/Emacs/bin/libasprintf-0.dll* /c/Local/Emacs/bin/libgmodule-2.0-0.dll* /c/Local/Emacs/bin/libMagickWand-6.Q16HDRI-2.dll* /c/Local/Emacs/bin/libbz2-1.dll* /c/Local/Emacs/bin/libgmp-10.dll* /c/Local/Emacs/bin/libnettle-6-1.dll* /c/Local/Emacs/bin/libcairo-2.dll* /c/Local/Emacs/bin/libgnutls-30.dll* /c/Local/Emacs/bin/libp11-kit-0.dll* /c/Local/Emacs/bin/libcairo-gobject-2.dll* /c/Local/Emacs/bin/libgnutlsxx-28.dll* /c/Local/Emacs/bin/libpango-1.0-0.dll* /c/Local/Emacs/bin/libcairo-script-interpreter-2.dll* /c/Local/Emacs/bin/libgobject-2.0-0.dll* /c/Local/Emacs/bin/libpangocairo-1.0-0.dll* /c/Local/Emacs/bin/libcharset-1.dll* /c/Local/Emacs/bin/libgomp-1.dll* /c/Local/Emacs/bin/libpangoft2-1.0-0.dll* /c/Local/Emacs/bin/libcroco-0.6-3.dll* /c/Local/Emacs/bin/libgraphite2.dll* /c/Local/Emacs/bin/libpangowin32-1.0-0.dll* /c/Local/Emacs/bin/libdbus-1-3.dll* /c/Local/Emacs/bin/libgthread-2.0-0.dll* /c/Local/Emacs/bin/libpcre-1.dll* /c/Local/Emacs/bin/libexpat-1.dll* /c/Local/Emacs/bin/libharfbuzz-0.dll* /c/Local/Emacs/bin/libpixman-1-0.dll* /c/Local/Emacs/bin/libffi-6.dll* /c/Local/Emacs/bin/libhogweed-4-1.dll* /c/Local/Emacs/bin/libpng16-16.dll* /c/Local/Emacs/bin/libfftw3-3.dll* /c/Local/Emacs/bin/libiconv-2.dll* /c/Local/Emacs/bin/librsvg-2-2.dll* /c/Local/Emacs/bin/libfontconfig-1.dll* /c/Local/Emacs/bin/libidn-11.dll* /c/Local/Emacs/bin/libstdc++-6.dll* /c/Local/Emacs/bin/libfreetype-6.dll* /c/Local/Emacs/bin/libintl-8.dll* /c/Local/Emacs/bin/libtasn1-6.dll* /c/Local/Emacs/bin/libgcc_s_seh-1.dll* /c/Local/Emacs/bin/libjpeg-8.dll* /c/Local/Emacs/bin/libtiff-5.dll* /c/Local/Emacs/bin/libgdk_pixbuf-2.0-0.dll* /c/Local/Emacs/bin/liblcms2-2.dll* /c/Local/Emacs/bin/libtiffxx-5.dll* /c/Local/Emacs/bin/libgettextpo-0.dll* /c/Local/Emacs/bin/liblqr-1-0.dll* /c/Local/Emacs/bin/libwinpthread-1.dll* /c/Local/Emacs/bin/libgif-7.dll* /c/Local/Emacs/bin/libltdl-7.dll* /c/Local/Emacs/bin/libxml2-2.dll* /c/Local/Emacs/bin/libgio-2.0-0.dll* /c/Local/Emacs/bin/liblzma-5.dll* /c/Local/Emacs/bin/libXpm-noX4.dll* /c/Local/Emacs/bin/libglib-2.0-0.dll* /c/Local/Emacs/bin/libMagickCore-6.Q16HDRI-2.dll* /c/Local/Emacs/bin/zlib1.dll* GnuTLS, ImageMagick and RSVG add quite many. Fabrice --001a11c2ce987941f40530afdb8c Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable


2016-04-17 16:37 GMT+02:00 Eli Zaretskii <eliz@gnu.org>:
=
> From: Fabrice Popineau <fabrice.popineau@gmail.com>
> Date: Sat, 16 Apr 2016 23:48:35 +0200
>
> At this point, when I build emacs for w64 using msys2,
> emacs.exe depends on libwinpthread for only one symbol
> which is clock_gettime().
> This is called from lib/gettime.c:gettime().

This is not supposed to happen.=C2=A0 I don't see this on my sys= tem.

There's some factor at work here that I cannot figure out: the
configure-time test for clock_gettime doesn't try to look for that
function in the pthreads library, it only tries the "normal" link=
without any extra libraries, and if that fails, tries 2 extra
libraries: librt and libposix4, none of which I'd expect to see on
MS-Windows in a MinGW installation.

It could be something peculiar to MinGW64/MSYS2 build.=C2=A0 Are you sure libwinpthread dependency is not a requirement of the MinGW64 GCC port?

So please look in config.log, and tell how did pthreads get into this
test.

From config.log:

=
configure:24643: checking for library containing clock_gettime
configure:24674: gcc -I ../emacs/nt/inc -o conftest.exe -I/mingw64/inclu= de -fomit-frame-pointer -O3 -g0 -mtune=3Dcorei7 -mtune=3Dgeneric =C2=A0-I/m= ingw64/include -L/mingw64/lib conftest.c =C2=A0 >&5=C2=A0
= configure:24674: $? =3D 0
configure:24691: result: none required<= /div>
configure:24703: checking for clock_gettime
configure:2= 4703: gcc -I ../emacs/nt/inc -o conftest.exe -I/mingw64/include -fomit-fram= e-pointer -O3 -g0 -mtune=3Dcorei7 -mtune=3Dgeneric =C2=A0-I/mingw64/include= -L/mingw64/lib conftest.c =C2=A0 >&5=C2=A0
configure:2470= 3: $? =3D 0
configure:24703: result: yes
configure:2470= 3: checking for clock_settime
configure:24703: gcc -I ../emacs/nt= /inc -o conftest.exe -I/mingw64/include -fomit-frame-pointer -O3 -g0 -mtune= =3Dcorei7 -mtune=3Dgeneric =C2=A0-I/mingw64/include -L/mingw64/lib conftest= .c =C2=A0 >&5=C2=A0
configure:24703: $? =3D 0
co= nfigure:24703: result: yes=C2=A0

Testing with a ve= ry short C file, it seems that libwinpthread-1.dll is linked in by default = and may be gets removed by the linker if no symbol is referenced. I have as= ked for clarifications
on the msys2 list.

Anyway, I am afraid that some 3rd party libraries would require it anyway= . For example, --with-rsvg triggers the -pthread compile flag:
config.status:S["RSVG_CFLAGS"]=3D"-pthread= -mms-bitfields -I/mingw64/include/librsvg-2.0 -I/mingw64/include/gdk-pixbu= f-2.0 -I/mingw64/include/libpng16 -I/mingw64/include/cairo -I/min"\

> I may add that a full blown emacs compiled with msys2
> needs up to 57 dlls to run ( that is : all image formats dll,
> gnutls, etc.) and this is what I copy in my emacs/bin directory.

57 DLLs sounds excessive.=C2=A0 I counted the ones I think Emacs use= s on my
system, and only got as far as 32.=C2=A0 Can you show a list of those 57 libraries?

configure command i= s:

=C2=A0 $ ../emacs/configure --prefix=3D/c/Local/Ema= cs-25 --libexecdir=3D/c/Local/Emacs-25/bin --datarootdir=3D/c/Local/Emacs-2= 5 --localstatedir=3D/c/Local/Emacs-25 --sysconfdir=3D/c/Local/Emacs-25/etc = --with-jpeg --with-xpm --with-png --with-tiff --with-rsvg --with-xml2 --wit= h-gnutls --with-imagemagick --enable-checking=3Dno

and the dll list is:

/c/Local/Emacs/bin/liba= sprintf-0.dll* =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0/c/Local/Emacs/bin/libgmodule-2.0-0.dll* =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 /c/Local/Emacs/bin/libMagickWand-6.Q16HDRI-2.dll*
/c/Local/Em= acs/bin/libbz2-1.dll* =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0 =C2=A0 =C2=A0 /c/Local/Emacs/bin/libgmp-10.dll* =C2=A0 =C2=A0 = =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0/c/Local/Emacs/bin/libnettl= e-6-1.dll*
/c/Local/Emacs/bin/libcairo-2.dll* =C2=A0 =C2=A0 =C2= =A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 /c/Local/Emacs/bin/lib= gnutls-30.dll* =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 /c/Local/Em= acs/bin/libp11-kit-0.dll*
/c/Local/Emacs/bin/libcairo-gobject-2.d= ll* =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 /c/Local/Emacs/bin/libgnutlsx= x-28.dll* =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 /c/Local/Emacs/bin/libp= ango-1.0-0.dll*
/c/Local/Emacs/bin/libcairo-script-interpreter-2.= dll* =C2=A0/c/Local/Emacs/bin/libgobject-2.0-0.dll* =C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0 /c/Local/Emacs/bin/libpangocairo-1.0-0.dll*
/c/Loca= l/Emacs/bin/libcharset-1.dll* =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0 =C2=A0 /c/Local/Emacs/bin/libgomp-1.dll* =C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0/c/Local/Emacs/bin/libpangoft2-1.0= -0.dll*
/c/Local/Emacs/bin/libcroco-0.6-3.dll* =C2=A0 =C2=A0 =C2= =A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 /c/Local/Emacs/bin/libgraphite2.dll*= =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 /c/Local/Emacs/bin/libpan= gowin32-1.0-0.dll*
/c/Local/Emacs/bin/libdbus-1-3.dll* =C2=A0 =C2= =A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0/c/Local/Emacs/b= in/libgthread-2.0-0.dll* =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 /c/Local/Emacs/= bin/libpcre-1.dll*
/c/Local/Emacs/bin/libexpat-1.dll* =C2=A0 =C2= =A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 /c/Local/Emacs/= bin/libharfbuzz-0.dll* =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0/c/L= ocal/Emacs/bin/libpixman-1-0.dll*
/c/Local/Emacs/bin/libffi-6.dll= * =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 /c/Local/Emacs/bin/libhogweed-4-1.dll* =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0 /c/Local/Emacs/bin/libpng16-16.dll*
/c/Local/Emacs/bin= /libfftw3-3.dll* =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0 /c/Local/Emacs/bin/libiconv-2.dll* =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 /c/Local/Emacs/bin/librsvg-2-2.dll*
/c/Local/Emacs/bin/libfontconfig-1.dll* =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0 =C2=A0 =C2=A0/c/Local/Emacs/bin/libidn-11.dll* =C2=A0 =C2=A0 =C2= =A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0/c/Local/Emacs/bin/libstdc++-6= .dll*
/c/Local/Emacs/bin/libfreetype-6.dll* =C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0/c/Local/Emacs/bin/libintl-8.dll* = =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0/c/Local/Emac= s/bin/libtasn1-6.dll*
/c/Local/Emacs/bin/libgcc_s_seh-1.dll* =C2= =A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 /c/Local/Emacs/bin/lib= jpeg-8.dll* =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0/= c/Local/Emacs/bin/libtiff-5.dll*
/c/Local/Emacs/bin/libgdk_pixbuf= -2.0-0.dll* =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0/c/Local/Emacs/bin/lib= lcms2-2.dll* =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 /c/Loc= al/Emacs/bin/libtiffxx-5.dll*
/c/Local/Emacs/bin/libgettextpo-0.d= ll* =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 /c/Local/Emacs/= bin/liblqr-1-0.dll* =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0= /c/Local/Emacs/bin/libwinpthread-1.dll*
/c/Local/Emacs/bin/libgi= f-7.dll* =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0 /c/Local/Emacs/bin/libltdl-7.dll* =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0/c/Local/Emacs/bin/libxml2-2.dll*
/c/Local/Emacs/bin/libgio-2.0-0.dll* =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0 =C2=A0 =C2=A0 /c/Local/Emacs/bin/liblzma-5.dll* =C2=A0 =C2=A0= =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0/c/Local/Emacs/bin/libXpm-= noX4.dll*
/c/Local/Emacs/bin/libglib-2.0-0.dll* =C2=A0 =C2=A0 =C2= =A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0/c/Local/Emacs/bin/libMagickCo= re-6.Q16HDRI-2.dll* =C2=A0/c/Local/Emacs/bin/zlib1.dll*
GnuTLS, ImageMagick and RSVG add quite many.

Fabrice


--001a11c2ce987941f40530afdb8c-- From debbugs-submit-bounces@debbugs.gnu.org Sun Apr 17 12:43:25 2016 Received: (at 22959) by debbugs.gnu.org; 17 Apr 2016 16:43:25 +0000 Received: from localhost ([127.0.0.1]:38601 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1arpnB-0002Aw-1O for submit@debbugs.gnu.org; Sun, 17 Apr 2016 12:43:25 -0400 Received: from eggs.gnu.org ([208.118.235.92]:48344) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1arpnA-0002Aj-0c for 22959@debbugs.gnu.org; Sun, 17 Apr 2016 12:43:24 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1arpn1-00031b-PU for 22959@debbugs.gnu.org; Sun, 17 Apr 2016 12:43:18 -0400 X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org X-Spam-Level: X-Spam-Status: No, score=-0.2 required=5.0 tests=BAYES_50,RP_MATCHES_RCVD autolearn=disabled version=3.3.2 Received: from fencepost.gnu.org ([2001:4830:134:3::e]:51657) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1arpn1-00031X-Ld; Sun, 17 Apr 2016 12:43:15 -0400 Received: from 84.94.185.246.cable.012.net.il ([84.94.185.246]:4705 helo=home-c4e4a596f7) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_128_CBC_SHA1:128) (Exim 4.82) (envelope-from ) id 1arpn0-0000vq-Ts; Sun, 17 Apr 2016 12:43:15 -0400 Date: Sun, 17 Apr 2016 19:42:59 +0300 Message-Id: <83shyk9ofg.fsf@gnu.org> From: Eli Zaretskii To: Fabrice Popineau In-reply-to: (message from Fabrice Popineau on Sun, 17 Apr 2016 17:25:23 +0200) Subject: Re: bug#22959: Emacs on Windows depends on libwinpthreads References: <87egbj4sbh.fsf@russet.org.uk> <837ffwb8st.fsf@gnu.org> X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 2001:4830:134:3::e X-Spam-Score: -6.0 (------) X-Debbugs-Envelope-To: 22959 Cc: 22959@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: Eli Zaretskii Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -6.0 (------) > From: Fabrice Popineau > Date: Sun, 17 Apr 2016 17:25:23 +0200 > Cc: 22959@debbugs.gnu.org > > >From config.log: > > configure:24643: checking for library containing clock_gettime > configure:24674: gcc -I ../emacs/nt/inc -o conftest.exe -I/mingw64/include > -fomit-frame-pointer -O3 -g0 -mtune=corei7 -mtune=generic > -I/mingw64/include -L/mingw64/lib conftest.c >&5 > configure:24674: $? = 0 > configure:24691: result: none required > configure:24703: checking for clock_gettime > configure:24703: gcc -I ../emacs/nt/inc -o conftest.exe -I/mingw64/include > -fomit-frame-pointer -O3 -g0 -mtune=corei7 -mtune=generic > -I/mingw64/include -L/mingw64/lib conftest.c >&5 > configure:24703: $? = 0 > configure:24703: result: yes > configure:24703: checking for clock_settime > configure:24703: gcc -I ../emacs/nt/inc -o conftest.exe -I/mingw64/include > -fomit-frame-pointer -O3 -g0 -mtune=corei7 -mtune=generic > -I/mingw64/include -L/mingw64/lib conftest.c >&5 > configure:24703: $? = 0 > configure:24703: result: yes > > Testing with a very short C file, it seems that libwinpthread-1.dll is > linked in by default and may be gets removed by the linker if no symbol is > referenced. So this is the reason for what you see: evidently, MinGW64 considers libwinpthread DLL a necessary part of a MinGW64 linking. We can easily prevent Emacs (in nt/mingw-cfg.site) from pulling clock_gettime from libwinpthread, if we decide to do that. But since MinGW64 programs are evidently supposed to depend on that library, I question the need for exempting just Emacs from this rule. > I have asked for clarifications on the msys2 list. I'm not sure they are the right crowd, it could be MinGW64 developers, like Kai Tietz. > Anyway, I am afraid that some 3rd party libraries would require it anyway. > For example, --with-rsvg triggers the -pthread compile flag: > > config.status:S["RSVG_CFLAGS"]="-pthread -mms-bitfields > -I/mingw64/include/librsvg-2.0 -I/mingw64/include/gdk-pixbuf-2.0 > -I/mingw64/include/libpng16 -I/mingw64/include/cairo -I/min"\ That's not the same: the librsvg dependency is not a static one, i.e. Emacs will start up even if libwinpthread is not available, it just won't be able to display SVG images. By contrast, the dependency you are talking about is _static_, recorded at link time; Emacs will refuse to start if the DLL is not present. > and the dll list is: > > /c/Local/Emacs/bin/libasprintf-0.dll* Shouldn't be needed. > /c/Local/Emacs/bin/libp11-kit-0.dll* You should tell whoever build that GnuTLS to omit libp11-kit, it's generally useless on Windows, certainly with Emacs. > /c/Local/Emacs/bin/libgnutlsxx-28.dll* Shouldn't be required, as long as Emacs is not a C++ program. > /c/Local/Emacs/bin/libcharset-1.dll* Shouldn't be required. > /c/Local/Emacs/bin/libpangoft2-1.0-0.dll* > /c/Local/Emacs/bin/libgraphite2.dll* > /c/Local/Emacs/bin/libfontconfig-1.dll* > /c/Local/Emacs/bin/libfreetype-6.dll* Whoever built Cairo didn't take care of disabling features unneeded on Windows for librsvg. The result is a very fat build of Cairo, for no good reason. > /c/Local/Emacs/bin/libpcre-1.dll* > /c/Local/Emacs/bin/libexpat-1.dll* > /c/Local/Emacs/bin/libharfbuzz-0.dll* Are these also from librsvg dependencies? If so, they are just ballast, AFAIK. > /c/Local/Emacs/bin/libfftw3-3.dll* Which library needs this one? > /c/Local/Emacs/bin/libidn-11.dll* Which library needs this one? > /c/Local/Emacs/bin/libstdc++-6.dll* ??? Why? Emacs is not a C++ program. In any case, using "-static-libstdc++" should fix this, I think. > /c/Local/Emacs/bin/libgcc_s_seh-1.dll* Use -static-libgcc (and ask library maintainers to avoid this dependency). > /c/Local/Emacs/bin/liblcms2-2.dll* Which library needs this? > /c/Local/Emacs/bin/libtiffxx-5.dll* This is for C++ program, AFAIK. > /c/Local/Emacs/bin/libgettextpo-0.dll* Shouldn't be needed. > /c/Local/Emacs/bin/liblqr-1-0.dll* What is this library? > /c/Local/Emacs/bin/libltdl-7.dll* Which library needs this one? From debbugs-submit-bounces@debbugs.gnu.org Sun Apr 17 15:31:58 2016 Received: (at 22959) by debbugs.gnu.org; 17 Apr 2016 19:31:58 +0000 Received: from localhost ([127.0.0.1]:38648 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1arsQI-0007gC-Fh for submit@debbugs.gnu.org; Sun, 17 Apr 2016 15:31:58 -0400 Received: from mail-oi0-f51.google.com ([209.85.218.51]:36704) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1arsQG-0007fw-DF for 22959@debbugs.gnu.org; Sun, 17 Apr 2016 15:31:56 -0400 Received: by mail-oi0-f51.google.com with SMTP id x201so8050290oif.3 for <22959@debbugs.gnu.org>; Sun, 17 Apr 2016 12:31:56 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :cc; bh=FILQXxEh1d3QnJcisVcy10UDAphiLRum5fCMv+i76So=; b=kc221rRIuXOnaZvo1hLazqqGz1qUKV0AyinswbOBBCnt8gtY4uU4DdUad6ytg2EaU6 iuXJEn9NRE9CRCLzT0lgyLRzQoJGfxrp8I9es7kyJoJ7AVAqDzD9Byh3ChzQtbHEww8Z YIMIpQIbjww6jGjofG0dyaK6+KfZ9evF6FNT0GPbeKqS/RlKVPdCniwQNTHxSOytHXa9 PjuJxFcJUgjK+L4PEWXClEVV2VoZTtrHnPMfob896uu/PwBOTvsz4RbzyP3UKu3aKaAL lM0JILT35YBMKQsVVTQGJJATCN95k89gvLrMinJ96RmJcbbe5Xdla5TU9F8Y5Z1v/kNh Q/KQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:mime-version:in-reply-to:references:from:date :message-id:subject:to:cc; bh=FILQXxEh1d3QnJcisVcy10UDAphiLRum5fCMv+i76So=; b=jnn4HxLeXY4T6GmVk7YiGXJ4Mi0EV44qkn1Eqr593hGvBBU9VTLNgdZfvzqKE77d6r aSR4XTftnPT7vPY9PW/mVWZssfN/bXyE8sdPuzfnPJ2gXPOC9Ttq1i9JwUJQKinJYR16 39JxxbPQ5J4TEBSvum5EtvvVebWaSgmIiXAHk9I/9IpM29R6kJChVxl5mtSUje5KBHBq Zm78ZTzkJ4sB6NvqL5pzukbnDOGG97kyxEzCCYXCl0b/xYnd6FW0m0G72pwqBFtsTXpj eElrkX+4qy7E8IwgOxYPtXlKJ5IT3GETMII+YGYmuF0YL9Dcad25lY3+ZzUecVYuxpNL lYpw== X-Gm-Message-State: AOPr4FWOi09U/+P+TZtY1VM9TzxqSa/7OYxZWwq/R6i1fhXpftPmWGDkSSrATR9Xse8pjW7PYBRpOGKKWI8Xnw== X-Received: by 10.157.31.35 with SMTP id x32mr14238890otd.145.1460921510549; Sun, 17 Apr 2016 12:31:50 -0700 (PDT) MIME-Version: 1.0 Received: by 10.202.63.70 with HTTP; Sun, 17 Apr 2016 12:31:31 -0700 (PDT) In-Reply-To: <83shyk9ofg.fsf@gnu.org> References: <87egbj4sbh.fsf@russet.org.uk> <837ffwb8st.fsf@gnu.org> <83shyk9ofg.fsf@gnu.org> From: Fabrice Popineau Date: Sun, 17 Apr 2016 21:31:31 +0200 Message-ID: Subject: Re: bug#22959: Emacs on Windows depends on libwinpthreads To: Eli Zaretskii Content-Type: multipart/alternative; boundary=001a1141bfd2ae5ffd0530b34b09 X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 22959 Cc: 22959@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.7 (/) --001a1141bfd2ae5ffd0530b34b09 Content-Type: text/plain; charset=UTF-8 I know you have been doing an amazing job at providing carefully configured binary packages for MinGW, but the situation is little bit more messy with MSys2/MingW64. And I don't have time to go the same way you did. Let's do some cleaning then. > > and the dll list is: > > > > /c/Local/Emacs/bin/libasprintf-0.dll* > > Shouldn't be needed. > Agreed, after checking. > > > /c/Local/Emacs/bin/libp11-kit-0.dll* > > You should tell whoever build that GnuTLS to omit libp11-kit, it's > generally useless on Windows, certainly with Emacs. Ok. > > > /c/Local/Emacs/bin/libgnutlsxx-28.dll* > > Shouldn't be required, as long as Emacs is not a C++ program. > Agreed. > /c/Local/Emacs/bin/libcharset-1.dll* > > Agreed > Shouldn't be required. > > > /c/Local/Emacs/bin/libpangoft2-1.0-0.dll* > > /c/Local/Emacs/bin/libgraphite2.dll* > > /c/Local/Emacs/bin/libfontconfig-1.dll* > > /c/Local/Emacs/bin/libfreetype-6.dll* > > Whoever built Cairo didn't take care of disabling features unneeded on > Windows for librsvg. The result is a very fat build of Cairo, for no > good reason. > I have no insight on this. I think cairo is built independently > > > /c/Local/Emacs/bin/libpcre-1.dll* > is required by glib, itself required by cairo-gobject, croco, gdk_pixbuf, gio, gmodule, gobject. > > /c/Local/Emacs/bin/libexpat-1.dll* > Required by fontconfig. > > /c/Local/Emacs/bin/libharfbuzz-0.dll* > Is required by libfreetype-6.dll Which itself is required by libcairo-2.dll > > Are these also from librsvg dependencies? If so, they are just > ballast, AFAIK. > > > /c/Local/Emacs/bin/libfftw3-3.dll* > > Which library needs this one? > > MagickCore > > /c/Local/Emacs/bin/libidn-11.dll* > > Which library needs this one? > > GnuTLS > > /c/Local/Emacs/bin/libstdc++-6.dll* > > Required by graphite > > /c/Local/Emacs/bin/libgcc_s_seh-1.dll* > > Is required by libcairo-2.dll and its dependencies : libfontconfig-1.dll, libpixman-1-0.dll > > /c/Local/Emacs/bin/liblcms2-2.dll* > > Which library needs this? > MagickCore > > /c/Local/Emacs/bin/libtiffxx-5.dll* > > This is for C++ program, AFAIK. > > Agreed, removed. > > /c/Local/Emacs/bin/libgettextpo-0.dll* > > Shouldn't be needed. > > Agreed, removed. > > /c/Local/Emacs/bin/liblqr-1-0.dll* > > What is this library? > > MagickCore > > /c/Local/Emacs/bin/libltdl-7.dll* > > Which library needs this one? > MagickCore Fabrice --001a1141bfd2ae5ffd0530b34b09 Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable

I know you have been doing an amazing job at providing care= fully configured binary packages
for MinGW, but the situation is = little bit more messy with MSys2/MingW64. And I don't have time
to go the same way you did.

Let's do some c= leaning then.
=C2=A0
> and the dll list is:
>
> /c/Local/Emacs/bin/libasprintf-0.dll*

Shouldn't be needed.

Agreed,= after checking.
=C2=A0

> /c/Local/Emacs/bin/libp11-kit-0.dll*

You should tell whoever build that GnuTLS to omit libp11-kit, it's
generally useless on Windows, certainly with Emacs.

Ok.
=C2=A0
=C2=A0
> /c/Local/Emacs/bin/libgnutlsxx-28.dll*

Shouldn't be required, as long as Emacs is not a C++ program.
=C2=A0
Agreed.=C2=A0

> /c/Local/Emacs/bin/libcharset-1.dll*


Agreed
=C2=A0
Shouldn't be required.

>=C2=A0 /c/Local/Emacs/bin/libpangoft2-1.0-0.dll*
> /c/Local/Emacs/bin/libgraphite2.dll*
> /c/Local/Emacs/bin/libfontconfig-1.dll*
> /c/Local/Emacs/bin/libfreetype-6.dll*

Whoever built Cairo didn't take care of disabling features unneeded on<= br> Windows for librsvg.=C2=A0 The result is a very fat build of Cairo, for no<= br> good reason.

I have no insight on this.= I think cairo is built independently=C2=A0

> /c/Local/Emacs/bin/libpcre-1.dll*

= is required by glib, itself required by cairo-gobject, croco, gdk_pixbuf, g= io, gmodule, gobject.

=C2=A0
> /c/Local/Emacs/bin/libexpat-1.dll*

Required by fontconfig.
=C2=A0
> /c/Local/Emacs/bin/libharfbuzz-0.dll*

<= div>Is required by libfreetype-6.dll
Which itself is required by = libcairo-2.dll
=C2=A0

Are these also from librsvg dependencies?=C2=A0 If so, they are just
ballast, AFAIK.

> /c/Local/Emacs/bin/libfftw3-3.dll*

Which library needs this one?

MagickCore
=C2=A0
>=C2=A0 /c/Local/Emacs/bin/libidn-11.dll*

Which library needs this one?

GnuTLS
=C2=A0
>=C2=A0 /c/Local/Emacs/bin/libstdc++-6.dll*

=C2=A0
Required by graphite
=C2= =A0
> /c/Local/Emacs/bin/libgcc_s_seh-1.dll*

Is required by libcairo-2.dll and its dependencies : = libfontconfig-1.dll, libpixman-1-0.dll

=C2=A0
>=C2=A0 /c/Local/Emacs/bin/liblcms2-2.dll*

Which library needs this?

MagickCore
=C2=A0
> /c/Local/Emacs/bin/libtiffxx-5.dll*

This is for C++ program, AFAIK.

Agreed, removed.
=C2=A0
> /c/Local/Emacs/bin/libgettextpo-0.dll*

Shouldn't be needed.

Agreed, removed.
=C2=A0
> /c/Local/Emacs/bin/liblqr-1-0.dll*

What is this library?


MagickCore
=C2=A0
> /c/Local/Emacs/bin/libltdl-7.dll*

Which library needs this one?

MagickCore

Fabrice
<= /div> --001a1141bfd2ae5ffd0530b34b09-- From debbugs-submit-bounces@debbugs.gnu.org Mon Apr 18 09:06:12 2016 Received: (at 22959) by debbugs.gnu.org; 18 Apr 2016 13:06:12 +0000 Received: from localhost ([127.0.0.1]:39103 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1as8sV-0002kz-Qv for submit@debbugs.gnu.org; Mon, 18 Apr 2016 09:06:11 -0400 Received: from cloud103.planethippo.com ([31.216.48.48]:56933) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1as8sU-0002km-5T for 22959@debbugs.gnu.org; Mon, 18 Apr 2016 09:06:10 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=russet.org.uk; s=default; h=Content-Type:MIME-Version:Message-ID: In-Reply-To:Date:References:Subject:Cc:To:From; bh=qU5tKm+kCLMG828w1r2nljLNEwGV1q5Lk1nWoVTRfos=; b=tzGnecu8SUsLJC89OzsUI0Yo9a nqau6OnQpzTT1OKb0Bi3s99FfIRskTUZj03kbAioVNMZ0o0CT+hAasM6IbWzHuBi3oP1x1Qdi7xUe oYWq1wGDRIU1WkSaJlt43RmqCzguALr8kK/6/6Gnm2HD/rWvu/vOwZIRYhDc2Lf5Nsp4lnDR//bff FV0/gz9119mOjJJ827RONKxfdTQLrzTohtjaAT/fOFGdamO/c8CpbNQg5s0bc7SVtSjRFJnWj+ZN5 dbRuIxF7k3Q2/2dHOhOH+z6RD+O9n6xAIwFY9Ar7w8EkG62Dvp+ir1b6YO1OKX5GvK7TBdcM+pnqs Ihyrsi0Q==; Received: from janus-nat-128-240-225-60.ncl.ac.uk ([128.240.225.60]:32882 helo=russet.org.uk) by cloud103.planethippo.com with esmtpsa (TLSv1.2:DHE-RSA-AES128-SHA:128) (Exim 4.86_1) (envelope-from ) id 1as8sO-0028kf-65; Mon, 18 Apr 2016 14:06:04 +0100 From: phillip.lord@russet.org.uk (Phillip Lord) To: Eli Zaretskii Subject: Re: bug#22959: Emacs on Windows depends on libwinpthreads References: <87egbj4sbh.fsf@russet.org.uk> <837ffwb8st.fsf@gnu.org> Date: Mon, 18 Apr 2016 14:06:03 +0100 In-Reply-To: <837ffwb8st.fsf@gnu.org> (Eli Zaretskii's message of "Sun, 17 Apr 2016 17:37:38 +0300") Message-ID: <87zisrawxw.fsf@russet.org.uk> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/24.5 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-AntiAbuse: This header was added to track abuse, please include it with any abuse report X-AntiAbuse: Primary Hostname - cloud103.planethippo.com X-AntiAbuse: Original Domain - debbugs.gnu.org X-AntiAbuse: Originator/Caller UID/GID - [47 12] / [47 12] X-AntiAbuse: Sender Address Domain - russet.org.uk X-Get-Message-Sender-Via: cloud103.planethippo.com: authenticated_id: phillip.lord@russet.org.uk X-Authenticated-Sender: cloud103.planethippo.com: phillip.lord@russet.org.uk X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 22959 Cc: 22959@debbugs.gnu.org, Fabrice Popineau X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 0.0 (/) Eli Zaretskii writes: >> From: Fabrice Popineau >> Date: Sat, 16 Apr 2016 23:48:35 +0200 >> >> At this point, when I build emacs for w64 using msys2, >> emacs.exe depends on libwinpthread for only one symbol >> which is clock_gettime(). >> This is called from lib/gettime.c:gettime(). > > This is not supposed to happen. I don't see this on my system. > > There's some factor at work here that I cannot figure out: the > configure-time test for clock_gettime doesn't try to look for that > function in the pthreads library, it only tries the "normal" link > without any extra libraries, and if that fails, tries 2 extra > libraries: librt and libposix4, none of which I'd expect to see on > MS-Windows in a MinGW installation. I did get the same thing at one point. > It could be something peculiar to MinGW64/MSYS2 build. Are you sure > libwinpthread dependency is not a requirement of the MinGW64 GCC port? This was the cause of the problem for me. > > So please look in config.log, and tell how did pthreads get into this > test. > >> It may be possible to remove this dependency for w64 >> and switch to gettimeofday(). No idea if we would lose >> something in doing so. > > Probably nothing at all, as the 32-build AFAIK doesn't depend on > libwinpthread (at least mine doesn't). And this, also stemmed from msys2 rather than anything different in Emacs. Phil From debbugs-submit-bounces@debbugs.gnu.org Mon Apr 18 09:42:26 2016 Received: (at 22959) by debbugs.gnu.org; 18 Apr 2016 13:42:26 +0000 Received: from localhost ([127.0.0.1]:39117 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1as9RZ-0003bs-WE for submit@debbugs.gnu.org; Mon, 18 Apr 2016 09:42:26 -0400 Received: from mail-ob0-f169.google.com ([209.85.214.169]:35485) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1as9RY-0003bf-JI for 22959@debbugs.gnu.org; Mon, 18 Apr 2016 09:42:24 -0400 Received: by mail-ob0-f169.google.com with SMTP id n10so33848124obb.2 for <22959@debbugs.gnu.org>; Mon, 18 Apr 2016 06:42:24 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :cc; bh=bHF10aCkcJAucsz9eqqemqk5as/yPjntEt5V4ToiVqI=; b=vDXZJtmNF6dLVFCEAPWRNLTJnzy7BsiKfw7SVy5Zyzap/dSQv3Ft5QKKBJ/ycyjar7 7YgMi8JOkEHQMy+iGlKYhr+YAEAQf6YeZl203ljqPKcgoMJ+35yAWLh4A/Gtp1krELXR KeBdtzeNzO52t6V7df1ri8JF0IXykUSs1oNgIubK/zQCLjGX8eXEtPykwQzLTzyoOmvD CI6w8UOMFEU/3EwR4ZOye+YD7w0uEHMz28X0zfzt6whKO2gqKOINtzOsE3BoDt87jS/a n/4jBjcTWyRTJEfsHdgGJ4+TVCZGPE5cvQe41fRls9lfli29L/AsT6h+3PI1g2Xc0zFI C7Tg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:mime-version:in-reply-to:references:from:date :message-id:subject:to:cc; bh=bHF10aCkcJAucsz9eqqemqk5as/yPjntEt5V4ToiVqI=; b=LrAdxQVB19Z2MRQYAY2R0TiY+J14y7Hl/VcgeYQwDeQBzlM0WGeIkBAJTECm4ZJRvu Q24gE+Di7jrFo0ehGzYFNGlQzbnnGLtTMftCusVA7iedPWivaCLz3xfzc4CIKtv2QgSy YMhJNVo2wH6hWpvteNf6bizdwSHWGwsIucFQqOlAp1y3UZXy6lcD6OVySz4/1e1eX7PA DjCA0xGFSRS3NjPP0CGl03X6a76inYGrSepgEsC5kDBUwcOvaU1F054pZr+wKBFfNMnk E7lVXvzWLcX0go7HlOjfUPdrrtaZnIerTBdgpxy9l197ZVFqFRkXuhtHFublHag/QdpJ yj+A== X-Gm-Message-State: AOPr4FWDpQ86yCfRGTWCW3T+yCbtFczLf0yzwERAL2RQLqHRXZsu1hmIocoy4MnuFLT0akXhScs0QPogEJWhrA== X-Received: by 10.182.233.131 with SMTP id tw3mr17185198obc.80.1460986938958; Mon, 18 Apr 2016 06:42:18 -0700 (PDT) MIME-Version: 1.0 Received: by 10.202.63.70 with HTTP; Mon, 18 Apr 2016 06:41:59 -0700 (PDT) In-Reply-To: <87zisrawxw.fsf@russet.org.uk> References: <87egbj4sbh.fsf@russet.org.uk> <837ffwb8st.fsf@gnu.org> <87zisrawxw.fsf@russet.org.uk> From: Fabrice Popineau Date: Mon, 18 Apr 2016 15:41:59 +0200 Message-ID: Subject: Re: bug#22959: Emacs on Windows depends on libwinpthreads To: Phillip Lord Content-Type: multipart/alternative; boundary=001a11c2f34c84aa320530c28727 X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 22959 Cc: 22959@debbugs.gnu.org, Eli Zaretskii X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.7 (/) --001a11c2f34c84aa320530c28727 Content-Type: text/plain; charset=UTF-8 2016-04-18 15:06 GMT+02:00 Phillip Lord : > Eli Zaretskii writes: > > >> From: Fabrice Popineau > >> Date: Sat, 16 Apr 2016 23:48:35 +0200 > >> > >> At this point, when I build emacs for w64 using msys2, > >> emacs.exe depends on libwinpthread for only one symbol > >> which is clock_gettime(). > >> This is called from lib/gettime.c:gettime(). > > > > This is not supposed to happen. I don't see this on my system. > > > > There's some factor at work here that I cannot figure out: the > > configure-time test for clock_gettime doesn't try to look for that > > function in the pthreads library, it only tries the "normal" link > > without any extra libraries, and if that fails, tries 2 extra > > libraries: librt and libposix4, none of which I'd expect to see on > > MS-Windows in a MinGW installation. > > > I did get the same thing at one point. > > > > It could be something peculiar to MinGW64/MSYS2 build. Are you sure > > libwinpthread dependency is not a requirement of the MinGW64 GCC port? > > This was the cause of the problem for me. > > Add this: diff --git a/nt/mingw-cfg.site b/nt/mingw-cfg.site index 05034fe..0063c2b 100644 --- a/nt/mingw-cfg.site +++ b/nt/mingw-cfg.site @@ -40,6 +40,12 @@ gl_cv_sys_struct_timespec_in_pthread_h=no # Or at all... ac_cv_header_pthread_h=no +# We don't want to check for these functions +# because they are implemented in libwinpthread. +ac_cv_search_clock_gettime="none required" +ac_cv_func_clock_gettime=no +ac_cv_func_clock_settime=no + # ACL functions are implemented in w32.c ac_cv_search_acl_get_file="none required" ac_cv_func_acl_get_file=yes And the dependency towards libwinpthread is gone for MinGW64. Fabrice --001a11c2f34c84aa320530c28727 Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable


2016-04-18 15:06 GMT+02:00 Phillip Lord <phillip.lord@russe= t.org.uk>:
Eli Zaretskii= <eliz@gnu.org> writes:

>> From: Fabrice Popineau <fabrice.popineau@gmail.com>
>> Date: Sat, 16 Apr 2016 23:48:35 +0200
>>
>> At this point, when I build emacs for w64 using msys2,
>> emacs.exe depends on libwinpthread for only one symbol
>> which is clock_gettime().
>> This is called from lib/gettime.c:gettime().
>
> This is not supposed to happen.=C2=A0 I don't see this on my syste= m.
>
> There's some factor at work here that I cannot figure out: the
> configure-time test for clock_gettime doesn't try to look for that=
> function in the pthreads library, it only tries the "normal"= link
> without any extra libraries, and if that fails, tries 2 extra
> libraries: librt and libposix4, none of which I'd expect to see on=
> MS-Windows in a MinGW installation.


I did get the same thing at one point.


> It could be something peculiar to MinGW64/MSYS2 build.=C2=A0 Are you s= ure
> libwinpthread dependency is not a requirement of the MinGW64 GCC port?=

This was the cause of the problem for me.


Add this:

diff --git a/nt/mingw-cfg.site b/nt/mingw-cfg.site
index 05034fe..0063c2b 100644
--- a/nt/mingw-cfg.site
+++ b/nt/mingw-cfg.site
@@ -40,6 +40,12 @@ gl_cv_sys_struct= _timespec_in_pthread_h=3Dno
=C2=A0# Or at all...
=C2=A0= ac_cv_header_pthread_h=3Dno

+# We don't want t= o check for these functions
+# because they are implemented in li= bwinpthread.
+ac_cv_search_clock_gettime=3D"none required&qu= ot;
+ac_cv_func_clock_gettime=3Dno
+ac_cv_func_clock_se= ttime=3Dno
+
=C2=A0# ACL functions are implemented in w= 32.c
=C2=A0ac_cv_search_acl_get_file=3D"none required"<= /div>
=C2=A0ac_cv_func_acl_get_file=3Dyes

And = the dependency towards libwinpthread is gone for MinGW64.

Fabrice

--001a11c2f34c84aa320530c28727-- From debbugs-submit-bounces@debbugs.gnu.org Mon Apr 18 14:59:22 2016 Received: (at 22959) by debbugs.gnu.org; 18 Apr 2016 18:59:22 +0000 Received: from localhost ([127.0.0.1]:39654 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1asEOH-0006Ma-RG for submit@debbugs.gnu.org; Mon, 18 Apr 2016 14:59:22 -0400 Received: from eggs.gnu.org ([208.118.235.92]:47004) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1asEOG-0006MN-3p for 22959@debbugs.gnu.org; Mon, 18 Apr 2016 14:59:20 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1asEO6-0003hM-18 for 22959@debbugs.gnu.org; Mon, 18 Apr 2016 14:59:15 -0400 X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org X-Spam-Level: X-Spam-Status: No, score=-2.9 required=5.0 tests=BAYES_00,RP_MATCHES_RCVD autolearn=disabled version=3.3.2 Received: from fencepost.gnu.org ([2001:4830:134:3::e]:53816) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1asEO5-0003hC-Ur; Mon, 18 Apr 2016 14:59:09 -0400 Received: from 84.94.185.246.cable.012.net.il ([84.94.185.246]:1895 helo=home-c4e4a596f7) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_128_CBC_SHA1:128) (Exim 4.82) (envelope-from ) id 1asEO5-0006zQ-4o; Mon, 18 Apr 2016 14:59:09 -0400 Date: Mon, 18 Apr 2016 21:58:57 +0300 Message-Id: <83y48a921a.fsf@gnu.org> From: Eli Zaretskii To: Fabrice Popineau In-reply-to: (message from Fabrice Popineau on Sun, 17 Apr 2016 21:31:31 +0200) Subject: Re: bug#22959: Emacs on Windows depends on libwinpthreads References: <87egbj4sbh.fsf@russet.org.uk> <837ffwb8st.fsf@gnu.org> <83shyk9ofg.fsf@gnu.org> X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 2001:4830:134:3::e X-Spam-Score: -6.0 (------) X-Debbugs-Envelope-To: 22959 Cc: 22959@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: Eli Zaretskii Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -6.0 (------) > From: Fabrice Popineau > Date: Sun, 17 Apr 2016 21:31:31 +0200 > Cc: 22959@debbugs.gnu.org > > I know you have been doing an amazing job at providing carefully configured > binary packages > for MinGW, but the situation is little bit more messy with MSys2/MingW64. > And I don't have time > to go the same way you did. > > Let's do some cleaning then. OK. Do we still have any problems left in this bug report? Or can we close it? From debbugs-submit-bounces@debbugs.gnu.org Mon Apr 18 15:02:46 2016 Received: (at 22959) by debbugs.gnu.org; 18 Apr 2016 19:02:46 +0000 Received: from localhost ([127.0.0.1]:39658 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1asERa-0006Sw-9y for submit@debbugs.gnu.org; Mon, 18 Apr 2016 15:02:46 -0400 Received: from eggs.gnu.org ([208.118.235.92]:47709) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1asERZ-0006Sk-1D for 22959@debbugs.gnu.org; Mon, 18 Apr 2016 15:02:45 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1asERQ-0006CT-1g for 22959@debbugs.gnu.org; Mon, 18 Apr 2016 15:02:40 -0400 X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org X-Spam-Level: X-Spam-Status: No, score=-2.9 required=5.0 tests=BAYES_00,RP_MATCHES_RCVD autolearn=disabled version=3.3.2 Received: from fencepost.gnu.org ([2001:4830:134:3::e]:53885) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1asERP-0006CP-UQ; Mon, 18 Apr 2016 15:02:35 -0400 Received: from 84.94.185.246.cable.012.net.il ([84.94.185.246]:1898 helo=home-c4e4a596f7) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_128_CBC_SHA1:128) (Exim 4.82) (envelope-from ) id 1asERP-000405-8g; Mon, 18 Apr 2016 15:02:35 -0400 Date: Mon, 18 Apr 2016 22:02:23 +0300 Message-Id: <83twiy91vk.fsf@gnu.org> From: Eli Zaretskii To: Fabrice Popineau In-reply-to: (message from Fabrice Popineau on Mon, 18 Apr 2016 15:41:59 +0200) Subject: Re: bug#22959: Emacs on Windows depends on libwinpthreads References: <87egbj4sbh.fsf@russet.org.uk> <837ffwb8st.fsf@gnu.org> <87zisrawxw.fsf@russet.org.uk> X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 2001:4830:134:3::e X-Spam-Score: -6.0 (------) X-Debbugs-Envelope-To: 22959 Cc: 22959@debbugs.gnu.org, phillip.lord@russet.org.uk X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: Eli Zaretskii Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -6.0 (------) > From: Fabrice Popineau > Date: Mon, 18 Apr 2016 15:41:59 +0200 > Cc: Eli Zaretskii , 22959@debbugs.gnu.org > > Add this: > > diff --git a/nt/mingw-cfg.site b/nt/mingw-cfg.site > index 05034fe..0063c2b 100644 > --- a/nt/mingw-cfg.site > +++ b/nt/mingw-cfg.site > @@ -40,6 +40,12 @@ gl_cv_sys_struct_timespec_in_pthread_h=no > # Or at all... > ac_cv_header_pthread_h=no > +# We don't want to check for these functions > +# because they are implemented in libwinpthread. > +ac_cv_search_clock_gettime="none required" > +ac_cv_func_clock_gettime=no > +ac_cv_func_clock_settime=no > + > # ACL functions are implemented in w32.c > ac_cv_search_acl_get_file="none required" > ac_cv_func_acl_get_file=yes > > And the dependency towards libwinpthread is gone for MinGW64. I'm okay with pushing this to master. From debbugs-submit-bounces@debbugs.gnu.org Mon Apr 18 15:51:11 2016 Received: (at 22959) by debbugs.gnu.org; 18 Apr 2016 19:51:11 +0000 Received: from localhost ([127.0.0.1]:39692 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1asFCR-0007l2-J2 for submit@debbugs.gnu.org; Mon, 18 Apr 2016 15:51:11 -0400 Received: from mail-ob0-f169.google.com ([209.85.214.169]:35079) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1asFCP-0007kq-S8 for 22959@debbugs.gnu.org; Mon, 18 Apr 2016 15:51:10 -0400 Received: by mail-ob0-f169.google.com with SMTP id n10so39146693obb.2 for <22959@debbugs.gnu.org>; Mon, 18 Apr 2016 12:51:09 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :cc; bh=lyaFuzAacBoTaj6EO2k9SWW5cU5MgF85hRLSzWedsAw=; b=vFJpKeTBMDB8xK48hc1cF1pUKJ86ZHdxK3eHzRTKkoxwuDKzwhQw4FEGqIFShPtN9w 7JdnJbFQJxIxgy+P/lb14YTXWUr9Gw0s5SOAzlHLuqfkreAHKz+HcS7XZuHmkCBo+brI epiCQx32qlIjg8XKct+3gVCGrpwSoavBd0C+wXc8YdTS9fi3AdObjWCHtb+wmRq9ROZU CeDWnsIt1iDmxf2Wi0f5XxXFDZGXscE5vY6RYvEHHGcwgBenA/GOAABqiP7IG5a/k7Dm AAKQXkaHyzNiT5dn85lZmlzYIeXrdG82sTRXlj275AHg50bCdQMUFvX/r2hQi2GiSeUt Gv9w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:mime-version:in-reply-to:references:from:date :message-id:subject:to:cc; bh=lyaFuzAacBoTaj6EO2k9SWW5cU5MgF85hRLSzWedsAw=; b=FexlMxEDyfHz3WMqR0oThiDKaXcZ1pVfU4aqDoSlBb6169qoZhKiD0500IKBaSSNkp 4Iphc0Ae7qO5vREWLml9P0Vg2iMR853G05YmVODJGRIqucOVwyJbIGdimCrC3Wc0x9Wo 4VvJfHa6pMqvtQdXKyuqDPurHyMNUbzyOGz9TunaxUxiU8wsXNAS6Za7X71nNNJFh1eU iVzGA//YV1PkNo8hAbVqVnber9pYP06b1cAO783pleB30Uj8hGzzUuzo6UG/c8rL8PLk eueVu+R8tQUQHpTR9ti/FfpWTNTatiEI7T0F70x11+H2fYFkJ+JfmpRgPtnvhpabQW4F 7LEw== X-Gm-Message-State: AOPr4FWsGrPipp+ZXuA+v7tc2tFziT2TXauPSymY5dd98GfDt1X3/t9kTwb9JDdFvO8ENH3Z/Ohrg8HrdUnowg== X-Received: by 10.60.123.41 with SMTP id lx9mr18035499oeb.55.1461009064413; Mon, 18 Apr 2016 12:51:04 -0700 (PDT) MIME-Version: 1.0 Received: by 10.202.63.70 with HTTP; Mon, 18 Apr 2016 12:50:44 -0700 (PDT) In-Reply-To: <83y48a921a.fsf@gnu.org> References: <87egbj4sbh.fsf@russet.org.uk> <837ffwb8st.fsf@gnu.org> <83shyk9ofg.fsf@gnu.org> <83y48a921a.fsf@gnu.org> From: Fabrice Popineau Date: Mon, 18 Apr 2016 21:50:44 +0200 Message-ID: Subject: Re: bug#22959: Emacs on Windows depends on libwinpthreads To: Eli Zaretskii Content-Type: multipart/alternative; boundary=047d7b5d5ffc4c4f5d0530c7ae60 X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 22959 Cc: 22959@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.7 (/) --047d7b5d5ffc4c4f5d0530c7ae60 Content-Type: text/plain; charset=UTF-8 2016-04-18 20:58 GMT+02:00 Eli Zaretskii : > > From: Fabrice Popineau > > Date: Sun, 17 Apr 2016 21:31:31 +0200 > > Cc: 22959@debbugs.gnu.org > > > > I know you have been doing an amazing job at providing carefully > configured > > binary packages > > for MinGW, but the situation is little bit more messy with MSys2/MingW64. > > And I don't have time > > to go the same way you did. > > > > Let's do some cleaning then. > > OK. Do we still have any problems left in this bug report? Or can we > close it? > You can close it. The dependency towards libwinpthread is removed with the small patch to mingw-cfg.site . Fabrice --047d7b5d5ffc4c4f5d0530c7ae60 Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable


2016-04-18 20:58 GMT+02:00 Eli Zaretskii <eliz@gnu.org>:
=
> From: Fabrice Popineau <fabrice.popineau@gmail.com>
> Date: Sun, 17 Apr 2016 21:31:31 +0200
> Cc: 22959@debbugs.gnu.org=
>
> I know you have been doing an amazing job at providing carefully confi= gured
> binary packages
> for MinGW, but the situation is little bit more messy with MSys2/MingW= 64.
> And I don't have time
> to go the same way you did.
>
> Let's do some cleaning then.

OK.=C2=A0 Do we still have any problems left in this bug report?=C2= =A0 Or can we
close it?

You can close it. T= he dependency towards libwinpthread is removed with the small patch=C2=A0
to mingw-cfg.site .

Fabrice
--047d7b5d5ffc4c4f5d0530c7ae60-- From debbugs-submit-bounces@debbugs.gnu.org Tue Apr 19 03:27:22 2016 Received: (at 22959) by debbugs.gnu.org; 19 Apr 2016 07:27:23 +0000 Received: from localhost ([127.0.0.1]:39869 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1asQ4A-0008Ks-N8 for submit@debbugs.gnu.org; Tue, 19 Apr 2016 03:27:22 -0400 Received: from mail-ob0-f182.google.com ([209.85.214.182]:34775) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1asQ48-0008KY-Df for 22959@debbugs.gnu.org; Tue, 19 Apr 2016 03:27:20 -0400 Received: by mail-ob0-f182.google.com with SMTP id bg3so4926142obb.1 for <22959@debbugs.gnu.org>; Tue, 19 Apr 2016 00:27:20 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :cc; bh=u1ZobKWBtQjRMl860lFCqXgO8uQRbJFSLBT2PP/JCXk=; b=UxZlXkS6RMkwCkrib307vZGsvSgHr59w7oKK4QMFC9A9GOEaPkhn6RhWUYy5Y2ASnj a+DzNJrH/aP/Sir0rTI0yj4tlYm8F6wECO+BS8IsETB4uv5ghs/Dnt7dq59zUOnsVuF8 addqyoWMbGg8hq4mcPO58mvKf2DNS7/yXvLwNVhn0qbcrYAg/0QBjR4vjzDFT0V8GCYq 1QBuXQ7+oE+I/Wgi46WQtBGJ6WsJacFgwZKYhtd31ex/fTKcX1a2ac/sWGrqyrlr/sV5 pxeKyAmc3tqObD7CQsytt21HXf/1evSFZvAJ5vvQ1zC18KZ+uPmwHIg5oN1WwIRfd6nJ eJyw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:mime-version:in-reply-to:references:from:date :message-id:subject:to:cc; bh=u1ZobKWBtQjRMl860lFCqXgO8uQRbJFSLBT2PP/JCXk=; b=lT6OOpnVi47gA43tflupREpSkq8GpPEAZlifjaA6kYHcJwrHTzXXYtQLY4NbW4Fjv2 5zDMFZshA+J1vL+q+1PIvHXzvwOCWG/ns9J+Mrl1TjW1VHLhCpU09ZKzFtyb7Tzvj4rq GzWSS4kqX+r+9LYOS5RLeEnKqOJ/hQgW3F+lcKVOYle+jyZsGnUCrlipASRUbEKUQoJ3 3sgFMzyZY3afZixKMQrNQmaT6wxtngj1rPx+/R/v16SL+6mtsqg82SifpvD/aJ+D3+5J 8cSfqdZmOJzR7GFhrNTTeffQe17xBwwccgJyWVGnE0Eife3zAfq/KF9x+H36fYcTp4SB GMXQ== X-Gm-Message-State: AOPr4FXyStmlsvgreOHyxx/rtyV4/0PLIMSdGBZE9cD+ff91xLX5Q717+xkoUzkjLSKvw7Y7oMBNmudaCmd8Jg== X-Received: by 10.202.223.84 with SMTP id w81mr545815oig.8.1461050834876; Tue, 19 Apr 2016 00:27:14 -0700 (PDT) MIME-Version: 1.0 Received: by 10.202.63.70 with HTTP; Tue, 19 Apr 2016 00:26:55 -0700 (PDT) In-Reply-To: <83twiy91vk.fsf@gnu.org> References: <87egbj4sbh.fsf@russet.org.uk> <837ffwb8st.fsf@gnu.org> <87zisrawxw.fsf@russet.org.uk> <83twiy91vk.fsf@gnu.org> From: Fabrice Popineau Date: Tue, 19 Apr 2016 09:26:55 +0200 Message-ID: Subject: Re: bug#22959: Emacs on Windows depends on libwinpthreads To: Eli Zaretskii Content-Type: multipart/alternative; boundary=001a113d38ce0303fc0530d16899 X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 22959 Cc: 22959@debbugs.gnu.org, Phillip Lord X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.7 (/) --001a113d38ce0303fc0530d16899 Content-Type: text/plain; charset=UTF-8 2016-04-18 21:02 GMT+02:00 Eli Zaretskii : > > From: Fabrice Popineau > > Date: Mon, 18 Apr 2016 15:41:59 +0200 > > Cc: Eli Zaretskii , 22959@debbugs.gnu.org > > > > Add this: > > > > diff --git a/nt/mingw-cfg.site b/nt/mingw-cfg.site > > index 05034fe..0063c2b 100644 > > --- a/nt/mingw-cfg.site > > +++ b/nt/mingw-cfg.site > > @@ -40,6 +40,12 @@ gl_cv_sys_struct_timespec_in_pthread_h=no > > # Or at all... > > ac_cv_header_pthread_h=no > > +# We don't want to check for these functions > > +# because they are implemented in libwinpthread. > > +ac_cv_search_clock_gettime="none required" > > +ac_cv_func_clock_gettime=no > > +ac_cv_func_clock_settime=no > > + > > # ACL functions are implemented in w32.c > > ac_cv_search_acl_get_file="none required" > > ac_cv_func_acl_get_file=yes > > > > And the dependency towards libwinpthread is gone for MinGW64. > > I'm okay with pushing this to master. > BTW, libwinpthread _is not_ GPL. Sources can be found here https://sourceforge.net/p/mingw-w64/mingw-w64/ci/master/tree/mingw-w64-libraries/winpthreads/ You only need to redistribute the COPYING file. Fabrice --001a113d38ce0303fc0530d16899 Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable


2016-04-18 21:02 GMT+02:00 Eli Zaretskii <eliz@gnu.org>:
=
> From: Fabrice Popineau <fabrice.popineau@gmail.com>
> Date: Mon, 18 Apr 2016 15:41:59 +0200
> Cc: Eli Zaretskii <eliz@gnu.org= >, 22959@debbugs.gnu.org >
> Add this:
>
> diff --git a/nt/mingw-cfg.site b/nt/mingw-cfg.site
> index 05034fe..0063c2b 100644
> --- a/nt/mingw-cfg.site
> +++ b/nt/mingw-cfg.site
> @@ -40,6 +40,12 @@ gl_cv_sys_struct_timespec_in_pthread_h=3Dno
> # Or at all...
> ac_cv_header_pthread_h=3Dno
> +# We don't want to check for these functions
> +# because they are implemented in libwinpthread.
> +ac_cv_search_clock_gettime=3D"none required"
> +ac_cv_func_clock_gettime=3Dno
> +ac_cv_func_clock_settime=3Dno
> +
> # ACL functions are implemented in w32.c
> ac_cv_search_acl_get_file=3D"none required"
> ac_cv_func_acl_get_file=3Dyes
>
> And the dependency towards libwinpthread is gone for MinGW64.

I'm okay with pushing this to master.

BTW, libwinpthread = _is not_ GPL.
Sources can be found here
You only need to redistribute t= he COPYING file.

Fabrice
--001a113d38ce0303fc0530d16899-- From debbugs-submit-bounces@debbugs.gnu.org Thu Apr 21 12:25:18 2016 Received: (at 22959-done) by debbugs.gnu.org; 21 Apr 2016 16:25:18 +0000 Received: from localhost ([127.0.0.1]:42541 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1atHPq-0007rq-9S for submit@debbugs.gnu.org; Thu, 21 Apr 2016 12:25:18 -0400 Received: from eggs.gnu.org ([208.118.235.92]:42380) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1atHPp-0007rd-3O for 22959-done@debbugs.gnu.org; Thu, 21 Apr 2016 12:25:17 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1atHPg-00058P-Sn for 22959-done@debbugs.gnu.org; Thu, 21 Apr 2016 12:25:12 -0400 X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org X-Spam-Level: X-Spam-Status: No, score=-2.9 required=5.0 tests=BAYES_00,RP_MATCHES_RCVD autolearn=disabled version=3.3.2 Received: from fencepost.gnu.org ([2001:4830:134:3::e]:40672) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1atHPg-00058L-QU; Thu, 21 Apr 2016 12:25:08 -0400 Received: from 84.94.185.246.cable.012.net.il ([84.94.185.246]:4983 helo=home-c4e4a596f7) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_128_CBC_SHA1:128) (Exim 4.82) (envelope-from ) id 1atHPg-00023D-0M; Thu, 21 Apr 2016 12:25:08 -0400 Date: Thu, 21 Apr 2016 19:25:03 +0300 Message-Id: <83r3dz53q8.fsf@gnu.org> From: Eli Zaretskii To: Fabrice Popineau In-reply-to: (message from Fabrice Popineau on Mon, 18 Apr 2016 21:50:44 +0200) Subject: Re: bug#22959: Emacs on Windows depends on libwinpthreads References: <87egbj4sbh.fsf@russet.org.uk> <837ffwb8st.fsf@gnu.org> <83shyk9ofg.fsf@gnu.org> <83y48a921a.fsf@gnu.org> X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 2001:4830:134:3::e X-Spam-Score: -6.0 (------) X-Debbugs-Envelope-To: 22959-done Cc: 22959-done@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: Eli Zaretskii Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -6.0 (------) > From: Fabrice Popineau > Date: Mon, 18 Apr 2016 21:50:44 +0200 > Cc: 22959@debbugs.gnu.org > > OK. Do we still have any problems left in this bug report? Or can we > close it? > > You can close it. The dependency towards libwinpthread is removed with the small patch > to mingw-cfg.site . I pushed that patch to master, and closing. Thanks. From unknown Sat Aug 16 18:46:41 2025 Received: (at fakecontrol) by fakecontrolmessage; To: internal_control@debbugs.gnu.org From: Debbugs Internal Request Subject: Internal Control Message-Id: bug archived. Date: Fri, 20 May 2016 11:24:04 +0000 User-Agent: Fakemail v42.6.9 # This is a fake control message. # # The action: # bug archived. thanks # This fakemail brought to you by your local debbugs # administrator