unofficial mirror of help-gnu-emacs@gnu.org
 help / color / mirror / Atom feed
* Re: Building emacs 22.3 with djgpp 2.04 beta/Windows XP SP3 MCE 2005
       [not found] <uk59r263h.fsf@earthlink.net>
@ 2008-12-23  4:12 ` Eli Zaretskii
       [not found] ` <mailman.3262.1230005534.26697.help-gnu-emacs@gnu.org>
  1 sibling, 0 replies; 8+ messages in thread
From: Eli Zaretskii @ 2008-12-23  4:12 UTC (permalink / raw)
  To: help-gnu-emacs

> From: Allan <mu8ja0i@earthlink.net>
> Date: Mon, 22 Dec 2008 16:33:06 -0600
> 
> I have been using emacs 22.3 Windows binaries up to now but I decided to
> try building from source code using djgpp 2.04 beta on a Windows XP
> Media Center Edition 2005 SP3 platform. My first small difficulty was in
> running the MS-DOS configuration script `config.bat'. It did not
> recognize that I had `djecho.exe' installed. Here is the output from the
> command window:
> D:\emacs-22.3>config.bat --no-debug msdos
> Checking whether 'sed' is available...
> Checking whether 'rm' is available...
> Checking whether 'mv' is available...
> Checking whether 'gcc' is available...
> Checking what version of DJGPP is installed...
> Checking whether 'djecho' is available...
> The Vdm Redirector is already loaded

This problem is explained in the file etc/PROBLEMS:

    *** When compiling with DJGPP on MS-Windows NT, "config msdos" fails.

    If the error message is "VDM has been already loaded", this is because
    Windows has a program called `redir.exe' that is incompatible with a
    program by the same name supplied with DJGPP, which is used by
    config.bat.  To resolve this, move the DJGPP's `bin' subdirectory to
    the front of your PATH environment variable.

> I was able to fix the script by commenting out the test and bypassing
> the error message displayed and configured the makefile. Then I
> encountered a problem which I cannot fix by myself. When I run the make
> command it says that some .elc files are missing and that I need to run
> `make bootstrap'.

That is very strange: building an official release should not require
a bootstrap.  Did you build the official emacs-22.3.tar.gz
distribution, or did you get your sources in some other way?  Did you
perhaps delete all the *.elc files somehow, e.g. by running Make with
some target that cleans too much?

> However when I run `make bootstrap' it also generates an error as
> follows:
> Dumping under the name emacs
> 59775 pure bytes used
> mv -f emacs b-emacs
> stubify b-emacs
> stubedit b-emacs.exe minstack=1024k
> rm -f emacs.exe temacs.exe emacs
> make.exe[1]: Leaving directory `d:/emacs-22.3/src'
> cd lisp; c:/djgpp204/bin/make.exe  bootstrap EMACS=d:/emacs-22.3/src/b-emacs.exe
>  lisp=d:/emacs-22.3/lisp; cd ..
> make.exe[1]: Entering directory `d:/emacs-22.3/lisp'
> wd=d:/emacs-22.3/lisp; subdirs=`(cd $wd; find . -type d -print)`; for file in $s
> ubdirs; do case $file in */Old | */RCS | */CVS | */CVS/* | */.* | */.*/* | */=*
> ) ;; *) wins="$wins $wd/$file" ;; esac; done; \
>         for file in $wins; do \
>            ./../update-subdirs $file; \
>         done;
> Bad command or file name
> Bad command or file name
> FIND: Parameter format not correct

This happens because you either don't have the DJGPP port of GNU Find
program, or again because the Windows find.exe (a totally different
program) is found on PATH before the GNU find.exe.

> make.exe[1]: *** No rule to make target `../lisp/abbrev.elc', needed by `../etc/
> DOC'.  Stop.
> make.exe[1]: Leaving directory `d:/emacs-22.3/src'
> make.exe: *** [src] Error 2

This is the consequence of the previous problem.

Btw, Emacs 22.x has several bugs in the DJGPP build, so I encourage
you to try the CVS version of the upcoming Emacs 23, where these
problems are resolved.




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

* Re: Building emacs 22.3 with djgpp 2.04 beta/Windows XP SP3 MCE 2005
       [not found]   ` <u3afz33pj.fsf@earthlink.net>
@ 2009-01-04 16:56     ` Eli Zaretskii
       [not found]     ` <mailman.3919.1231088164.26697.help-gnu-emacs@gnu.org>
  1 sibling, 0 replies; 8+ messages in thread
From: Eli Zaretskii @ 2009-01-04 16:56 UTC (permalink / raw)
  To: help-gnu-emacs

