[R-SIG-Mac] Tcl/Tk issues in arm64 build of R 4.1.0

John Fox j|ox @end|ng |rom mcm@@ter@c@
Thu Sep 9 22:34:03 CEST 2021


Dear Brian,

Thank you for responding so quickly. Please see below:
On 2021-09-09 2:59 p.m., Prof Brian Ripley wrote:
> On 09/09/2021 19:03, John Fox wrote:
>> Dear Simon, Philippe, and list members,
>>
>> I've encountered some Tcl/Tk-related issues with the Apple silicon 
>> arm64 build of R 4.1.0 for macOS. These issues affect the Rcmdr 
>> package, although they don't prevent it from working:
>>
>> (1) Some fonts that are available for the Intel build appear to be 
>> missing from the arm64 build. Compare the screen shots of the Rcmdr 
>> main window at 
>> <https://socialsciences.mcmaster.ca/jfox/.Pickup/x86_64-apple-darwin17.0.png> 
>> (Intel build) and 
>> <https://socialsciences.mcmaster.ca/jfox/.Pickup/aarch64-apple-darwin20.png> 
>> (arm64 build). This problem is purely aesthetic.
> 
> It would be helpful to know what those fonts are.  This is likely to be 
> a fontconfig issue and needs to be debugged by name.

I query the Tk default and fixed-width fonts via

	tclvalue(.Tcl("font actual TkDefaultFont -family")
	tclvalue(.Tcl("font actual TkFixedFont -family"))

and use those -- in the past, that produced pleasing font choices on all 
platforms. In the macOS Intel build, the resulting font families are 
"Verdana" and "Andale Mono"; in the arm64 build, "helvetica" and 
"courier". Perhaps the Intel and arm64 builds were just configured 
differently.

> 
>> (2) The Tcl/Tk Tktable package is apparently absent from the arm64 
>> build but still present in the Intel build. The Rcmdr detects its 
>> absence and suppresses some features (i.e., those requiring the Rcmdr 
>> data editor). I understand that the Tktable package is problematic and 
>> it may have been removed intentionally.
> 
> https://sourceforge.net/projects/tktable/files/tktable/2.10/Tktable2.10.tar.gz 
> (apparently the latest version from 2008)
> does not compile against recent Tcl/Tk (8.6.11 seems to be used): it 
> uses 'panic' which should be 'Tcl_Panic'.    (The Intel build appears to 
> be much older, 8.6.6.)
> 
> I have a patched version: AFAICS it installs entirely into 
> /opt/R/arm64/lib I could tar it up and make it available.
> 
> I could also send the patch to Simon for future use, but note that 
> https://mac.r-project.org/libs-arm64/ contains an aqua build of Tcl/Tk 
> (not the X11 build in the CRAN build of R 4.1.[01]) and which does not 
> support Tcl/Tk.

I'm sorry, but I don't quite understand that -- perhaps there's a typo 
here? Do you mean to say that an aqua build of Tcl/Tk will replace the 
X11 build after R 4.1.1, and that Tktable will be incompatible with it?

If so, first, I think that an aqua Tcl/Tk would be preferable to the 
current X11 version. If I understand correctly, for example, aqua would 
put Tk menus where Mac users expect them.

Second, given the problems that Tktable seems to be producing, wouldn't 
it be better to make Tablelist available as a substitute? I'm happy to 
rewrite the Rcmdr data editor using Tablelist (actually, it's mostly 
done), and, as I said, if I knew how to incorporate the Tcl/Tk Tablelist 
package in the Rcmdr package (if it's undesirable simply to make it 
available generally), I'd do it.

Best,
  John

> 
> 
> 
>



More information about the R-SIG-Mac mailing list