Duncan,

thanks, update received and it did pass checks on M1 so the binary is now on 
CRAN.

Thanks,
Simon


> On Aug 22, 2021, at 4:28 AM, Duncan Murdoch <murdoch.dun...@gmail.com> wrote:
> 
> The rgl patch was accepted by CRAN an hour ago, so you should see it soon.
> 
> Duncan Murdoch
> 
> On 19/08/2021 8:57 p.m., Simon Urbanek wrote:
>> Duncan,
>> using that checkout I get
>> * checking package dependencies ... ERROR
>> Package suggested but not available: ‘webshot2’
>> but otherwise it works as advertised.
>> However, I just found out that there is another problem in R that rgl 
>> exposed. Using non-session terminal:
>>> png("/tmp/1.png", type="quartz")
>>> plot(1)
>> Warning in axis(side = side, at = at, labels = labels, ...) :
>>   no font could be found for family "Arial"
>> so requests for fonts using Quartz-back-end without an UI session fail. It 
>> works fine inside a session, but since checks are normally run without a 
>> session that explains the check failures. I can run checks in a session, so 
>> I think that's what I'll do for now.
>> Now, back to rgl - so checks can be run in a session, but oddly, rgl manages 
>> to segfault XQuartz in the checks. I don't think it's rgl's fault - more 
>> likely something in XQuartz (a TCP connection shouldn't be able to segfault 
>> the other end...).
>> Anyway, so if you can post the fixed release I'd be happy the recompile and 
>> publish manually.
>> Cheers,
>> Simon
>> PS: I found yet another problem - XQuartz has moved the location of fonts 
>> from X11/lib to X11/shared so our fontconfig configuration in R needs to add 
>> that directory as well. So all is all this has highlighted quite a few 
>> related issues ;)
>>> On Aug 20, 2021, at 11:43 AM, Duncan Murdoch <murdoch.dun...@gmail.com> 
>>> wrote:
>>> 
>>> Thanks Simon (and Prof Ripley, offline).  The --static modifier needs to be 
>>> added in two places in configure.ac, which leads to it being added in two 
>>> places in configure.
>>> 
>>> If anyone wants to build from source, you could get the CRAN release plus 
>>> this modification using
>>> 
>>>  remotes::install_github("dmurdoch/rgl@configpatch")
>>> 
>>> Duncan Murdoch
>>> 
>>> 
>>> On 19/08/2021 6:08 p.m., Simon Urbanek wrote:
>>>> R (and the CRAN builds) use more recent static freetype with harfbuzz 
>>>> support so it does not depend for those in XQuartz.
>>>> The issue is that rgl doesn't use sufficient flags to compile against 
>>>> freetype since it misses the dependencies - in fact is fails checks,
>>>> https://www.r-project.org/nosvn/R.check/r-release-macos-arm64/rgl-00check.html
>>>> pkg-config has to be used with --static --libs otherwise the linking 
>>>> doesn't have all the dependencies included that are necessary:
>>>> $ pkg-config freetype2 --libs
>>>> -L/opt/R/arm64/lib -lfreetype
>>>> $ pkg-config freetype2 --static --libs
>>>> -L/opt/R/arm64/lib -lfreetype -lbz2 -lpng16 -lz -lharfbuzz -lm -lglib-2.0 
>>>> -lintl -liconv -lm -Wl,-framework,CoreFoundation -Wl,-framework,Carbon 
>>>> -Wl,-framework,Foundation -Wl,-framework,AppKit -lpcre
>>>> The CRAN binaries are built against static libraries to make sure the user 
>>>> doesn't have to install 3rd party dependencies.
>>>> It looks line rgl does the right thing for libpng but not for freetype.
>>>> Cheers,
>>>> Simon
>>>>> On Aug 19, 2021, at 9:54 PM, Stefan Evert <stefa...@collocations.de> 
>>>>> wrote:
>>>>> 
>>>>> 
>>>>> 
>>>>>> On 19 Aug 2021, at 10:40, Duncan Murdoch <murdoch.dun...@gmail.com> 
>>>>>> wrote:
>>>>>> 
>>>>>>> Error in dyn.load(dynlib <- getDynlib(dir)) :
>>>>>>>  unable to load shared object 
>>>>>>> '/Library/Frameworks/R.framework/Versions/4.1-arm64/Resources/library/rgl/libs/rgl.so':
>>>>>>>  
>>>>>>> dlopen(/Library/Frameworks/R.framework/Versions/4.1-arm64/Resources/library/rgl/libs/rgl.so,
>>>>>>>  6): Symbol not found: _hb_buffer_add_utf8
>>>>>>>  Referenced from: 
>>>>>>> /Library/Frameworks/R.framework/Versions/4.1-arm64/Resources/library/rgl/libs/rgl.so
>>>>>>>  Expected in: flat namespace
>>>>>>> in 
>>>>>>> /Library/Frameworks/R.framework/Versions/4.1-arm64/Resources/library/rgl/libs/rgl.so
>>>>>> 
>>>>>> That looks like a symbol in the harfbuzz lib.  rgl doesn't reference it 
>>>>>> directly, I think FreeType does.  I don't know what you need to do to 
>>>>>> fix this, but maybe that's enough of a hint.
>>>>> 
>>>>> I just ran into the same problem with a M1 MacBook and XQuartz 2.8.1 
>>>>> installed.  My MacBook has no developer tools installed, not even XCode – 
>>>>> just R, "rgl" (and various other packages) from CRAN, and XQuartz.
>>>>> 
>>>>> XQuartz doesn't include libharfbuzz, so I doubt that it's libfreetype 
>>>>> depends on it.  Any chance that the CRAN machine that builds the aarch64 
>>>>> binary package links against some other version of freetype that pulls in 
>>>>> the dependency?
>>>>> 
>>>>> Best,
>>>>> Stefan
>>>>> _______________________________________________
>>>>> R-SIG-Mac mailing list
>>>>> R-SIG-Mac@r-project.org
>>>>> https://stat.ethz.ch/mailman/listinfo/r-sig-mac
>>>>> 
>>> 
> 

_______________________________________________
R-SIG-Mac mailing list
R-SIG-Mac@r-project.org
https://stat.ethz.ch/mailman/listinfo/r-sig-mac

Reply via email to