[Rd] tcltk image reading problem (on a mac?): [tcl] encountered an unsupported criticial chunk type "eXIf"

2020-06-11 Thread Wayne Oldford
Hello everyone

I am not sure when this appeared
(sometime post R 3.5.0 and after I switched to Mac OS Catalina).

I do not think it happens on all platforms (e.g. seems to work on windows).

But it seems that

  tkimage.create()

no longer works on a Mac for all png files.


(It does work for *some* old png files I have on disk but I have not been able 
to determine what is different about the ones that work)

Any help would be appreciated.

- Wayne


R.W. Oldford
math.uwaterloo.ca/~rwoldfor




> library(tcltk)

> fname <- "Rplot.png"
> png(filename = fname, width = 500, height = 500)
> hist(rnorm(20))
> dev.off()

> tkimage.create("photo", file = fname)

Error in structure(.External(.C_dotTclObjv, objv), class = "tclObj") :
  [tcl] encountered an unsupported criticial chunk type "eXIf".


__

> R.version
   _
platform   x86_64-apple-darwin17.0
arch   x86_64
os darwin17.0
system x86_64, darwin17.0
status
major  4
minor  0.0
year   2020
month  04
day24
svn rev78286
language   R
version.string R version 4.0.0 (2020-04-24)
nickname   Arbor Day

___

macOS Catalina V 10.15.5

___


[[alternative HTML version deleted]]

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


Re: [Rd] tcltk image reading problem (on a mac?): [tcl] encountered an unsupported criticial chunk type "eXIf"

2020-06-11 Thread Wayne Oldford
Yes.
I seem to be picking up
  8.6
I should have noted that.

Use to work for me too in Mojave.
I have the sneaky feeling that Catalina is the problem.

R. W. Oldford

https://math.uwaterloo.ca/~rwoldfor


From: Peter Dalgaard 
Sent: Thursday, June 11, 2020 5:56:15 PM
To: Wayne Oldford 
Cc: r-devel@r-project.org 
Subject: Re: [Rd] tcltk image reading problem (on a mac?): [tcl] encountered an 
unsupported criticial chunk type "eXIf"

Happy enough for me on Mojave.

On the off chance that you are picking up an old Tcl, do you see this?

> tcl("info","tclversion")
 8.6


-pd

> On 11 Jun 2020, at 23:04 , Wayne Oldford  wrote:
>
> Hello everyone
>
> I am not sure when this appeared
> (sometime post R 3.5.0 and after I switched to Mac OS Catalina).
>
> I do not think it happens on all platforms (e.g. seems to work on windows).
>
> But it seems that
>
>  tkimage.create()
>
> no longer works on a Mac for all png files.
>
>
> (It does work for *some* old png files I have on disk but I have not been 
> able to determine what is different about the ones that work)
>
> Any help would be appreciated.
>
> - Wayne
>
>
> R.W. Oldford
> math.uwaterloo.ca/~rwoldfor
>
>
>
>
>> library(tcltk)
>
>> fname <- "Rplot.png"
>> png(filename = fname, width = 500, height = 500)
>> hist(rnorm(20))
>> dev.off()
>
>> tkimage.create("photo", file = fname)
>
> Error in structure(.External(.C_dotTclObjv, objv), class = "tclObj") :
>  [tcl] encountered an unsupported criticial chunk type "eXIf".
>
>
> __
>
>> R.version
>   _
> platform   x86_64-apple-darwin17.0
> arch   x86_64
> os darwin17.0
> system x86_64, darwin17.0
> status
> major  4
> minor  0.0
> year   2020
> month  04
> day24
> svn rev78286
> language   R
> version.string R version 4.0.0 (2020-04-24)
> nickname   Arbor Day
>
> ___
>
> macOS Catalina V 10.15.5
>
> ___
>
>
>[[alternative HTML version deleted]]
>
> __
> R-devel@r-project.org mailing list
> https://stat.ethz.ch/mailman/listinfo/r-devel

--
Peter Dalgaard, Professor,
Center for Statistics, Copenhagen Business School
Solbjerg Plads 3, 2000 Frederiksberg, Denmark
Phone: (+45)38153501
Office: A 4.23
Email: pd@cbs.dk  Priv: pda...@gmail.com










[[alternative HTML version deleted]]

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


Re: [Rd] tcltk image reading problem (on a mac?): [tcl] encountered an unsupported criticial chunk type "eXIf"

2020-06-11 Thread Wayne Oldford
I don't know what has changed with Catalina

But I just tried my tk console from the shell command tkcon 
And got the following error. 
Here is my shell:

$ tkcon 

  dyld: Library not loaded: /usr/local/lib:/opt/X11/lib/libtk8.6.dylib
  Referenced from: /usr/local/bin/wish
  Reason: image not found
Abort trap: 6


I don't know whether this is a red herring or not, but the 
Console fails to boot.

John does it work for you?

Not sure whether Python has the same trouble.  Kind of old info at 
https://www.python.org/download/mac/tcltk/ 




-Original Message-
From: "Fox, John" 
Date: Thursday, June 11, 2020 at 7:54 PM
To: Wayne Oldford 
Cc: Peter Dalgaard , "r-devel@r-project.org" 

Subject: Re: [Rd]  tcltk image reading problem (on a mac?): [tcl] encountered 
an unsupported criticial chunk type "eXIf"

Dear Wayne and Peter,

FWIW, I observe exactly the same problem in Catalina. The error and my 
session info:

 snip 

> tkimage.create("photo", file = fname)
Error in structure(.External(.C_dotTclObjv, objv), class = "tclObj") : 
  [tcl] encountered an unsupported criticial chunk type "eXIf".

