tramp-devel
[Top][All Lists]
Advanced

[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




reply via email to

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