[Bioc-devel] GLX extension missing on petty

Dan Tenenbaum dtenenba at fhcrc.org
Sat Apr 6 20:36:00 CEST 2013


On Sat, Apr 6, 2013 at 11:32 AM, Dan Tenenbaum <dtenenba at fhcrc.org> wrote:
> On Sat, Apr 6, 2013 at 10:39 AM, Jiří Hon <xhonji01 at stud.fit.vutbr.cz> wrote:
>> Dne Fri, 05 Apr 2013 19:07:12 +0200 Dan Tenenbaum <dtenenba at fhcrc.org>
>> napsal(a):
>>
>>
>>> On Fri, Apr 5, 2013 at 2:11 AM, Jiří Hon <xhonji01 at stud.fit.vutbr.cz>
>>> wrote:
>>>>>
>>>>> In the short term, you can disable all vignette code chunks that use
>>>>> rgl (with eval=FALSE), and do the same with examples that use rgl
>>>>> (with \dontrun{}).
>>>>
>>>>
>>>>
>>>> Thank you a lot for tracking that down. Unfortunately all vignette code
>>>> chunks that use rgl have been always disabled with eval=FALSE. That
>>>> probably
>>>> means we have no way to workaround this problem on petty.
>>>>
>>>
>>> Turns out the real problem was unescaped accented characters in the
>>> vignette. Fixing that  along with two dontrun tags in example sections
>>> allows the package to build and check on Mac. I've made the changes in
>>> release and devel.
>>
>>
>> Thanks a lot for that, still it didn't pass check on Mac. So I removed the
>> work around of rgl segfault on Mac that is probably unnecessary and I hope
>> it helps. With dontrun tags around triplex.3D call no other rgl code should
>> be executed during check.
>>
>
> Thank you. I did not mean to check that in. I can confirm that the
> latest version passes check on petty.
>


Incidentally, the latest version of rgl is now available on CRAN. It
does not segfault in
example(rgl.material)
anymore. This means Snow Leopard users will be able to run triplex.

Dan


