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?

6
  • You don't need to change Ubuntu version to have a different Emacs version. This ppa has latest version: launchpad.net/~ubuntu-elisp/+archive/ubuntu/ppa Commented Jan 18, 2019 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
    Commented Jan 18, 2019 at 16:35
  • Tyler, currently installed version is GNU Emacs 25.2.2 and I'm following this one - 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
    Commented Jan 18, 2019 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
    Commented Jan 18, 2019 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
    Commented Jan 18, 2019 at 17:18

1 Answer 1

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.

2
  • 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: emacs.stackexchange.com/q/9877/454 so it's not as easy for that mistake to go unnoticed).
    – phils
    Commented Jan 19, 2019 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
    Commented Jan 21, 2019 at 2:38

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.