My server is running the precompiled tarball https://downloads.kitenet.net/git-annex/linux/current/
git-annex version: 4.20130531-g5df09b5 build flags: Assistant Webapp Pairing Testsuite S3 WebDAV Inotify DBus XMPP
The tarball is untared in "/opt/git-annex.linux" and this location is added to the users path in ".profile", who can launch the webapp as usual and so on.
But when a git-annex client from another computer tries to stablish a remote server repository with the server via ssh, it will complain "/usr/bin/git-annex", "runshell" and so on are missing. And if the binaries in "/opt/git-annex.linux" are symlinked in "/usr/bin" they will start to miss the other bin and libs in the "/opt/git-annex.linux" source tree.
As you can understand, I can't put the whole "/opt/git-annex.linux" folder tree in "/usr/bin". Is there any solution to make the precompiled tarball work properly as a git-annex server?
The standalone tarball does not need to be installed in /usr/bin or any other particular location. I never hardcode /usr/bin in anything.
It seems likely to me that you have not correctly added /opt/git-annex.linux to PATH. You mention
.profile
-- but this is only used by bash when starting a login shell. So any non-login shells won't have it in path. You need to put something in .bashrc for that.Also, to use git-annex on a server, there is no reason at all to install the latest and greatest version. Any version 3 or greater build of git-annex will work fine on a server with newer git-annex versions on clients. So
apt-get install git-annex
is a much easier and nicer way to install it on a server. Most linux distributions have a package of git-annex and an easy way to install it.(It would also help if you pasted actual error messages, rather than a summary of an error message.)
I'd rather use the package from the repositories. But this server is running an openSUSE install and the package manager could not resolve the Haskell dependencies of the unofficial git-annex rpm package.
Indeed, performing the PATH extension in ".bashrc", not in ".profile", solved the issue. I feel like a newbie. Thanks for the express answer!