[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: To stupid to install tramp...
From: |
Sven Utcke |
Subject: |
Re: To stupid to install tramp... |
Date: |
Mon, 14 Jul 2003 12:14:41 +0200 |
User-agent: |
Mutt/1.4i |
Hello Kai,
not sure whether to keep this on the list or not, but for now I'll
just do so...
> > However, it is a bit dated, so I decided to install 2.0.35 instead.
> > It took me a while to figure out that GNU make 3.74 was to old to
> > use, but now, with 3.80, I can at least run make. I tried to
> > install for the following emacsen:
>
> It needs a new make? Oh. I didn't know that. Hm. Is it obvious
> what to do with older makes?
Not to me. Indeed, my first thought had been: "Why, this Makefile
doesn't contain any proper install rule at all", and if I hadn't come
up with the idea to try a newer make (which I happened to have lying
around) I might still think so. Let's see what happenes:
kogs2>/software/tramp-2.0.35/tramp-2.0.35% ./configure --with-emacs
--prefix=/software/tramp-2.0.35
--with-lispdir=/software/tramp-2.0.35/share/emacs/21.1/site-lisp
configure: Tramp 2.0.35
checking whether make sets $(MAKE)... yes
checking for emacs... emacs
checking for the Emacs flavor... emacs
checking for makeinfo... makeinfo
checking for reasonable makeinfo version... ok
checking for texi2dvi... texi2dvi
checking for reasonable texi2dvi version... ok
checking prefix... /software/tramp-2.0.35
checking datadir... ${prefix}/share
checking lispdir... /software/tramp-2.0.35/share/emacs/21.1/site-lisp
checking infodir... $(prefix)/info
checking for installation chapter... texi/trampinst.texi
configure: creating ./config.status
config.status: creating Makefile
config.status: creating contrib/Makefile
config.status: creating lisp/Makefile
config.status: creating lisp/trampver.el
config.status: creating texi/Makefile
config.status: creating texi/trampver.texi
Ok, let's have a look at the relevant sections of the Makefile:
DIRS = lisp texi $(if $(USE_CONTRIB), contrib)
.SILENT: all install clean info
.PHONY: all install clean distclean info tags \
maintainer-clean cvstag MANIFEST tar xemacs \
emacs dist install-html savannah cvs-update
all install: $(CONFIG_FILES)
for a in ${DIRS}; do \
$(MAKE) -C $$a "EMACS=$(EMACS)" \
"EMACS_INFO=$(EMACS_INFO)" $(MAKECMDGOALS); \
done
So, this is supposed to go into lisp and texi and --- hmm, do a make
there? Or what is the contents of $(MAKE)? Maybe there's a "make
install" in there? Ok, let's see what
kogs2>/software/tramp-2.0.35/tramp-2.0.35% make -v
GNU Make version 3.74, by Richard Stallman and Roland McGrath.
Copyright (C) 1988, 89, 90, 91, 92, 93, 94, 95 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.
does:
kogs2>/software/tramp-2.0.35/tramp-2.0.35% make
[...]
kogs2>/software/tramp-2.0.35/tramp-2.0.35% make install
make[1]: Entering directory `/software/tramp-2.0.35/tramp-2.0.35/lisp'
make[1]: Nothing to be done for `all'.
make[1]: Leaving directory `/software/tramp-2.0.35/tramp-2.0.35/lisp'
make[1]: Entering directory `/software/tramp-2.0.35/tramp-2.0.35/texi'
make[1]: Nothing to be done for `all'.
make[1]: Leaving directory `/software/tramp-2.0.35/tramp-2.0.35/texi'
Ok, so quite obviously $(MAKE) contains either "make" or "make all",
but not "make install". So what would
kogs2>/software/tramp-2.0.35/tramp-2.0.35% make -v
GNU Make 3.80
Copyright (C) 2002 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.
do?
kogs2>/software/tramp-2.0.35/tramp-2.0.35% make install -n
for a in lisp texi ; do \
make -C $a "EMACS=emacs" \
"EMACS_INFO=emacs" install; \
done
make[1]: Entering directory `/software/tramp-2.0.35/tramp-2.0.35/lisp'
install -m644 tramp-efs.el tramp-ftp.el tramp-smb.el tramp-util.el tramp-uu.el
tramp-vc.el tramp.el trampcache.el trampver.el tramp-efs.elc tramp-ftp.elc
tramp-smb.elc tramp-util.elc tramp-uu.elc tramp-vc.elc tramp.elc trampcache.elc
trampver.elc /software/tramp-2.0.35/share/emacs/21.1/site-lisp
make[1]: Leaving directory `/software/tramp-2.0.35/tramp-2.0.35/lisp'
make[1]: Entering directory `/software/tramp-2.0.35/tramp-2.0.35/texi'
install -m644 ../info/tramp /software/tramp-2.0.35/info
make[1]: Leaving directory `/software/tramp-2.0.35/tramp-2.0.35/texi'
Looks better --- apparently $(MAKE) now contains "make install". So
somewhere between 3.74 and 3.80 this behavious changed...
So make install now works (this is for Emacs 21.1, and after I create
the directories by hand), but:
kogs2>/software/tramp-2.0.35/tramp-2.0.35% ls -l /software/tramp-2.0.35/info
total 174
-rw-r--r-- 1 utcke tvp 88396 Jul 14 11:45 tramp
Hmm, we're mising a dir-file here, so better run
kogs2>/software/tramp-2.0.35/tramp-2.0.35% install-info
/software/tramp-2.0.35/info/tramp /software/tramp-2.0.35/info/dir
kogs2>/software/tramp-2.0.35/tramp-2.0.35% ls -l /software/tramp-2.0.35/info
total 176
-rw-r--r-- 1 utcke tvp 701 Jul 14 11:47 dir
-rw-r--r-- 1 utcke tvp 88396 Jul 14 11:45 tramp
BTW, you might be wondering how I managed to create the info-file?
What happened to
> > [7] [8] (./tramp.tmp) (./tramp.tmp) (./tramp.tmp) (./tramp.tmp)
> > (./tramp.tmp)
> > (./tramp.tmp) (./tramp.tmp) (./tramp.tmp) [9] (./tramp.tmp) (./tramp.tmp)
> > (./tramp.tmp)
> > ! Missing number, treated as zero.
> > <to be read again>
> > @unhbox
> > @leavevmode ->@unhbox
> > @address@hidden
> > ->@leavevmode
> > @penalty @tiepenalty @
> > [...]
> > (see the transcript file for additional information)
> > Output written on tramp.dvi (48 pages, 98924 bytes).
> > Transcript written on tramp.log.
> > /software/texinfo-4.5/SunOS-5.8/bin/texi2dvi: tex exited with bad status,
> > quitti
> > ng.
>
> Ayee. I thought Texinfo 4.5 would be sufficiently recent?
>
> I don't get this error with Texinfo 4.3, and from the above, I can't
> say which line it might be in.
Well, surprisingly enough this error only happenes with the never make
of the two, the relevant part of the error is:
make[1]: Entering directory `/software/tramp-2.0.35/tramp-2.0.35/texi'
makeinfo --no-split --footnote-style=end -D emacs -o ../info/tramp tramp.texi
texi2dvi -b -c -t "@set emacs" tramp.texi
This is TeX, Version 3.14159 (Web2C 7.4.5)
(/tmp/t2d29305/xtr/tramp.texi
(/software/teTeX-2.0.2/texmf/tex/texinfo/texinfo.tex
Loading texinfo [version 2003-02-03.16]: Basics, pdf, fonts, page headings,
tables, conditionals, indexing, sectioning, toc, environments, defuns, macros,
cross references, (/software/teTeX-2.0.2/texmf/tex/generic/misc/epsf.tex)
localization, and turning on texinfo input format.)
(/software/tramp-2.0.35/tramp-2.0.35/texi/trampver.texi
WARNING: for users of Unix TeX 3.0!
This manual trips a bug in TeX version 3.0 (tex hangs).
If you are running another version of TeX, relax.
If you are running Unix TeX 3.0, kill this TeX process.
Then upgrade your TeX installation if you can.
(See ftp://ftp.gnu.org/non-gnu/TeX.README.)
If you are stuck with version 3.0, run the
script ``tex3patch'' from the Texinfo distribution
to use a workaround.
) (./tramp.tmp) (./tramp.tmp) [1] [2] Chapter 1 (./tramp.tmp) (./tramp.tmp)
(./tramp.tmp) (./tramp.tmp) (./tramp.tmp) (./tramp.tmp) (./tramp.tmp)
(./tramp.tmp) (./tramp.tmp)
Cross reference values unknown; you must run TeX again. (./tramp.tmp)
(./tramp.tmp) (./tramp.tmp) (./tramp.tmp) (./tramp.tmp) (./tramp.tmp)
(./tramp.tmp) [1] (./tramp.tmp) (./tramp.tmp) (./tramp.tmp) (./tramp.tmp)
(./tramp.tmp) (./tramp.tmp) (./tramp.tmp) (./tramp.tmp) (./tramp.tmp)
(./tramp.tmp) (./tramp.tmp)
Underfull \hbox (badness 10000) in paragraph at lines 333--337
address@hidden For in-line trans-fers, @textsc tramp @textrm is-sues a
com-mand lik
e address@hidden mimencode -b
Underfull \hbox (badness 10000) in paragraph at lines 333--337
@texttt /path/to/remote/address@hidden '[], waits un-til the out-put has ac-cu-
mu-lated in the
(./tramp.tmp) (./tramp.tmp) [2] (./tramp.tmp) Chapter 2 (./tramp.tmp) [3]
[4] (./tramp.tmp) (./tramp.tmp) (./tramp.tmp) (./tramp.tmp) (./tramp.tmp)
(./tramp.tmp) (./tramp.tmp) (./tramp.tmp) Chapter 3 (./tramp.tmp) [5] [6]
(./tramp.tmp) (./tramp.tmp) (./tramp.tmp) (./tramp.tmp Chapter 4 (./tramp.tmp)
[7] [8] (./tramp.tmp) (./tramp.tmp) (./tramp.tmp) (./tramp.tmp) (./tramp.tmp)
(./tramp.tmp) (./tramp.tmp) (./tramp.tmp) [9] (./tramp.tmp) (./tramp.tmp)
(./tramp.tmp)
! Missing number, treated as zero.
<to be read again>
@unhbox
@leavevmode ->@unhbox
@address@hidden
->@leavevmode
@penalty @tiepenalty @
l.138 (add-to-list 'load-path address@hidden
@ttfam @tentt @char 34}~/@value{emacs-di...
! Missing number, treated as zero.
<to be read again>
@unhbox
@leavevmode ->@unhbox
@address@hidden
->@leavevmode
@penalty @tiepenalty @
l.138 ...ist 'load-path address@hidden @ttfam @tentt @char
34}~/@value{emacs-dir}/tra...
! Missing number, treated as zero.
And so on. So why doesn't this happen with the older make?
make[1]: Entering directory `/software/tramp-2.0.35/tramp-2.0.35/texi'
makeinfo --no-split --footnote-style=end -D emacs -o ../info/tramp tramp.texi
makeinfo --no-split --html -D emacs -o tramp-emacs.html tramp.texi
makeinfo --no-split --html -D xemacs -o tramp-xemacs.html tramp.texi
Hmm, looks like the older make never tries to run texi2dvi, which btw
is:
kogs2>/software/tramp-2.0.35/tramp-2.0.35% texi2dvi -v
texi2dvi (GNU Texinfo 4.5) 1.14
Copyright (C) 2003 Free Software Foundation, Inc.
There is NO warranty. You may redistribute this software
under the terms of the GNU General Public License.
For more information about these matters, see the files named COPYING.
> > make USE_CONTRIB=1 all
> > [...]
> > emacs --no-site-file -batch --eval "(add-to-list 'load-path \".\")" --eval
> > "(ad
> > d-to-list 'load-path \"../contrib\")" -f batch-byte-compile tramp-efs.el
> > While compiling toplevel forms in file
> > /software/tramp-2.0.34/tramp-2.0.34/lisp/
> > tramp-efs.el:
> > !! Args out of range ((1 33))
> > Done
> > make[1]: *** [tramp-efs.elc] Error 1
>
> It shouldn't try to compile tramp-efs, that's for XEmacs only. But
> it is obvious, now that I look at the Makefiles, that it does try to
> compile tramp-efs even for Emacs. Hm. What to do?
Hmm, at least for emacs 21.1 I can not currently recreate that error,
so I say we postpone this until I get 21.1 up and running.
> > xemacs --no-site-file -batch --eval "(add-to-list 'load-path \".\")"
> > --eval "(a
> > dd-to-list 'load-path \"../contrib\")" -f batch-byte-compile tramp.el
> > Compiling /software/tramp-2.0.34/tramp-2.0.34/lisp/tramp.el...
> > While compiling toplevel forms in file
> > /software/tramp-2.0.34/tramp-2.0.34/lisp/
> > tramp.el:
> > !! File error (("Cannot open load file" "timer"))
> > Done
> > [...]
>
> I know about this one :-) However, I forget the details.
>
> I /think/ you just need to install the fsf-compat package, but it's
> also possible that Tramp doesn't work at all in XEmacs 20.
Ok, I just forget about xemacs 20.4, not most likely noone is using
that anyway...
> > Now, with emacs 21.1 I can actually run the make, but the install
> > fails, as it expects the target directories to exist.
>
> I've now added "mkdir -p" to the install rule in lisp/Makefile.in. I
> will commit it when I have Net access again.
Thanks. The same of course goes for the info directory.
> > But --- Emacs seems unable to see the connection which actually exists
> > (it times out after 60s, even though the *tramp...* buffer shows me
> > that I did log in).
>
> I suspect a prompt regexp problem. I guess that Tramp is logging in
> to the remote host and then looking for the prompt, but it can't find
> the prompt for one reason or another. For this, the *tramp/foo* and
> the *debug tramp/foo* buffers would be highly useful.
I'll submit a formal bug-report in a seperate mail.
> > And xemacs 21.1? It tries to make an ftp-connection...
>
> Under XEmacs, Tramp uses a different filename format by default.
> Instead of /method:address@hidden:/some/file, use
> /[method/address@hidden/some/file, the square brackets are part of the
> filename syntax.
Ups. Ok, let's see...
Jepp, sure enough, this runs tramp, but then of course suffers from
the same problem as emacs, namely it doesn't recognise that it logged
in. BTW, this is what the *tramp/ssh kogs1* buffer looks like:
--- snip ---
Last login: Mon Jul 14 12:03:19 2003 from kogs2.informatik
Sun Microsystems Inc. SunOS 5.8 Generic Patch October 2001
You have new mail.
kogs1>/home/utcke%
--- snip ---
> You could also play the guinea pig for me and (setq
> tramp-unified-filenames t) before loading Tramp. Then it will use
> Emacs-style filenames under XEmacs, too. Some kludgery is required
> to work around EFS's strong XEmacs integration, that's why it isn't
> the default, yet.
Well, I'll give it a quick run: ... yep, same result, so it seems to
work in principle...
> > Well, I guess I'm doing something very, very stupid --- but what? It
> > must be obvious, since I'm the first to ask, but I simply have no clue
> > as to what the reason could be.
>
> As you can see from my attempts, you aren't doing anything stupid at
> all. Rather, you have really excercised Tramp a lot and uncovered
> lots of bugs, old and new.
Well, I guess what baffled me is that with the older versions of tramp
(or emacs-rcp, or whatever it was called before that) I newer had any
problems at all, so I figured that this time round I must be doing
something stupid. But maybe it's just that the more faetures a
package has, the easier it is to break...
Thanks
Sven
--
_ __ The Cognitive Systems Group
| |/ /___ __ _ ___ University of Hamburg
| ' </ _ \/ _` (_-< phone: +49 (0)40 42883-2576 Vogt-Koelln-Strasse 30
|_|\_\___/\__, /__/ fax : +49 (0)40 42883-2572 D-22527 Hamburg
|___/ http://kogs-www.informatik.uni-hamburg.de/~utcke/home.html