> From: Allan <mu8ja0i@earthlink.net>
> Date: Sun, 04 Jan 2009 01:55:36 -0600
> 
> I took your suggestions and was able to get an acceptable (but maybe not
> perfect) build. I had to run `make bootstrap' before I could get it to
> build

That's strange.  I suspect something went wrong when unpacking the
distro, or perhaps you inadvertently deleted all *.elc files in one of
your previous attempts.

> Directory ././erc Directory ././eshell Directory ././gnus Directory
> ././international Directory ././language Cannot open load file:
> composite make.exe[1]: *** [custom-deps] Error -1 make.exe[1]: Leaving
> directory `d:/emacs-22.3/lisp' make.exe: *** [bootstrap] Error 2

I don't think I tried a full bootstrap in Emacs 22.x for a long time;
it's possible that something broke since I last did.  The DJGPP build
of Emacs 22 was not maintained for several years, so it's quite
possible that it bit-rotted.

> D:\emacs-22.3> ...  
> But after this when I ran `make all' it did create
> the executables except for `movemail'. I am still having a problem with
> the `_emacs' initialization file even though I have set the `HOME'
> environment variable to the Windows XP convention default. It says user
> `dosuser' has no `HOME' environment variable defined.

That's a known problem in Emacs 22.3; it is corrected in the
development sources for the upcoming Emacs 23 release.  To fix this in
Emacs 22.3, apply the patch below, then byte-compile startup.el and
say "make install" in the top-level directory to rebuild Emacs.

(In case you didn't know, to byte-compile startup.el, chdir to the
`lisp' subdirectory and type "make startup.elc".)


Index: lisp/startup.el
===================================================================
RCS file: /cvsroot/emacs/emacs/lisp/startup.el,v
retrieving revision 1.520
diff -u -r1.520 startup.el
--- lisp/startup.el	4 Nov 2008 16:54:25 -0000	1.520
+++ lisp/startup.el	8 Nov 2008 13:13:33 -0000
@@ -977,13 +977,15 @@
 				   init-file-user)
 			   :error)
 	(if (file-directory-p (expand-file-name
-			       ;; We don't support ~USER on MS-Windows except
-			       ;; for the current user, and always load .emacs
-			       ;; from the current user's home directory (see
-			       ;; below).  So always check "~", even if invoked
-			       ;; with "-u USER", or if $USER or $LOGNAME are
-			       ;; set to something different.
-			       (if (eq system-type 'windows-nt)
+			       ;; We don't support ~USER on MS-Windows
+			       ;; and MS-DOS except for the current
+			       ;; user, and always load .emacs from
+			       ;; the current user's home directory
+			       ;; (see below).  So always check "~",
+			       ;; even if invoked with "-u USER", or
+			       ;; if $USER or $LOGNAME are set to
+			       ;; something different.
+			       (if (memq system-type '(windows-nt ms-dos))
 				   "~"
 				 (concat "~" init-file-user))))
 	    nil




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

* Re: Building emacs 22.3 with djgpp 2.04 beta/Windows XP SP3 MCE 2005
       [not found]       ` <uk598wcf1.fsf@earthlink.net>
@ 2009-01-06 20:56         ` Eli Zaretskii
       [not found]         ` <mailman.4154.1231275410.26697.help-gnu-emacs@gnu.org>
  1 sibling, 0 replies; 8+ messages in thread
From: Eli Zaretskii @ 2009-01-06 20:56 UTC (permalink / raw)
  To: help-gnu-emacs

> From: Allan <mu8ja0i@earthlink.net>
> Date: Tue, 06 Jan 2009 11:51:30 -0600
> 
> The build went fine but there is still an error when I run make
> install:
> (snip...)  c:/djgpp204/bin/make.exe
> top_srcdir=d:/emacs-22.3 info make.exe[1]: Entering directory
> `d:/emacs-22.3/lispintro' make.exe[1]: Nothing to be done for
> `info'.  make.exe[1]: Leaving directory `d:/emacs-22.3/lispintro' cd
> ..  if not exist bin\nul md bin Extended Error 183

If you mean this last line, then it's harmless (cmd.exe does not
support the trick of detecting whether a directory exists by checking
if a ``file'' named NUL exists in it).  Just ignore that error
message.

> To install your edits, invoke [State] and choose the Set operation 
> Use M-x make-directory RET RET to create the directory and its parents
> basic-save-buffer-2: c:/Documents and Settings/User0/Application
> Data/~dosuser/: no such directory

When is this error message shown? when you click on [State]?  Also,
what is your HOME environment variable set to?  Please give me a
complete recipe for reproducing this, so I could see how to fix it.

> I was hoping to test the patch for lisp-mode but I think this problem
> has to do with DJGPP. (The bug in lisp-mode was similarly that settings
> could not be set nor saved to the .emacs initialization file.)

You can always save them manually, by editing .emacs yourself, until I
find the problem and fix it.




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

