[R-SIG-Mac] rgl for R-devel

Duncan Murdoch murdoch.duncan at gmail.com
Sat Jul 19 11:42:17 CEST 2014


On 18/07/2014, 8:18 PM, Simon Urbanek wrote:
> Duncan,
> 
> I didn't look at the code, but the approach seems strange - if you use something from the GLKit framework then the include should be
> 
> #include <GLKit/GLKMathUtils.h>
> 
> without specifying -I... You should never have the need to include the "Headers" directory directly (other than cases where the framework contains non-framework headers like R does) since frameworks are searched automatically when referenced.

Thanks.  I forget where that code came from.  Obviously I don't know
much about OSX programming.

One other question that might be simple, or might not:  I'm seeing
problems in Cocoa because after a user closes an rgl window (by clicking
on the x on the frame), the cleanup code is not being called.  rgl declares

@interface GLView : NSOpenGLView {
  rgl::OSXWindowImpl *impl;
  NSUInteger lastModifierFlags;
}

- (id)initWithFrame:(NSRect)frame
        pixelFormat:(NSOpenGLPixelFormat *)pixelFormat
               impl:(rgl::OSXWindowImpl *)impl;
@end

and then in the implementation section has the cleanup code in

- (void)dealloc
{
  if (impl) impl->on_dealloc();
  [super dealloc];
}

but as far as I can tell this isn't being called when the user closes
the window.  Is there some other method that is called to allow cleanup?
 The Apple docs probably talk about this somewhere, but I haven't found
where...

Duncan Murdoch

> 
> @Roger: on 10.9.2 (darwin 13.1.0 - which matches your build) I see
> $ ls -l /System/Library/Frameworks/GLKit.framework/Headers/
> total 16
> -rw-r--r--  1 root  wheel   7327 Apr 11 05:49 GLKBaseEffect.h
> -rw-r--r--  1 root  wheel   1435 Apr 11 05:49 GLKEffectProperty.h
> [...]
> -rw-r--r--  1 root  wheel   1224 Apr 11 05:49 GLKMathUtils.h
> [...]
> 
> Cheers,
> Simon
> 
> 
> On Jul 18, 2014, at 9:07 PM, Duncan Murdoch <murdoch.duncan at gmail.com> wrote:
> 
>> On 18/07/2014, 4:41 PM, Roger Koenker wrote:
>>> I'm trying to
>>>
>>> install.packages("rgl", type = "source")
>>>
>>> with
>>>
>>>> sessionInfo()
>>> R Under development (unstable) (2014-07-09 r66111)
>>> Platform: x86_64-apple-darwin13.1.0 (64-bit)
>>>
>>> locale:
>>> [1] en_US.UTF-8/en_US.UTF-8/en_US.UTF-8/C/en_US.UTF-8/en_US.UTF-8
>>>
>>> attached base packages:
>>> [1] stats     graphics  grDevices utils     datasets  methods   base     
>>>
>>> other attached packages:
>>> [1] quantreg_5.05 SparseM_1.05 
>>>
>>> loaded via a namespace (and not attached):
>>> [1] tcltk_3.2.0 tools_3.2.0
>>>
>>> and seeing (eventually):
>>>
>>> clang++ -I/Library/Frameworks/R.framework/Resources/include -DNDEBUG -I/System/Library/Frameworks/GLKit.framework/Headers -I/System/Library/Frameworks/OpenGL.framework/Headers  -DHAVE_PNG_H -I/usr/local/include/libpng12 -I/usr/X11/include -DDarwin -DNO_GL_PREFIX -I/usr/X11R6/include -DHAVE_FREETYPE -Iext/ftgl -I/opt/X11/include/freetype2 -Iext -I/usr/local/include -I/usr/local/include/freetype2 -I/opt/X11/include   -Wall -mtune=core2 -g -O2  -fPIC  -Wall -mtune=core2 -g -O2  -c platform.cpp -o platform.o
>>> platform.cpp:16:10: fatal error: 'GLKMathUtils.h' file not found
>>> #include <GLKMathUtils.h> 
>>>         ^
>>> 1 error generated.
>>> make: *** [platform.o] Error 1
>>> ERROR: compilation failed for package ‘rgl’
>>>
>>> I do have a GLKit.framework  but there is no Headers subdir ...  
>>>
>>
>> What OSX version is that?  There were warnings about deprecated code in
>> rgl, so I switched to using GLKMathUtils, but apparently the configure
>> script isn't quite right.
>>
>> Duncan Murdoch
>>
>> _______________________________________________
>> R-SIG-Mac mailing list
>> R-SIG-Mac at r-project.org
>> https://stat.ethz.ch/mailman/listinfo/r-sig-mac
>>
>



More information about the R-SIG-Mac mailing list