emacs-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Building cvs emacs on a dual-core machine


From: Eric Lilja
Subject: Re: Building cvs emacs on a dual-core machine
Date: Thu, 21 Dec 2006 01:14:45 +0100
User-agent: Thunderbird 1.5.0.9 (Windows/20061207)

Eli Zaretskii wrote:
From: Eric Lilja <address@hidden>
Date: Wed, 20 Dec 2006 22:03:56 +0100

Ok, here's where it errors out (same with --jobs=2 and --jobs=4):
gcc -I. -DWIN32_LEAN_AND_MEAN -D_WIN32_WINNT=0x0400 -D_X86_=1 -c -mno-cygwin -mtune=pentium4 -O2 -Di386 -D_CRTAPI1
=_cdecl    -o oo-spd/i386/preprep.o preprep.c
gcc -o oo-spd/i386/preprep.exe \
                     -mno-cygwin  oo-spd/i386/preprep.o

Essential Lisp files seem to be missing.  You should either
do `make bootstrap' or create `lisp/abbrev.elc' somehow.

mingw32-make: *** [maybe-bootstrap-SH] Error 255

Yes, sorry, I'm on Windows.

That's an important piece of knowledge ;-)

What version of Make do you have?  What does "mingw32-make --version"
print?  The --jobs option started to work correctly on Windows only in
the latest version 3.81 of GNU Make.  If you don't have that version
of Make, --jobs will be very unreliable on Windows.

$ mingw32-make --version
GNU Make 3.81
Copyright (C) 2006  Free Software Foundation, Inc.
This is free software; see the source for copying conditions.
There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A
PARTICULAR PURPOSE.

This program built for i686-pc-mingw32


Also, note that, since the jobserver feature in Make is currently not
suppoorted on Windows, the sub-Make's are invoked with the implied
"--jobs=1" option, in effect defeating parallelism in recusrive Make
invocations.  You will have to tweak the recursive Make invocations in
the Makefile's to explicitly pass the --jobs=2 option to recursive
Make's, in order to see parallelism in subdirectories.

Also, what port of sh.exe do you have?

$ sh.exe --version
GNU bash, version 3.2.9(10)-release (i686-pc-cygwin)
Copyright (C) 2005 Free Software Foundation, Inc.


You mentioned build log, what else information can I provide to help track this problem down?

Instead of just "mingw32-make --jobs=4 bootstrap" run this command
(from the CMD prompt):

   mingw32-make --jobs=4 --debug=j bootstrap 2>&1 | tee build.txt

The file build.txt will then capture all the output of the build
session; post that file here.

(I assume that you have a port of GNU `tee'; if not, you will have to
install it, or capture the session output in some other way.)

I see already a few problems with --jobs related to Windows, but I'd
like to see the information requested above to make sure I don't miss
anything.

I ran it and I'm attaching build.txt, but I ran it from TCI running bash instead of a regular cmd prompt, hope that I still was able to provide you with the information you needed.


TIA

- Eric
GNU Make 3.81
Copyright (C) 2006  Free Software Foundation, Inc.
This is free software; see the source for copying conditions.
There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A
PARTICULAR PURPOSE.

This program built for i686-pc-mingw32
CreateProcess(C:\cygwin\bin\echo.exe,echo,...)
CreateProcess(C:\cygwin\bin\sh.exe,C:/cygwin/bin/sh.exe -c "echo [Please ignore 
a syntax error on the next line - it is intentional] 1>&2",...)
[Please ignore a syntax error on the next line - it is intentional]
CreateProcess(C:\cygwin\bin\sh.exe,C:/cygwin/bin/sh.exe -c "echo foo\"",...)
/usr/bin/sh: -c: line 0: unexpected EOF while looking for matching `"'
/usr/bin/sh: -c: line 1: syntax error: unexpected end of file
mkdir "oo-spd"
CreateProcess(C:\cygwin\bin\sh.exe,C:/cygwin/bin/sh.exe -c "mkdir 
\"oo-spd\"",...)
Putting child 0x009e7808 (oo-spd) PID 10413920 on the chain.
CreateProcess(C:\cygwin\bin\echo.exe,echo Using C:/cygwin/bin/sh.exe as 
shell.,...)
Putting child 0x009ef2c8 (which-sh) PID 10425384 on the chain.
Using C:/cygwin/bin/sh.exe as shell.
CreateProcess(C:\cygwin\bin\sh.exe,C:/cygwin/bin/sh.exe -c "if [ ! -f 
../lisp/abbrev.elc ] ; then \
  echo; \
  echo \"Essential Lisp files seem to be missing.  You should either\"; \
  echo \"do \`make bootstrap' or create \`lisp/abbrev.elc' somehow.\";  \
  echo; \
  exit -1; \
fi",...)
Putting child 0x009f2df0 (maybe-bootstrap-SH) PID 10441560 on the chain.
Live child 0x009f2df0 (maybe-bootstrap-SH) PID 10441560 
Live child 0x009ef2c8 (which-sh) PID 10425384 
Live child 0x009e7808 (oo-spd) PID 10413920 
Reaping winning child 0x009ef2c8 PID 10425384 
Removing child 0x009ef2c8 PID 10425384 from chain.
Live child 0x009f2df0 (maybe-bootstrap-SH) PID 10441560 
Live child 0x009e7808 (oo-spd) PID 10413920 

Essential Lisp files seem to be missing.  You should either
do `make bootstrap' or create `lisp/abbrev.elc' somehow.

Reaping winning child 0x009e7808 PID 10413920 
Removing child 0x009e7808 PID 10413920 from chain.
mkdir "oo-spd/i386"
CreateProcess(C:\cygwin\bin\sh.exe,C:/cygwin/bin/sh.exe -c "mkdir 
\"oo-spd/i386\"",...)
Putting child 0x009f0f98 (oo-spd/i386) PID 10413920 on the chain.
Live child 0x009f0f98 (oo-spd/i386) PID 10413920 
Live child 0x009f2df0 (maybe-bootstrap-SH) PID 10441560 
Reaping losing child 0x009f2df0 PID 10441560 
mingw32-make: *** [maybe-bootstrap-SH] Error 255
Removing child 0x009f2df0 PID 10441560 from chain.
mingw32-make: *** Waiting for unfinished jobs....
Live child 0x009f0f98 (oo-spd/i386) PID 10413920 
Reaping winning child 0x009f0f98 PID 10413920 
Removing child 0x009f0f98 PID 10413920 from chain.

reply via email to

[Prev in Thread] Current Thread [Next in Thread]