First invocation, first error

I installed using the "curl | sudo sh" method and my first invocation fails.

rpixley@victory> rustc --version
rustc: error while loading shared libraries: librustc_driver-7d23ff90.so: cannot open shared object file: No such file or directory
rpixley@victory> uname -a
Linux victory 3.10.0-229.7.2.el7.x86_64 #1 SMP Fri May 15 21:38:46 EDT 2015 x86_64 x86_64 x86_64 GNU/Linux
rpixley@victory> cat /etc/redhat-release
Red Hat Enterprise Linux Server release 7.1 (Maipo)

Not sure where bugs should be filed, but it looks like the library hasn't been properly installed.

None of this stuff belongs in /usr/local. It belongs in /opt/rust-lang.org or the like. This makes it possible to create /etc/ld.so.conf.d/rust.conf that points to it without worrying about whether some other package has already added your library directory or not.

Note that bsd and macosx and plan9 and etc all use completely different approaches.

As per Linux Standards Base (which includes the File System Hierarchy Standard, it does belong in /usr/local.

The problem is that the installer does not yet use ldconfig.

It runs ldconfig (unless you pass the --disable-ldconfig flag).

You can use the --prefix option to the install script to install to any location you'd like.

/usr/local is intended for things that are built locally from source but it has been coopted by nearly every un*x distribution for other purposes to the point where it can't really be used at all anymore.

In any case, a simple install doesn't work. And if a simple install doesn't work, I'm probably not going to bother to read the manual or debug the install for a tool I don't even know whether I'll ever use. I'm guessing this is probably not the new user experience the team intends. A new user should at least be able to write and run "hello, world" within a few minutes by following simple instructions.

1 Like

Well, here is the corresponding issue:
https://github.com/rust-lang/rust-installer/issues/30