[rust-dev] Impending change in RPATH behavior when linking to Rust dynamic libraries

Brian Anderson banderson at mozilla.com
Wed Jul 9 09:50:04 PDT 2014


Other programming languages do this. C and C++ do not mandate the use of 
RPATH, and Rust not applying RPATH by default doesn't exclude people 
opting into it if they want. In this context I am also considering 
@executable_path and @loader_path to be 'RPATH', and in fact 
@loader_path is the feature being disabled on OS X.

On 07/09/2014 07:42 AM, Bob Ippolito wrote:
> This seems like madness. No other programming language out there that 
> I've seen requires developers to mangle these environment variables. 
> On Mac, if you don't want all of RPATH to be searched, you can use 
> more specific relative paths such as @executable_path or 
> @loader_path in the load command. If rust does end up sticking with 
> this regression, it should replace all of the tools with little shell 
> scripts that set them appropriately for you and before invoking the 
> real tool.
>
> On Wednesday, July 9, 2014, Alex Crichton <alex at crichton.co 
> <mailto:alex at crichton.co>> wrote:
>
>     It is indeed! You'll need to ensure that
>     `/Users/ilya/Library/Local/Rust/current/lib` is in your
>     DYLD_LIBRARY_PATH environment variable for OSX.
>
>     On Wed, Jul 9, 2014 at 6:25 AM, Ilya Dmitrichenko
>     <errordeveloper at gmail.com <javascript:;>> wrote:
>     > Is the following error cause by this change?
>     >
>     > % rustc -v
>     > dyld: Library not loaded:
>     >
>     x86_64-apple-darwin/stage1/lib/rustlib/x86_64-apple-darwin/lib/librustc-4e7c5e5c.dylib
>     >   Referenced from: /Users/ilya/Library/Local/Rust/current/bin/rustc
>     >   Reason: image not found
>     > Trace/BPT trap
>     >
>     >
>     > On 9 July 2014 00:53, Brian Anderson <banderson at mozilla.com
>     <javascript:;>> wrote:
>     >> Yes, it does.
>     >>
>     >>
>     >> On 07/08/2014 04:41 PM, Simon Sapin wrote:
>     >>>
>     >>> On 08/07/14 23:57, Brian Anderson wrote:
>     >>>>
>     >>>> *Running rustc directly from the build directory will no
>     longer work by
>     >>>> default*. To do this either set LD_LIBRARY_PATH or pass
>     --enable-rpath
>     >>>> to the configure script.
>     >>>
>     >>>
>     >>> Does this also apply to running a (nightly) binary
>     distribution from where
>     >>> the tarball was extracted, without installing it?
>     >>>
>     >>
>     >> _______________________________________________
>     >> Rust-dev mailing list
>     >> Rust-dev at mozilla.org <javascript:;>
>     >> https://mail.mozilla.org/listinfo/rust-dev
>     > _______________________________________________
>     > Rust-dev mailing list
>     > Rust-dev at mozilla.org <javascript:;>
>     > https://mail.mozilla.org/listinfo/rust-dev
>     _______________________________________________
>     Rust-dev mailing list
>     Rust-dev at mozilla.org <javascript:;>
>     https://mail.mozilla.org/listinfo/rust-dev
>
>
>
> _______________________________________________
> Rust-dev mailing list
> Rust-dev at mozilla.org
> https://mail.mozilla.org/listinfo/rust-dev

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.mozilla.org/pipermail/rust-dev/attachments/20140709/373baa80/attachment.html>


More information about the Rust-dev mailing list