> sessionInfo()
R version 4.0.0 (2020-04-24)
Platform: x86_64-apple-darwin17.0 (64-bit)
Running under: macOS Catalina 10.15.5

Matrix products: default
BLAS:   
/System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vecLib.framework/Versions/A/libBLAS.dylib
LAPACK: 
/Library/Frameworks/R.framework/Versions/4.0/Resources/lib/libRlapack.dylib

locale:
[1] en_CA.UTF-8/en_CA.UTF-8/en_CA.UTF-8/C/en_CA.UTF-8/en_CA.UTF-8

attached base packages:
[1] tcltk stats graphics  grDevices utils datasets  methods   
base 

loaded via a namespace (and not attached):
[1] compiler_4.0.0 tools_4.0.0   

 snip 

This is from RStudio but I see the same thing in the R.app.

I hope this is of some help,
 John

 -
  John Fox, Professor Emeritus
  McMaster University
  Hamilton, Ontario, Canada
  Web: http::/socserv.mcmaster.ca/jfox

> On Jun 11, 2020, at 6:43 PM, Wayne Oldford  wrote:
> 
> Yes.
> I seem to be picking up
>   8.6
> I should have noted that.
> 
> Use to work for me too in Mojave.
> I have the sneaky feeling that Catalina is the problem.
> 
> R. W. Oldford
> 
> https://math.uwaterloo.ca/~rwoldfor
> 
> ________
> From: Peter Dalgaard 
> Sent: Thursday, June 11, 2020 5:56:15 PM
> To: Wayne Oldford 
> Cc: r-devel@r-project.org 
> Subject: Re: [Rd] tcltk image reading problem (on a mac?): [tcl] 
encountered an unsupported criticial chunk type "eXIf"
> 
> Happy enough for me on Mojave.
> 
> On the off chance that you are picking up an old Tcl, do you see this?
> 
>> tcl("info","tclversion")
>  8.6
> 
> 
> -pd
> 
>> On 11 Jun 2020, at 23:04 , Wayne Oldford  wrote:
>> 
>> Hello everyone
>> 
>> I am not sure when this appeared
>> (sometime post R 3.5.0 and after I switched to Mac OS Catalina).
>> 
>> I do not think it happens on all platforms (e.g. seems to work on 
windows).
>> 
>> But it seems that
>> 
>> tkimage.create()
>> 
>> no longer works on a Mac for all png files.
>> 
>> 
>> (It does work for *some* old png files I have on disk but I have not 
been able to determine what is different about the ones that work)
>> 
>> Any help would be appreciated.
>> 
>> - Wayne
>> 
>> 
>> R.W. Oldford
>> math.uwaterloo.ca/~rwoldfor
>> 
>> 
>> 
>> 
>>> library(tcltk)
>> 
>>> fname <- "Rplot.png"
>>> png(filename = fname, width = 500, height = 500)
>>> hist(rnorm(20))
>>> dev.off()
>> 
>>> tkimage.create("photo", file = fname)
>> 
>> Error in structure(.External(.C_dotTclObjv, objv), class = "tclObj") :
>> [tcl] encountered an unsupported criticial chunk type "eXIf".
>> 
>> 
>> __
>> 
>>> R.version
>>  _
>> platform   x86_64-apple-darwin17.0
>> arch   x86_64
>> os darwin17.0
>> system x86_64, darwin17.0
  

Re: [Rd] tcltk image reading problem (on a mac?): [tcl] encountered an unsupported criticial chunk type "eXIf"

2020-06-12 Thread Wayne Oldford

Thanks everyone for getting a solution.

Brian's solution works for me too. 

Thanks again!!

Wayne


-Original Message-
From: Prof Brian Ripley 
Date: Friday, June 12, 2020 at 3:00 AM
To: "Fox, John" , Simon Urbanek 
Cc: Wayne Oldford , "r-devel@r-project.org" 

Subject: Re: [Rd] tcltk image reading problem (on a mac?): [tcl] encountered an 
unsupported criticial chunk type "eXIf"

On 12/06/2020 03:49, Fox, John wrote:
> Dear Simon,
> 
>> On Jun 11, 2020, at 9:00 PM, Simon Urbanek  
wrote:
>>
>> Wayne,
>>
>> that one is unrelated, but interesting - you can fix it with
>>
>> sudo install_name_tool -change \
>>   /usr/local/lib:/opt/X11/lib/libtk8.6.dylib \
>>   /usr/local/lib/libtk8.6.dylib \
>>   /usr/local/bin/wish8.6
>>
>> There is a bug in tcltk with IDs on the libraries which I have 
worked-around for R, but not for wish.
>>
>> Back to the original question - do you have any example of a file that 
doesn't work so I could test? Exif chunks are fairly rare in PNG and are a more 
late extension so I couldn't find any examples.
> 
> The code in Wayne's original message (copied below) generated the 
offending file:
> 
> library(tcltk)
> 
> fname <- "Rplot.png"
> png(filename = fname, width = 500, height = 500)
> hist(rnorm(20))
> dev.off()
> 
> tkimage.create("photo", file = fname)

There are several png() devices for R.  The default on macOS is to use 
Quartz, and that depends on macOS system functions so might well have 
changed with Mojave -> Catalina.

As a workaround, try e.g. png(type='cairo').  E.g.

fname <- file.path(tempdir(), "Rplot.png")
png(filename = fname, width = 500, height = 500, type="cairo")
hist(rnorm(20))
dev.off()

library(tcltk)
tkimage.create("photo", file = fname)

works for me on Catalina.


-- 
Brian D. Ripley,  rip...@stats.ox.ac.uk
Emeritus Professor of Applied Statistics, University of Oxford


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