> Dan
>
>
>> Jirka
>>
>>
>>>
>>> Dan
>>>
>>>
>>>> Dne Fri, 05 Apr 2013 01:22:52 +0200 Dan Tenenbaum <dtenenba at fhcrc.org>
>>>> napsal(a):
>>>>
>>>>
>>>>> On Wed, Apr 3, 2013 at 9:45 AM, Dan Tenenbaum <dtenenba at fhcrc.org>
>>>>> wrote:
>>>>>>
>>>>>>
>>>>>> Hi Jirka,
>>>>>>
>>>>>>
>>>>>> On Wed, Apr 3, 2013 at 9:06 AM, Jiří Hon <xhonji01 at stud.fit.vutbr.cz>
>>>>>> wrote:
>>>>>>>
>>>>>>>
>>>>>>> Hi,
>>>>>>> the latest bioc build of my new package 'triplex' on petty ended with
>>>>>>> this
>>>>>>> error message:
>>>>>>>
>>>>>>> Warning in rgl.init(initValue) : RGL: GLX extension missing on server
>>>>>>> Warning in fun(libname, pkgname) : error in rgl_init
>>>>>>>
>>>>>>> For full report see
>>>>>>>
>>>>>>>
>>>>>>> http://bioconductor.org/checkResults/devel/bioc-LATEST/triplex/petty-buildsrc.html
>>>>>>>
>>>>>>> And I am wondering if there is anything I could do to fix this.
>>>>>>> Probably
>>>>>>> it's a build system problem, but other packages that depends on rgl
>>>>>>> and
>>>>>>> plots in 3D have no such build error (i.e. RDRToolbox) and that makes
>>>>>>> me
>>>>>>> sligthly nervous, so I would really appreciate any advice.
>>>>>>
>>>>>>
>>>>>>
>>>>>> This is a build system problem, and I am looking into it.
>>>>>> The build system runs under Xvfb, but I have no problem building your
>>>>>> package when logged into the console of petty.
>>>>>>
>>>>>
>>>>> A little more info on this.
>>>>>
>>>>> There are two problems. The first is that as mentioned before, our
>>>>> builds do not run physically logged into the console; they use a
>>>>> virtual frame buffer (Xvfb).
>>>>>
>>>>> We could look into changing this, but at present triplex seems to be
>>>>> the only package having this problem.
>>>>>
>>>>> Xvfb apparently does not have the OpenGL extensions compiled in. I
>>>>> will check with the XQuartz people. They have been responsive before.
>>>>>
>>>>> The second problem is if I do log into the actual physical console of
>>>>> the machine, I am able to build triplex but I get the following
>>>>> segfault when trying to run R CMD check on triplex:
>>>>>
>>>>>
>>>>>
>>>>>> However,  do get a segfault when running R CMD check on the triplex
>>>>>> source tarball:
>>>>>>
>>>>>> $ R CMD check --no-vignettes --timings triplex_0.99.0.tar.gz
>>>>>> [...]
>>>>>> * checking examples ...sh: line 1: 41089 Segmentation fault
>>>>>> LANGUAGE=en _R_CHECK_INTERNALS2_=1
>>>>>> '/Library/Frameworks/R.framework/Resources/bin/R' --vanilla >
>>>>>> 'triplex-Ex.Rout' 2>&1 < triplex-Ex.R
>>>>>>  ERROR
>>>>>> Running examples in ?~@~Xtriplex-Ex.R?~@~Y failed
>>>>>> The error most likely occurred in:
>>>>>>
>>>>>>> base::assign(".ptime", proc.time(), pos = "CheckExEnv")
>>>>>>> ### Name: triplex-package
>>>>>>> ### Title: Triplex search and visualization package
>>>>>>> ### Aliases: triplex-package triplex
>>>>>>> ### Keywords: package
>>>>>>>
>>>>>>> ### ** Examples
>>>>>>>
>>>>>>> seq <- DNAString("GGAAAGCAATGCCAGGCAGGG")
>>>>>>> t <- triplex.search(seq)
>>>>>>
>>>>>>
>>>>>> Searching for triplex type 0...
>>>>>> Searching for triplex type 1...
>>>>>> Searching for triplex type 2...
>>>>>> Searching for triplex type 3...
>>>>>> Searching for triplex type 4...
>>>>>> Searching for triplex type 5...
>>>>>> Searching for triplex type 6...
>>>>>> Searching for triplex type 7...
>>>>>>>
>>>>>>>
>>>>>>> triplex.diagram(t[1])
>>>>>>
>>>>>>
>>>>>>   A DNAStringSet instance of length 4
>>>>>>     width seq                                               names
>>>>>> [1]     8 CCCTGCCT                                          minus
>>>>>> [2]     8 GGGACGGA                                          plus
>>>>>> [3]     8 CCTTTCGT                                          para-minus
>>>>>> [4]     5 GGCAT                                             loop
>>>>>>>
>>>>>>>
>>>>>>> triplex.3D(t[1])
>>>>>>
>>>>>>
>>>>>>
>>>>>>  *** caught segfault ***
>>>>>> address 0x0, cause 'memory not mapped'
>>>>>>
>>>>>> Traceback:
>>>>>>  1: .C(rgl_material, success = FALSE, idata, cdata, ddata)
>>>>>>  2: rgl.material(color = color, back = back, ...)
>>>>>>  3: rgl.bg(color = bgr.col)
>>>>>>  4: triplex.3D(t[1])
>>>>>> aborting ...
>>>>>>
>>>>>
>>>>> This turns out to be reproducible simply like this:
>>>>>
>>>>> library(rgl)
>>>>> example(rgl.material)
>>>>>
>>>>> And it's caused by the following line (Material.cpp:39) in the rgl
>>>>> package:
>>>>>
>>>>>   const char* version = (const char*)glGetString(GL_VERSION);
>>>>>
>>>>> glGetString() is a function in the OpenGL library and it is segfaulting.
>>>>>
>>>>>
>>>>> Obviously that should not be happening. I'll try to track that down.
>>>>>
>>>>> In the short term, you can disable all vignette code chunks that use
>>>>> rgl (with eval=FALSE), and do the same with examples that use rgl
>>>>> (with \dontrun{}).
>>>>>
>>>>> The problem as far as I can tell is just on Snow Leopard which is what
>>>>> we use on our build systems.
>>>>> The package builds, checks, installs and runs OK on my Mountain Lion
>>>>> laptop.
>>>>>
>>>>> Dan
>>>>>
>>>>>
>>>>>> Dan
>>>>>>
>>>>>>
>>>>>>>
>>>>>>> Thank you a lot for your time and patience,
>>>>>>> Jirka
>>>>>>>
>>>>>>> _______________________________________________
>>>>>>> Bioc-devel at r-project.org mailing list
>>>>>>> https://stat.ethz.ch/mailman/listinfo/bioc-devel



More information about the Bioc-devel mailing list