Emacs can't find package to install - emacs

I got this error when trying install Emacs package automatically.
Warning (initialization): An error occurred while loading `/Users/username/.emacs.d/init.el':
File error: http://melpa.org/packages/projectile-20150619.800.el, Not found
To ensure normal operation, you should investigate and remove the
cause of the error in your initialization file. Start Emacs with
the `--debug-init' option to view a complete error backtrace.

You need to first refresh ELPA package archives by M-x package-refresh-contents, because yours are out-of-date so the package manager can't download package for you.
You can also install packages from Package Menu (entering via M-x list-packages), refreshing will be done automatically.

And here's my solution:
Open your browser, and enter: http://melpa.org/
Search package name: 'projectile'
Then download and extract the package into ~/.emacs.d/elpa

If you use ubuntu you can also just use apt-get install elpa-projectile as described in documentation.

One reason this may be happening is that you may be trying to set up the package in your emacs.el file before setting up the melpa connection, so your package list is much smaller. Try disabling it there and refreshing the package list to see if that helps.

Related

How do I install the hg-git plugin on Debian Stretch?

Debian Jessie, as well as sid, have a mercurial-git package which contains the hg-git plugin. However, this package was (auto-)removed from Debian Stretch to to a release-critical bug.
But - I need it installed and running. Surely this should be possible, right?
Well, I followed the installation instructions on the plugin page:
I ran apt-get install python-setuptools python-setuptools-git python4-setuptools python3-setuptools-git
I ran easy_install hg-git and it seemed to work
But still, when I run various mercurial operations I get, as the first line, the error message:
*** failed to import extension hgext.git: No module named git
(regardless of whether I'm doing anything git-related or not.)
My questions:
Why is this happening?
What do I need to do in order to make the error message go away while having hggit working?
Now,
How do I correctly install dulwich to get hg-git working on Windows?
Apparently, that critical bug doesn't manifest always (and perhaps only under very specific circumstances), so you can try installing the Debian sid version of the mercurial-git package (that is, version 0.8.11-1 at the time of writing). There's a SuperUser question about how to do this:
https://linuxaria.com/howto/how-to-install-a-single-package-from-debian-sid-or-debian-testing
my personal opinion in this case is to simply install the .deb file, which you can get from here (it's not platform-specific; at the link you'll need to choose a mirror.) That makes the error message go away, at least assuming you have:
[extensions]
hgext.bookmarks =
hggit =
in your ~/.hgrc file.

racket can not find libserialport-0.dll

I try to use libserialport in DrRacket.
The libserialport is https://docs.racket-lang.org/libserialport/index.html .
I install the libserialport package source by the DrRacket "file->package manager".
After installation, when I use (require libserialport) in DrRacket, there's a error
ffi-lib: couldn't open "libserialport-0.dll"
How to fix it? thanks
The installation from DrRacket does not actually install the library itself, only the racket bindings to a library that needs to be installed prior to use. The error message you see is because it doesn't find the library since it's not yet installed.
In the documentation is clearly states:
It (the library) must be installed externally to this Racket module,
preferrably via the system package manager.
To install the library go to the Downloads section on libserialport's project page and download and install the one matching your operating system and architecture. When installed the racket module should work.
I got this done now.
For windows(32bit or 64bit),
Install libserialport in msys2-MinGW-32-bit environment. Then the file libserialport-0.dll is done.
Add the path of libserialport-0.dll file into the windows system PATH.
Install Racket(i386-win32) & the libserial binding. Then (require libserialport) will work.
Notice that the Racket(x86_64) can not load the libserialport-0.dll successfully.
Thanks to #Sylwester .

What is missing from my build environment when trying to compile emacs-25.1?

I'm trying to build emacs-25.1 from source on OSx. Everything goes fine until make install. When Emacs is trying to compile xml.c I get:
xml.c:23:10: fatal error: 'libxml/tree.h' file not found
#include <libxml/tree.h>
What is happening?
I'm not sure what your exact error is. However, there is an easier way to build emacs25 on OSX and macOS. Install homebrew is easy and once you have it, all you need to do is run
brew install emacs --with-cocoa --with-rsvg --with-ns
and then
brew linkapps emacs
and your done. Even if you want to do it by hand, you can get the recipe homebrew users to see how it does the build and install, which might help track down your error.
NOTE Check what the actual args are you can pass to the build environment. the ones I've listed are from memory and there are some others you may want to include.
A colleague was having the same problem and posted in the GNU emacs devel list right here. Daniel Suton provided the answer. Xcode is missing:
xcode-select --install
MacOS provides a libxml implementation (and headers) by default when you install xcode. Note that I had installed xcode already. But I've also upgraded from EL Captain to Sierra so my xcode installation must have been erased in the process.
Anyway, after installing xcode like described above and then after git clean -fxd I was able to rebuild emacs again.

Error on Yum update

I'm unfortunately not very experienced in CentOS administration, and was hoping someone might be able to help me understand and get past a small hurdle. I was hoping to run yum update on the system, but ran into some Transaction Check Errors:
file /etc/php.ini from install of php55-common-5.5.11-1.el6.x86_64 conflicts with file from package php-common-5.3.3-40.el6_6.x86_64
file /usr/lib64/php/modules/curl.so from install of php55-common-5.5.11-1.el6.x86_64 conflicts with file from package php-common-5.3.3-40.el6_6.x86_64
file /usr/lib64/php/modules/fileinfo.so from install of php55-common-5.5.11-1.el6.x86_64 conflicts with file from package php-common-5.3.3-40.el6_6.x86_64
file /usr/lib64/php/modules/phar.so from install of php55-common-5.5.11-1.el6.x86_64 conflicts with file from package php-common-5.3.3-40.el6_6.x86_64
file /usr/lib64/php/modules/pdo.so from install of php55-pdo-5.5.11-1.el6.x86_64 conflicts with file from package php-pdo-5.3.3-40.el6_6.x86_64
file /usr/lib64/php/modules/pdo_sqlite.so from install of php55-pdo-5.5.11-1.el6.x86_64 conflicts with file from package php-pdo-5.3.3-40.el6_6.x86_64
file /usr/lib64/php/modules/sqlite3.so from install of php55-pdo-5.5.11-1.el6.x86_64 conflicts with file from package php-pdo-5.3.3-40.el6_6.x86_64
It sort of looks like it's saying that some newer version files are conflicting with older version files. Is there a standard way to fix this? I was mainly just trying to update so that I could install Java later, but wasn't expecting to run into these errors. If it helps, the server is mainly being used for hosting a few websites with apache and mysql. Thanks so much for any help, it's greatly appreciated.
Edit: To add some more clarification, I had previously edited the baseurl variable in the /etc/yum.repos.d/centalt.repo file, which was originally set to
baseurl=centos.alt.ru/repository/centos/6/$basearch
The reason I changed the location was because I was previously getting an error when trying to run yum update, mentioned in this other stackoverflow question https://unix.stackexchange.com/questions/132674/repository-metadata-repomd-xml-for-repository-mratwork-centalt which had an answer recommending replacing the URL with
baseurl=mirror.sysadminguide.net/centalt/repository/centos/6/$basearch
Is there a different url I should be using instead?
You have a non-official repository which provides the php55-* packages which conflict with the official php-* packages.
You currently have the php-* versions installed.
If you want to switch you can try manually installing the matching php55-* package for every php-* package you have installed in one yum command (though that may not work).
If it doesn't, you might need to remove all the php packages you have installed first and then install the php55 versions after that.

Golang auto completion nsf package

I have installed sublime and go.
Tried the autocompletion feature offered by https://github.com/nsf/gocode.
It works perfectly for standard packages.
But not working for external packages like the ones fetched from github.
Any help on this appreciated. Thanks.
It will only work if you build and install those external packages.
if you just go get their sources, the completion won't work, even said sources are in the GOPATH/src/....
Those packages need to be at least compiled (GOPATH/pkg).
As mentioned in "How does Go update third-party packages?", a go get -u all can help.
For go autocomplete to work (Atom Editor, Sublime, even vim with autocomplete)
Your package must be placed in the go path. (this can be automatically done if the project is on github and you use the get tool)
go get -u github.com/username/packageName
you must build your package
go build $GOPATH/pathToYourProject...
you must install your package
go install $GOPATH/pathToYourProject...