* Re: Building emacs 22.3 with djgpp 2.04 beta/Windows XP SP3 MCE 2005
       [not found]           ` <uk593bzg1.fsf@earthlink.net>
@ 2009-01-10 14:54             ` Eli Zaretskii
       [not found]             ` <mailman.4506.1231599264.26697.help-gnu-emacs@gnu.org>
  1 sibling, 0 replies; 8+ messages in thread
From: Eli Zaretskii @ 2009-01-10 14:54 UTC (permalink / raw)
  To: help-gnu-emacs

> From: Allan <mu8ja0i@earthlink.net>
> Date: Fri, 09 Jan 2009 21:41:02 -0600
> 
> >> To install your edits, invoke [State] and choose the Set operation 
> >> Use M-x make-directory RET RET to create the directory and its parents
> >> basic-save-buffer-2: c:/Documents and Settings/User0/Application
> >> Data/~dosuser/: no such directory
> >
> > When is this error message shown? when you click on [State]?  Also,
> > what is your HOME environment variable set to?  Please give me a
> > complete recipe for reproducing this, so I could see how to fix it.
> The value of `HOME' is "c:\Documents and Settings\User0\Application
> Data". Whenever you try to change the initialization buffer either from
> the startup menu or through the customization group menu you then see a
> menu which allows you to either "set" for the current session or "save"
> for future sessions. When I "save" for future sessions sometimes the
> message differs from the above only that instead of the HOME directory
> it references "d:/emacs-22.3/bin/~dosuser".

I think this is due to some messup with your user name as Emacs sees
it in your setup.  Please tell me what these two commands print:

  M-: (user-login-name) RET
  M-: (user-real-login-name) RET




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

* Re: Building emacs 22.3 with djgpp 2.04 beta/Windows XP SP3 MCE 2005
       [not found]               ` <ur61ru3zr.fsf@earthlink.net>
@ 2009-02-21 18:51                 ` Eli Zaretskii
  2009-02-21 20:06                   ` Eli Zaretskii
       [not found]                   ` <mailman.1408.1235246789.31690.help-gnu-emacs@gnu.org>
  2009-02-21 18:51                 ` Eli Zaretskii
  1 sibling, 2 replies; 8+ messages in thread
From: Eli Zaretskii @ 2009-02-21 18:51 UTC (permalink / raw)
  To: help-gnu-emacs

> From: Allan <mu8ja0i@earthlink.net>
> Date: Sat, 21 Feb 2009 10:52:24 -0600
> 
> Eli Zaretskii <eliz@gnu.org> writes:
> > I think this is due to some messup with your user name as Emacs sees
> > it in your setup.  Please tell me what these two commands print:
> >
> >   M-: (user-login-name) RET
> "dosuser"
> >   M-: (user-real-login-name) RET
> "<Windows user name>" : I verified this by logging into two different
> accounts.

That is the reason: the two should be identical to avoid the problem.
Does it help to define the environment variable LOGNAME whose value is
the same as the Windows user name, before starting Emacs?

> I also tried adding to my .emacs this line :
> ...  
> (setq user-login-name user-real-login-name)
> ...
> but it made no difference.

This won't necessarily help, since user-real-login-name might be nil
(not yet initialized) when Emacs processes that line in your .emacs.
Setting LOGNAME in the environment should solve the problem in a more
consistent and predictable way.




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

* Re: Building emacs 22.3 with djgpp 2.04 beta/Windows XP SP3 MCE 2005
       [not found]               ` <ur61ru3zr.fsf@earthlink.net>
  2009-02-21 18:51                 ` Eli Zaretskii
@ 2009-02-21 18:51                 ` Eli Zaretskii
  1 sibling, 0 replies; 8+ messages in thread
From: Eli Zaretskii @ 2009-02-21 18:51 UTC (permalink / raw)
  To: help-gnu-emacs

> From: Allan <mu8ja0i@earthlink.net>
> Date: Sat, 21 Feb 2009 10:52:24 -0600
> 
> Eli Zaretskii <eliz@gnu.org> writes:
> > I think this is due to some messup with your user name as Emacs sees
> > it in your setup.  Please tell me what these two commands print:
> >
> >   M-: (user-login-name) RET
> "dosuser"
> >   M-: (user-real-login-name) RET
> "<Windows user name>" : I verified this by logging into two different
> accounts.

That is the reason: the two should be identical to avoid the problem.
Does it help to define the environment variable LOGNAME whose value is
the same as the Windows user name, before starting Emacs?

> I also tried adding to my .emacs this line :
> ...  
> (setq user-login-name user-real-login-name)
> ...
> but it made no difference.

This won't necessarily help, since user-real-login-name might be nil
(not yet initialized) when Emacs processes that line in your .emacs.
Setting LOGNAME in the environment should solve the problem in a more
consistent and predictable way.




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

