[Boost-bugs] [Boost C++ Libraries] #12784: Use of "cp -p" on a tmpfs is broken in recent versions coreutils on solaris

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