[MacPorts] #59219: fossil fails to build from source if ccache port installed

MacPorts noreply at macports.org
Wed Nov 17 01:21:40 UTC 2021


#59219: fossil fails to build from source if ccache port installed
------------------------+----------------------
  Reporter:  ned-deily  |      Owner:  ci42
      Type:  defect     |     Status:  assigned
  Priority:  Normal     |  Milestone:
 Component:  ports      |    Version:
Resolution:             |   Keywords:
      Port:  fossil     |
------------------------+----------------------

Comment (by ned-deily):

 I no longer have ccache installed but, after installing the ccache port
 (from source - I note again that this installation uses a non-standard
 prefix so all ports are installed from source), there still is no .ccache
 directory in the build directory:


 {{{
 # ls -dl /opt/macports/var/macports/build/
 drwxr-xr-x  2 root  admin  64 Nov 16 18:27
 /opt/macports/var/macports/build/
 # ls -dl /opt/macports/var/macports/build/.ccache
 ls: /opt/macports/var/macports/build/.ccache: No such file or directory
 }}}

 and
 {{{
 port install fossil
 }}}

 still fails attempting to create /opt/macports/var/macports/build/tmp.

 For grins, I tried a fresh MacPorts binary install into a vanilla 12.0.1
 virtual machine using the downloaded MacPorts Monterey installer.  After a
 selfupdate, I then did a port install ccache. FWIW, all of the ccache
 dependencies were binary downloads but the ccache port itself built from
 source.
 I verified then that there was no /opt/local/var/macports/build/.ccache.
 I then did port install fossil and, after installing tcl as a dependency,
 the fossil port proceeded to build from source and failed at exactly the
 same spot attempting to create ..ccache/tmp:


 {{{
 # more
 /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_devel_fossil/fossil/work/fossil-2.15.2/config.log
 Invoked as: ./configure --prefix=/opt/local --with-tcl=/opt/local/lib
 --with-th1-docs --with-th1-hooks --with-exec-rel-paths --json
 Tclsh: /opt/local/bin/tclsh
 Failed: ccache /usr/bin/clang -pipe -Os
 -isysroot/Library/Developer/CommandLineTools/SDKs/MacOSX12.sdk -arch
 x86_64 -c -g0 conftest__.c -o conftest__.o
 ccache: error: Failed to create directory
 /opt/local/var/macports/build/.ccache/tmp: Operation not permitted
 child process exited abnormally
 ============
 The failed code was:
 int main(void) {

 return 0;
 }
 ============
 Failed: ccache /usr/bin/clang -pipe -Os
 -isysroot/Library/Developer/CommandLineTools/SDKs/MacOSX12.sdk -arch
 x86_64 -c conftest__.c -o conftest__.o
 ccache: error: Failed to create directory
 /opt/local/var/macports/build/.ccache/tmp: Operation not permitted
 child process exited abnormally
 ============
 The failed code was:
 #include <stdlib.h>
 int main(void) {

 return 0;
 }

 ============

 }}}

 So it is undoubtedly a permissions issue involving the macports username
 but it seems to be reproducible on a vanilla MacPorts installation at
 least if the ccache and fossil ports have to built from source.

-- 
Ticket URL: <https://trac.macports.org/ticket/59219#comment:10>
MacPorts <https://www.macports.org/>
Ports system for macOS


More information about the macports-tickets mailing list