help-gnu-emacs
[Top][All Lists]
Advanced

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

Re: Filename auto complete doesn't work in tramp mode


From: Ravi
Subject: Re: Filename auto complete doesn't work in tramp mode
Date: Thu, 23 May 2013 19:53:34 +0530

> Hi Ravi,
>
​Hi Michael,​



> Thanks for this. In fact, "M-x base64-decode-region" in an Emacs buffer
> is sufficient :-)
>
​Gee! Emacs rocks !



> Well, it looks like there is a Perl problem on your remote host. Tramp
> checks for Perl versions, but it might not be good enough in your case.
>
> What happens, if you call the following in a remote shell on that host:
>
> --8<---------------cut here---------------start------------->8---
> which \perl5
> --8<---------------cut here---------------end--------------->8---
>

​I get "/usr/local/bin/perl5​". But this is broken, because of a missing
library:

$ ldd /usr/local/redhat/packages/local/bin/perl5.00503
        linux-gate.so.1 =>  (0xffffe000)
        libnsl.so.1 => /lib/libnsl.so.1 (0x00bf1000)
        libdb.so.3 => not found
        libgdbm.so.2 => /usr/lib/libgdbm.so.2 (0xf7eb1000)
        libdl.so.2 => /lib/libdl.so.2 (0x00810000)
        libm.so.6 => /lib/libm.so.6 (0x00833000)
        libc.so.6 => /lib/libc.so.6 (0x006b4000)
        libcrypt.so.1 => /lib/libcrypt.so.1 (0xf7e7e000)
        /lib/ld-linux.so.2 (0x00691000)

​And it will error out as:

"error while loading shared libraries: libdb.so.3: cannot open shared
object file: No such file or directory"​



> And if it looks trustworthy, please call the following in the remote
> shell:
>
> --8<---------------cut here---------------start------------->8---
> ​​
> \perl
> ​5​
> -e 'sub case {
>  my $str = shift;
>  if ($ARGV[2]) {
>   return lc($str);
>  }
>  else {
>   return $str;
>  }
> }
> opendir(d, $ARGV[0]) || die("$ARGV[0]: $!\nfail\n");
> @files = readdir(d); closedir(d);
> foreach $f (@files) {
>  if (case(substr($f, 0, length($ARGV[1]))) eq case($ARGV[1])) {
>   if (-d "$ARGV[0]/$f") {
>    print "$f/\n";
>   }
>   else {
>    print "$f\n";
>   }
>  }
> }
> print "ok\n"
> ' /home/ '' 0
> --8<---------------cut here---------------end--------------->8---
>

​If I run the snippet with perl5 replaced with perl it will run fine with
following output:

./
../
username/
ok
​
​Yeah! now we know Perl package is the problem. What I have to do so that
tram uses "perl" instead of "perl5". You really helped in pinpointing the
issue with great precision!

Best regards, Michael.
>

​Thanks and Regards,
Ravi​


reply via email to

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