Subject: Re: [Boost-build] <dll-path>'$ORIGIN' is prefixed by path with gcc
From: Steven Watanabe (watanabesj_at_[hidden])
Date: 2018-08-24 21:17:56
On 08/24/2018 02:18 PM, Chambers, Matthew via Boost-build wrote:
> build-project p ;
> lib a : a.cpp : <link>shared ;
> exe p : p.cpp : <library>a ;
> install install : p : <install-dependencies>on <dll-path>'$ORIGIN' ;
> objdump -x -a p/install/p | grep RPATH
> Â RPATHÂ Â Â Â Â Â Â Â Â Â Â Â Â Â Â p/$ORIGIN
> I expected dll-path to be set unmodified. Is this intended, and if so,
> how do I prevent it? I haven't pinpointed exactly when this changed, but
> it worked a couple years ago. This is using master at
This is broken because dll-path is a path feature,
which causes $ORIGIN to be interpreted as a path
relative to the containing project and is adjusted
to be relative to the current working directory.
As far as I can tell, it's always worked this way,
but if you run b2 from p/ it should do what you want.
Do relative paths even make sense for dll-path?
The right thing might be to remove the path attribute
from dll-path which will cause the argument to be
passed through literally.
Boost-Build list run by bdawes at acm.org, david.abrahams at rcn.com, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk