Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

eg is not installed #5

Closed
neovea opened this issue Apr 25, 2015 · 9 comments
Closed

eg is not installed #5

neovea opened this issue Apr 25, 2015 · 9 comments

Comments

@neovea
Copy link

neovea commented Apr 25, 2015

Hello, I tried installing eg on ubuntu 14.04 :
git clone https://github.com/srsudar/eg
ln -s eg/eg/eg_exec.py /usr/local/bin/eg
tried the example
eg find
it returns :
Le programme « eg » n'est pas encore installé. Vous pouvez l'installer en tapant : sudo apt-get install easygit
in english :
the "eg" program is not installed yet. You can install it by typing : sudo apt-get install easygit
Any idea of what's wrong ?
Thanks

@srsudar
Copy link
Owner

srsudar commented Apr 25, 2015

Interesting. It looks like maybe a couple things are going on. The first is that it seems to want to treat eg as a way to invoke easygit, which makes me think I may have stepped on another command that normally goes by eg, but first let's see if it's finding the symlink.

After running the ln command you showed above, try running: ls -l /usr/local/bin/eg.

It should show you that the command has been aliased, something like this for me when I do it for my go command:

$ ls -l /usr/local/bin/go
lrwxr-xr-x  1 sudars  admin  25 May 22  2014 /usr/local/bin/go@ -> ../Cellar/go/1.2.1/bin/go

Do you see something like that pointing to eg_exec.py? If not, then the creation of the symlink failed for some reason. You should try again but putting the link in the normal place for bin files on your machine. /usr/local/bin/ is a common place on OSX, but maybe /usr/bin or something is more common on Linux.

If you DO see the link pointing to the correct place, try invoking it directly to see if it works by running: /usr/local/bin/eg find. If that works, then it might be a path issue. In this case I would try moving /usr/local/bin/ earlier in your path and see if you can just run eg find then. If everything else is working, it sounds like maybe apt-get is in the habit of telling you immediately if you don't have a command that it thinks it is responsible for, even if you have it elsewhere on your path.

Let me know if any of that works.

@neovea
Copy link
Author

neovea commented Apr 25, 2015

Thanks for answering.
I did ls -l /usr/local/bin/eg which returned lrwxrwxrwx 1 root root 16 avril 25 22:13 /usr/local/bin/eg -> eg/eg/eg_exec.py.
I removed this symlink and put one in /usr/bin. Still cannot make it works. However, it works by typing python eg_exec.py find.

@srsudar
Copy link
Owner

srsudar commented Apr 25, 2015

What is the error when you try running eg find? Is it the same one about easygit, or is it something else?

@neovea
Copy link
Author

neovea commented Apr 25, 2015

The error remains the same.

@srsudar
Copy link
Owner

srsudar commented Apr 25, 2015

It sounds then like it works on your machine, we just have to get the links in the right place.

What is the output if you do /usr/bin/eg find? Does it work or is there an error?

What is the output of echo $PATH?

@neovea
Copy link
Author

neovea commented Apr 25, 2015

The output says (translation) : 'too many symbolic link levels' (Trop de niveaux de liens symboliques). Echoing the $PATH returns /home/user/.linuxbrew/bin:/home/user/.rvm/gems/ruby-2.1.3/bin:/home/user/.rvm/gems/ruby-2.1.3@global/bin:/home/user/.rvm/rubies/ruby-2.1.3/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/home/user/.rvm/bin:/home/user/.rvm/bin

@srsudar
Copy link
Owner

srsudar commented Apr 25, 2015

Hmm, how mysterious. I would remove the link with rm /usr/bin/eg.

Then try remaking it with the absolute path to eg_exec.py, starting at the root of the file system, like:

ln -s /home/user/full/path/to/eg/eg_exec.py /usr/bin/eg

You can get the full path by cd'ing into the directory with eg_exec.py and typing pwd, which should give you the full path to that folder and will end with eg/. Then put /eg_exec.py onto the end of it and create the symlink.

After you've done that, what is the output of ls -l /usr/bin/eg?

Try running /usr/bin/eg find again after doing that and see if you still get the same error about the symbolic link levels.

@neovea
Copy link
Author

neovea commented Apr 26, 2015

Ok absolute path solved the problem. Works like a charm now. Thank you !

@srsudar
Copy link
Owner

srsudar commented Apr 26, 2015

Great!

@srsudar srsudar closed this as completed Apr 26, 2015
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants