all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
* after r114507 cannot build on msys
@ 2013-10-31 17:44 Jarek Czekalski
  2013-10-31 18:16 ` after r114507 cannot build on msys - dup2 problem Jarek Czekalski
  2013-10-31 18:17 ` after r114507 cannot build on msys Eli Zaretskii
  0 siblings, 2 replies; 5+ messages in thread
From: Jarek Czekalski @ 2013-10-31 17:44 UTC (permalink / raw)
  To: emacs-devel

In r114506 configure say dup2: yes.

In r114507: dup2: no

configure:22632: checking whether dup2 works
configure:22691: gcc -I /c/Temp/src/emacs/nt/inc -std=gnu99 -o 
conftest.exe -g3 -O2 -gdwarf-2 -mtune=pentium4    conftest.c >&5
configure:22691: $? = 0
configure:22691: ./conftest.exe
configure:22691: $? = 2
configure: program exited with status 2
configure: failed program was:

When it tries to build dup2.c it cannot find msvc-inval.h - I don't have 
such file. Previously this was not build, because dup2 was detected ok.

I have libcrtdll from mingw-runtime-3.14.tar. In this file is dup2 function.

Any hints? I know 114507 added new tests to dup2, but I wonder whether 
my dup2 is really invalid or is it a bug in configure?
What are the impressions of other mingw builders?

Jarek




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

* Re: after r114507 cannot build on msys - dup2 problem
  2013-10-31 17:44 after r114507 cannot build on msys Jarek Czekalski
@ 2013-10-31 18:16 ` Jarek Czekalski
  2013-10-31 18:17 ` after r114507 cannot build on msys Eli Zaretskii
  1 sibling, 0 replies; 5+ messages in thread
From: Jarek Czekalski @ 2013-10-31 18:16 UTC (permalink / raw)
  To: emacs-devel

Actually at the moment I cannot build also r114506. The same problem 
with configure dup2:no. Need to investigate more.

Jarek




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

* Re: after r114507 cannot build on msys
  2013-10-31 17:44 after r114507 cannot build on msys Jarek Czekalski
  2013-10-31 18:16 ` after r114507 cannot build on msys - dup2 problem Jarek Czekalski
@ 2013-10-31 18:17 ` Eli Zaretskii
  2013-10-31 18:57   ` after r114507 cannot build on msys - dup2 problem Jarek Czekalski
  1 sibling, 1 reply; 5+ messages in thread
From: Eli Zaretskii @ 2013-10-31 18:17 UTC (permalink / raw)
  To: Jarek Czekalski; +Cc: emacs-devel

> Date: Thu, 31 Oct 2013 18:44:17 +0100
> From: Jarek Czekalski <jarekczek@poczta.onet.pl>
> 
> In r114506 configure say dup2: yes.
> 
> In r114507: dup2: no

Not here.  It still works for me with today's trunk, as it did before.

> configure:22632: checking whether dup2 works
> configure:22691: gcc -I /c/Temp/src/emacs/nt/inc -std=gnu99 -o 
> conftest.exe -g3 -O2 -gdwarf-2 -mtune=pentium4    conftest.c >&5
> configure:22691: $? = 0
> configure:22691: ./conftest.exe
> configure:22691: $? = 2
> configure: program exited with status 2
> configure: failed program was:
> 
> When it tries to build dup2.c it cannot find msvc-inval.h - I don't have 
> such file. Previously this was not build, because dup2 was detected ok.

How did you invoke the configure script?  Did you use
nt/msysconfig.sh, or did you invoke ./configure by hand?  I'm guessing
the latter, in which case the file nt/mingw-cfg.site was not loaded.
Please be sure to follow the instructions in nt/INSTALL.

Here's what my config.log says about this test:

  configure:22741: checking whether dup2 works
  configure:22811: result: yes

That's it: it never runs the test program, precisely because that
would erroneously decide that dup2 doesn't work.  This happens because
mingw-cfg.site forces configure to accept this result without testing.



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

* Re: after r114507 cannot build on msys - dup2 problem
  2013-10-31 18:17 ` after r114507 cannot build on msys Eli Zaretskii
@ 2013-10-31 18:57   ` Jarek Czekalski
  2013-10-31 19:22     ` Jarek Czekalski
  0 siblings, 1 reply; 5+ messages in thread
From: Jarek Czekalski @ 2013-10-31 18:57 UTC (permalink / raw)
  To: emacs-devel


W dniu 2013-10-31 19:17, Eli Zaretskii pisze:
>
> How did you invoke the configure script?  Did you use
> nt/msysconfig.sh, or did you invoke ./configure by hand?

Probably when I did my first build (a months ago) I used the right file. 
Now I forgot and shot standard configure. Thanks for the hint. I guess I 
will remember now.

> That's it: it never runs the test program, precisely because that
> would erroneously decide that dup2 doesn't work.
>

I got it. Msdn documentation of msvcrt _dup2 says it returns 0 on 
success. Posix implementation returns the new descriptor, not 0. That's 
why standard dup2 test fails.

Jarek




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

* Re: after r114507 cannot build on msys - dup2 problem
  2013-10-31 18:57   ` after r114507 cannot build on msys - dup2 problem Jarek Czekalski
@ 2013-10-31 19:22     ` Jarek Czekalski
  0 siblings, 0 replies; 5+ messages in thread
From: Jarek Czekalski @ 2013-10-31 19:22 UTC (permalink / raw)
  To: emacs-devel

If there are ever any problems with dup2 here is my analyze:

Emacs code never uses the feature of dup2, that it returns the 
descriptor. In most cases the return value is ignored. In emacs.c the 
return value is tested for < 0, which is compatible with both msvcrt and 
posix.

So the test in m4/dup2.m4 whether dup2(1, 1) returns 1 is not needed and 
could be skipped.

Other tests for dup2 are passed on mingw.

Jarek




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

end of thread, other threads:[~2013-10-31 19:22 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-10-31 17:44 after r114507 cannot build on msys Jarek Czekalski
2013-10-31 18:16 ` after r114507 cannot build on msys - dup2 problem Jarek Czekalski
2013-10-31 18:17 ` after r114507 cannot build on msys Eli Zaretskii
2013-10-31 18:57   ` after r114507 cannot build on msys - dup2 problem Jarek Czekalski
2013-10-31 19:22     ` Jarek Czekalski

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.