> I don't know much about this, but why don't these installs establish and
> reference symlinks.

Because UNIX tradition means that often things grow chaotically up to 
the point where it needs to be fixed. But if it does not need to be 
fixed yet, it will continue that way.

That is the power of UNIX design - grow and grow and grow.
Never think before you grow. Thinking delays growing.

Bad design can be fixed later - is a mantra. That not many fix it later,
because it would be a lot of work, is another issue ...

> ruby gets installed and established a symlink
> which anything can access to find it, and likewise with rubygems. 

But you are only applying a cosmetic surface to the underlying problem 
:)
The distribution will probably demand of you to "keep" to its way.

I remember the debian "philosophy" applied to ruby and splitting the
packages in many individual yet arbitrary components which means it is
in a way sometimes crippled. I remember an old plea from python devs
to stop doing this, as users who install python via package manager
(and more importantly the devs who code something) cannot rely that
all the "required" things in python are actually there. I.e. if one
went and compiled python from source he would have less trouble.

> This mess is the result of someone who should know better not 
> thinking things through. 

Typical UNIX evolution. Things like Udev or Fontconfig XML files was the 
result (not to forget the many different config file formats)

> For compiled ruby to go one place and package manager ruby another??? 

This is the old design principle in Unix - if you can make it 
complicated, why make it simple? Your package manager by default will 
probably dominate the /usr hierarchy whereas your self compiled programs 
should be default populate /usr/local (unless you have given --prefix). 
Some distributions think that is not enough and populate /opt for 
reasons unknown to mankind, and almost no distribution is applying 
AppDirs/PackageDirs (what belongs to a program, belongs to the same 
directory).

But wait a second! If you already decided to go on your own, i.e. 
compile ruby from source, why not compile it into a specific directory? 
I compile into /Programs/Ruby/Version and symlinks will then be used. 
There may be nicer approaches, the best one would be to work without any 
symlinks - but it worked for me since a long time and I like it. It is 
simple and easy and I dont have the time nore knowledge to try something 
more "beautifully" for now.

The unix way is a big mess and will never be fixed due to legacy 
reasons. After all these years applications which you compile from 
source will behave differently - i.e. not everyone uses GNU 
autoconfigure, not everyone honours --prefix or some other important 
directives etc...

> The guy behind this surely has a career in investment banking 
> waiting for him somewhere.

The power of UNIX, as long as it works, it's fine. And the more 
important
a piece of software is, the more annoying these guys are ;)
But it was more historic growth. Unix is a patchwork, it was never 
designed with a grand vision in place. And Linus, as smart as he may be 
and as brilliant the work he can pull off with the kernel and git, is 
restricted to exactly this - the rest does not interest him that much.

And modular xorg was modern about 50 years ago...

> I compiled my ruby from source because I was having some problems with
> the package manager version.

Doesn't it start all so often exactly like that :)

> But then rubygems wouldn't install. Kept insisting that 
> some libraries which WERE there were not. An expert I 
> had look at the mess couldn't make sense of it. 
> I then installed rubygems from the package manager. 
> No problems. Except ruby cannot find the gems.

Well, all I know is that i think the whole rubygems situation should be 
rethought. I compile rubygems from source but it all seems to bring up 
stupid and wrong dependencies. Requires "rubyforge", "hoe" and loads of 
others. Rake refuses to compile it. If i copy setup.rb though and go via 
the setup.rb route, THE INSTALLATION WORKS NICELY.

Myself, I dont need rubygems because I keep track of all the packages on 
my own (as said, it is a lot of work in total, but when a version 
changes, all I have to do is change a single line in my "database" and I 
can compile it.)

I wish you the best luck to solve your problem!
Maybe it is better to stick to your package manager. I never managed and 
I have entirely given up about it, but I often regret that I invest time 
into something others get for "free" (provided that they learned about 
it in the first place. I found package managers so insanely boring that 
I am too lazy to learn and read boring man pages until I am "expert")
-- 
Posted via http://www.ruby-forum.com/.