all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
* Re: [Emacs-diffs] master 100e339: Update from gnulib
       [not found] ` <20180201172144.5A58620856@vcs0.savannah.gnu.org>
@ 2018-02-26 20:25   ` Ken Brown
  2018-02-26 23:26     ` Paul Eggert
  0 siblings, 1 reply; 4+ messages in thread
From: Ken Brown @ 2018-02-26 20:25 UTC (permalink / raw)
  To: emacs-devel, Paul Eggert; +Cc: Bruno Haible

On 2/1/2018 12:21 PM, Paul Eggert wrote:
> +# if defined __CYGWIN__
> +/* The 'environ' variable is defined in a DLL. Therefore its declaration needs
> +   the '__declspec(dllimport)' attribute, but the system's <unistd.h> lacks it.
> +   This leads to a link error on 64-bit Cygwin when the option
> +   -Wl,--disable-auto-import is in use.  */
> +_GL_EXTERN_C __declspec(dllimport) char **environ;
> +# endif

This breaks the build on 32-bit Cygwin.  The build fails as follows:

   CCLD     make-docfile.exe
/tmp/ccZciFa6.o: In function `main':
/home/kbrown/src/emacs/i686/lib-src/../../master/lib-src/emacsclient.c:1740: 
undefined reference to `_imp__environ'
collect2: error: ld returned 1 exit status

Bruno is aware of the issue; I first noticed it while building clisp and 
reported it there.  But I thought I should report it here too in case 
others bump into it.

Ken



^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [Emacs-diffs] master 100e339: Update from gnulib
  2018-02-26 20:25   ` [Emacs-diffs] master 100e339: Update from gnulib Ken Brown
@ 2018-02-26 23:26     ` Paul Eggert
  2018-02-26 23:51       ` Ken Brown
  0 siblings, 1 reply; 4+ messages in thread
From: Paul Eggert @ 2018-02-26 23:26 UTC (permalink / raw)
  To: Ken Brown, emacs-devel; +Cc: Bruno Haible

[-- Attachment #1: Type: text/plain, Size: 1138 bytes --]

On 02/26/2018 12:25 PM, Ken Brown wrote:
> On 2/1/2018 12:21 PM, Paul Eggert wrote:
>> +# if defined __CYGWIN__
>> +/* The 'environ' variable is defined in a DLL. Therefore its 
>> declaration needs
>> +   the '__declspec(dllimport)' attribute, but the system's 
>> <unistd.h> lacks it.
>> +   This leads to a link error on 64-bit Cygwin when the option
>> +   -Wl,--disable-auto-import is in use.  */
>> +_GL_EXTERN_C __declspec(dllimport) char **environ;
>> +# endif
>
> This breaks the build on 32-bit Cygwin.  The build fails as follows:
>
>   CCLD     make-docfile.exe
> /tmp/ccZciFa6.o: In function `main':
> /home/kbrown/src/emacs/i686/lib-src/../../master/lib-src/emacsclient.c:1740: 
> undefined reference to `_imp__environ'
> collect2: error: ld returned 1 exit status
>
> Bruno is aware of the issue; I first noticed it while building clisp 
> and reported it there.  But I thought I should report it here too in 
> case others bump into it. 

Thanks for the heads-up. Does the attached patch fix the problem for 
you? If so, I can install it until Bruno comes up with something better.

[-- Attachment #2: unistd.diff --]
[-- Type: text/x-patch, Size: 516 bytes --]

diff --git a/lib/unistd.in.h b/lib/unistd.in.h
index 13f4bb6cd1..beeb8e1d6f 100644
--- a/lib/unistd.in.h
+++ b/lib/unistd.in.h
@@ -400,7 +400,7 @@ _GL_WARN_ON_USE (dup3, "dup3 is unportable - "
 
 
 #if @GNULIB_ENVIRON@
-# if defined __CYGWIN__
+# if defined __CYGWIN__ && !defined __i386__
 /* The 'environ' variable is defined in a DLL. Therefore its declaration needs
    the '__declspec(dllimport)' attribute, but the system's <unistd.h> lacks it.
    This leads to a link error on 64-bit Cygwin when the option

^ permalink raw reply related	[flat|nested] 4+ messages in thread

* Re: [Emacs-diffs] master 100e339: Update from gnulib
  2018-02-26 23:26     ` Paul Eggert
@ 2018-02-26 23:51       ` Ken Brown
  2018-02-27 17:10         ` Paul Eggert
  0 siblings, 1 reply; 4+ messages in thread
From: Ken Brown @ 2018-02-26 23:51 UTC (permalink / raw)
  To: Paul Eggert, emacs-devel; +Cc: Bruno Haible

On 2/26/2018 6:26 PM, Paul Eggert wrote:
> On 02/26/2018 12:25 PM, Ken Brown wrote:
>> On 2/1/2018 12:21 PM, Paul Eggert wrote:
>>> +# if defined __CYGWIN__
>>> +/* The 'environ' variable is defined in a DLL. Therefore its 
>>> declaration needs
>>> +   the '__declspec(dllimport)' attribute, but the system's 
>>> <unistd.h> lacks it.
>>> +   This leads to a link error on 64-bit Cygwin when the option
>>> +   -Wl,--disable-auto-import is in use.  */
>>> +_GL_EXTERN_C __declspec(dllimport) char **environ;
>>> +# endif
>>
>> This breaks the build on 32-bit Cygwin.  The build fails as follows:
>>
>>   CCLD     make-docfile.exe
>> /tmp/ccZciFa6.o: In function `main':
>> /home/kbrown/src/emacs/i686/lib-src/../../master/lib-src/emacsclient.c:1740: 
>> undefined reference to `_imp__environ'
>> collect2: error: ld returned 1 exit status
>>
>> Bruno is aware of the issue; I first noticed it while building clisp 
>> and reported it there.  But I thought I should report it here too in 
>> case others bump into it. 
> 
> Thanks for the heads-up. Does the attached patch fix the problem for 
> you? If so, I can install it until Bruno comes up with something better.

Yes, thanks.

Ken



^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [Emacs-diffs] master 100e339: Update from gnulib
  2018-02-26 23:51       ` Ken Brown
@ 2018-02-27 17:10         ` Paul Eggert
  0 siblings, 0 replies; 4+ messages in thread
From: Paul Eggert @ 2018-02-27 17:10 UTC (permalink / raw)
  To: Ken Brown, emacs-devel; +Cc: Bruno Haible

On 02/26/2018 03:51 PM, Ken Brown wrote:
>> Does the attached patch fix the problem for you? If so, I can install 
>> it until Bruno comes up with something better.
>
> Yes, thanks. 

Thanks for checking; I installed it into Gnulib and propagated it into 
Emacs master.




^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2018-02-27 17:10 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
     [not found] <20180201172143.17217.47676@vcs0.savannah.gnu.org>
     [not found] ` <20180201172144.5A58620856@vcs0.savannah.gnu.org>
2018-02-26 20:25   ` [Emacs-diffs] master 100e339: Update from gnulib Ken Brown
2018-02-26 23:26     ` Paul Eggert
2018-02-26 23:51       ` Ken Brown
2018-02-27 17:10         ` Paul Eggert

Code repositories for project(s) associated with this external index

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

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.