В Fri, 20 Jun 2025 17:32:34 -0400
Tyler <tyle...@gmail.com> пишет:

> You can see the failure logs here:
> 
> https://www.stats.ox.ac.uk/pub/bdr/donttest/libdeflate.log
> 
> And my configure script here :
> 
> https://github.com/tylermorganwall/libdeflate/blob/main/tools/config/configure.R
> 
> Note that I've excluded the possibility of whitespace being the issue
> as CC is pulling `/usr/bin/ccache` and not an empty string.

You're right, it's not about the whitespace. What I think is happening
is that 'ccache' is set up as a set of symlinks with the same names as
the compilers:

$ ln -s $(which ccache) gcc
$ ./gcc -v
Using built-in specs.
<...>
gcc version 12.2.0 (Debian 12.2.0-14+deb12u1) 

This should be mostly transparent - ccache reads the name of the
symlink from argv[0] and does the right thing - except configure.R uses
normalizePath(), which expands the symlink:

$ Rscript -e 'normalizePath("./gcc")'
[1] "/usr/bin/ccache"

https://github.com/tylermorganwall/libdeflate/blob/37823652cde424bcbba6916875620985be7c8837/tools/config/configure.R#L73-L78

Since CMake runs from the same shell as configure.R and so should have
the same PATH, it should be safe to tell CMake only the name of the
compiler, without Sys.which() or normalizePath().

-- 
Best regards,
Ivan

______________________________________________
R-package-devel@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-package-devel

Reply via email to