* Re: Building emacs 22.3 with djgpp 2.04 beta/Windows XP SP3 MCE 2005
  2009-02-21 18:51                 ` Eli Zaretskii
@ 2009-02-21 20:06                   ` Eli Zaretskii
       [not found]                   ` <mailman.1408.1235246789.31690.help-gnu-emacs@gnu.org>
  1 sibling, 0 replies; 8+ messages in thread
From: Eli Zaretskii @ 2009-02-21 20:06 UTC (permalink / raw)
  To: help-gnu-emacs

> Date: Sat, 21 Feb 2009 20:51:03 +0200
> From: Eli Zaretskii <eliz@gnu.org>
> 
> Does it help to define the environment variable LOGNAME whose value is
> the same as the Windows user name, before starting Emacs?

Sorry, that was wrong.  (It's been a while since I researched this
problem, so I forgot the details.)  You need to make sure both USER
and USERNAME environment variables are set to the same value.  Windows
sets USERNAME, so if you want to keep that, make sure USER is set to
the same value.  If you don't want to set USER globally, you can do it
in the [emacs] section of your djgpp.env file.

> Setting LOGNAME in the environment should solve the problem in a more
> consistent and predictable way.

Again, I should have said "setting USER".




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

* Re: Building emacs 22.3 with djgpp 2.04 beta/Windows XP SP3 MCE 2005
       [not found]                     ` <u3ae7f24z.fsf@earthlink.net>
@ 2009-02-24 19:13                       ` Eli Zaretskii
  0 siblings, 0 replies; 8+ messages in thread
From: Eli Zaretskii @ 2009-02-24 19:13 UTC (permalink / raw)
  To: help-gnu-emacs

> From: Allan <mu8ja0i@earthlink.net>
> Date: Sat, 21 Feb 2009 23:53:48 -0600
> 
> Eli Zaretskii <eliz@gnu.org> writes:
> 
> >> Date: Sat, 21 Feb 2009 20:51:03 +0200
> >> From: Eli Zaretskii <eliz@gnu.org>
> >> 
> >> Does it help to define the environment variable LOGNAME whose value is
> >> the same as the Windows user name, before starting Emacs?
> >
> > Sorry, that was wrong.  (It's been a while since I researched this
> > problem, so I forgot the details.)  You need to make sure both USER
> > and USERNAME environment variables are set to the same value.  Windows
> > sets USERNAME, so if you want to keep that, make sure USER is set to
> > the same value.  If you don't want to set USER globally, you can do it
> > in the [emacs] section of your djgpp.env file.
> >
> >> Setting LOGNAME in the environment should solve the problem in a more
> >> consistent and predictable way.
> >
> > Again, I should have said "setting USER".
> >
> >
> I set the environment variables `USER' and `USERNAME' and it works now;
> I can save the _emacs file. Since I have .emacs also it is not hard to
> tell which one is for djgpp ("pc" window-system). I already knew about
> setting `USER' for the Windows version.
> Thanks for all the help.

I added a description of this problem and its solution to etc/PROBLEMS
for the next release.

Thanks for helping me find and diagnose this.




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

end of thread, other threads:[~2009-02-24 19:13 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
     [not found] <uk59r263h.fsf@earthlink.net>
2008-12-23  4:12 ` Building emacs 22.3 with djgpp 2.04 beta/Windows XP SP3 MCE 2005 Eli Zaretskii
     [not found] ` <mailman.3262.1230005534.26697.help-gnu-emacs@gnu.org>
     [not found]   ` <u3afz33pj.fsf@earthlink.net>
2009-01-04 16:56     ` Eli Zaretskii
     [not found]     ` <mailman.3919.1231088164.26697.help-gnu-emacs@gnu.org>
     [not found]       ` <uk598wcf1.fsf@earthlink.net>
2009-01-06 20:56         ` Eli Zaretskii
     [not found]         ` <mailman.4154.1231275410.26697.help-gnu-emacs@gnu.org>
     [not found]           ` <uk593bzg1.fsf@earthlink.net>
2009-01-10 14:54             ` Eli Zaretskii
     [not found]             ` <mailman.4506.1231599264.26697.help-gnu-emacs@gnu.org>
     [not found]               ` <ur61ru3zr.fsf@earthlink.net>
2009-02-21 18:51                 ` Eli Zaretskii
2009-02-21 20:06                   ` Eli Zaretskii
     [not found]                   ` <mailman.1408.1235246789.31690.help-gnu-emacs@gnu.org>
     [not found]                     ` <u3ae7f24z.fsf@earthlink.net>
2009-02-24 19:13                       ` Eli Zaretskii
2009-02-21 18:51                 ` Eli Zaretskii

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).