0

The requirement is to enable multi-te m support for emacs package. Bydefault in Ubuntu 18.04 default emacs coming with v25, but in this version, I'm unable to enable the multi-term support ( for more info - https://www.emacswiki.org/emacs/MultiTerm ) .

However I tried to compile the source file for emacs v24 and failed to make during the configure session and got stuck at this point.

Env: Ubuntu 18.04 4.15.0-29-generic

/usr/lib/x86_64-linux-gnu/libpthread_nonshared.a(pthread_atfork.oS): In function `__pthread_atfork':
/build/glibc-OTsEL5/glibc-2.27/nptl/pthread_atfork.c:51: undefined reference to `__dso_handle'
/usr/bin/ld: temacs: hidden symbol `__dso_handle' isn't defined
/usr/bin/ld: final link failed: Bad value
collect2: error: ld returned 1 exit status
Makefile:632: recipe for target 'temacs' failed
make[1]: *** [temacs] Error 1
make[1]: Leaving directory '/home/test/Downloads/emacs-24.3/src'
Makefile:334: recipe for target 'src' failed
make: *** [src] Error 2

Even I tested the same in Centos 7 for emacs bydefault coming with v24, in that i can see the multiterm enabled without any issues. But in Ubuntu 18.04 it failed to enable.

Is there any way can I pull the emacs v24 from any third party repository? I even tried so many but no luck.

Please shed me some views, how to proceed further the same in Ubuntu 18.04 or do I need to go back to Ubuntu 16.04 ?

I tried with the default version of emacs v25.2 in 18.04 and followed this one https://www.emacswiki.org/emacs/MultiTerm and got error as follows

$cat /home/test/.emacs (require 'multi-term) (setq multi-term-program "/bin/bash")

$ls -l /home/test/.emacs.d/multi-term.el

while retrieving emacs editor, getting error as follows

Warning (initialisation) An error occured while loading '/home/test/.emacs': File error: Cannot open load file, No such a file or directory, multiterm'

Please shed some views how to get rid of this?

Jay
  • 1
  • 1
  • You don't need to change Ubuntu version to have a different Emacs version. This ppa has latest version: https://launchpad.net/~ubuntu-elisp/+archive/ubuntu/ppa – Felipe Lema Jan 18 '19 at 15:31
  • multi-term is available in the melpa repository, which means you should be able to install it in the current Emacs release, rather than installing an out-of-date Emacs. If you explain what it means that you are "unable to enable the multi-term support", perhaps we can fix that problem. – Tyler Jan 18 '19 at 16:35
  • Tyler, currently installed version is GNU Emacs 25.2.2 and I'm following this one - https://www.emacswiki.org/emacs/MultiTerm to enable this support. I tried the same as mentioned in the link. Still I'm unable to use the multi-term – Jay Jan 18 '19 at 16:41
  • 1
    Can you give us more information than "unable to use the multi-term"? What did you try, what happens, what did you expect to happen instead? There are a lot of different ways for a program not to work. – Tyler Jan 18 '19 at 16:47
  • 1) $cat /home/test/.emacs (require 'multi-term) (setq multi-term-program "/bin/bash") 2) Placed multi-term.el in below location $ls -l /home/test/.emacs.d/multi-term.el ... Got error as " Warning (initialisation) An error occured while loading '/home/test/.emacs': File error: Cannot open load file, No such a file or directory, multiterm' . Please shed some views how to get rid of this error – Jay Jan 18 '19 at 17:18
  • The directory where you put multi-term.el needs to be in your load path. Add this to your .emacs before the 'require' call: `(add-to-list 'load-path "/home/test/.emacs.d")` – Tyler Jan 18 '19 at 17:25

1 Answers1

1

The directory where you put multi-term.el needs to be in your load path. Add this to your .emacs before the 'require' call:

(add-to-list 'load-path "/home/test/.emacs.d")

EDIT

This should fix your problem, but as @phil points out, it's bad practice to store lisp code in your .emacs.d directory, and it may cause unexpected problems later on. You should instead make a subdirectory such as .emacs.d/lisp, and put files such as multi-term.el there. Then add that to your load-path:

(add-to-list 'load-path "/home/test/.emacs.d/lisp")

FYI, some Emacs libraries store data files (which often as not are really just lisp code) in the .emacs.d directory, so adding that to the load path risks a conflict between those data files and your code.

Tyler
  • 21,719
  • 1
  • 52
  • 92
  • No, don't do that. Move the file to a *sub-directory* of `.emacs.d` and then add *that* directory to `load-path`. You should never put `.emacs.d` itself into `load-path`. (Fortunately newer versions of Emacs will complain at you if you do: https://emacs.stackexchange.com/q/9877/454 so it's not as easy for that mistake to go unnoticed). – phils Jan 19 '19 at 11:39
  • @phils right, I forgot about that. I have seen the warning, but there doesn't appear to be an explanation in the manuals yet. – Tyler Jan 21 '19 at 02:38