unofficial mirror of bug-gnu-emacs@gnu.org 
 help / color / mirror / code / Atom feed
From: phillip.lord@russet.org.uk (Phillip Lord)
To: Eli Zaretskii <eliz@gnu.org>
Cc: 22959@debbugs.gnu.org
Subject: bug#22959: Emacs on Windows depends on libwinpthreads
Date: Wed, 09 Mar 2016 16:32:44 +0000	[thread overview]
Message-ID: <871t7j4no3.fsf@russet.org.uk> (raw)
In-Reply-To: <83d1r3pqr0.fsf@gnu.org> (Eli Zaretskii's message of "Wed, 09 Mar 2016 18:20:35 +0200")

Eli Zaretskii <eliz@gnu.org> 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






  reply	other threads:[~2016-03-09 16:32 UTC|newest]

Thread overview: 18+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-03-09 14:52 bug#22959: Emacs on Windows depends on libwinpthreads Phillip Lord
2016-03-09 16:20 ` Eli Zaretskii
2016-03-09 16:32   ` Phillip Lord [this message]
2016-03-09 16:59     ` Eli Zaretskii
2016-03-09 18:56       ` Phillip Lord
2016-03-09 19:16         ` Eli Zaretskii
2016-04-16 21:48 ` Fabrice Popineau
2016-04-17 14:37   ` Eli Zaretskii
2016-04-17 15:25     ` Fabrice Popineau
2016-04-17 16:42       ` Eli Zaretskii
2016-04-17 19:31         ` Fabrice Popineau
2016-04-18 18:58           ` Eli Zaretskii
2016-04-18 19:50             ` Fabrice Popineau
2016-04-21 16:25               ` Eli Zaretskii
2016-04-18 13:06     ` Phillip Lord
2016-04-18 13:41       ` Fabrice Popineau
2016-04-18 19:02         ` Eli Zaretskii
2016-04-19  7:26           ` Fabrice Popineau

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://www.gnu.org/software/emacs/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=871t7j4no3.fsf@russet.org.uk \
    --to=phillip.lord@russet.org.uk \
    --cc=22959@debbugs.gnu.org \
    --cc=eliz@gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).