Subject: [Boost-bugs] [Boost C++ Libraries] #12784: Use of "cp -p" on a tmpfs is broken in recent versions coreutils on solaris
From: Boost C++ Libraries (noreply_at_[hidden])
Date: 2017-01-24 19:48:12
#12784: Use of "cp -p" on a tmpfs is broken in recent versions coreutils on solaris
----------------------------+--------------------------
Reporter: anonymous | Type: Bugs
Status: new | Milestone: Boost 1.65.0
Component: Building Boost | Version: Boost 1.63.0
Severity: Problem | Keywords:
----------------------------+--------------------------
When running bootstrap.sh, under the circumstances outlined below
it'll fail to copy "b2" to "jam0" with the error:
{{{
preserving permissions for 'bin.solarissparc/bjam': Operation not
applicable
}}}
This happens when:
* Building on solaris
* Using the gcc toolset (unsure whether this is related)
* umask is set to 002 (works fine with 022)
* The GNU version of "cp" is the first one found in PATH
* That version of "cp" was built against a new enough version of coreutils
I was able to work around the problem like this:
{{{
mkdir -p /tmp/dirty_hack
cd /tmp/dirty_hack
ln -s /usr/bin/cp
PATH=/tmp/dirty_hack:${PATH} ./bootstrap.sh ...bootstrap flags...
PATH=/tmp/dirty_hack:${PATH} ./bjam ...bjam flags...
}}}
At a minimum it might be a good idea to allow a configurable variable akin
to JAMSHELL for what string to use to copy files & preserve permissions.
-- Ticket URL: <https://svn.boost.org/trac/boost/ticket/12784> Boost C++ Libraries <http://www.boost.org/> Boost provides free peer-reviewed portable C++ source libraries.
This archive was generated by hypermail 2.1.7 : 2017-02-16 18:50:20 UTC