Skip to content

[Bioc-devel] Failed to locate any version of JAGS version 4

5 messages · Zhi Yang, Hervé Pagès

#
Hello everyone,

I encountered a problem with two of my Bioconductor packages built on the
windows server for the next release. Specifically, it couldn't locate any
version of JAGS version 4. Has anyone experienced the same issue with
importing or depending on rjags? Thank you!

** using staged installation
** libs
"C:/rtools40/mingw32/bin/"g++ -std=gnu++11
-I"D:/biocbuild/bbs-3.14-bioc/R/include" -DNDEBUG
-I'D:/biocbuild/bbs-3.14-bioc/R/library/Rcpp/include'
-I"C:/extsoft/include"     -O2 -Wall  -mfpmath=sse -msse2
-mstackrealign  -c EMalgorithm.cpp -o EMalgorithm.o
"C:/rtools40/mingw32/bin/"g++ -std=gnu++11
-I"D:/biocbuild/bbs-3.14-bioc/R/include" -DNDEBUG
-I'D:/biocbuild/bbs-3.14-bioc/R/library/Rcpp/include'
-I"C:/extsoft/include"     -O2 -Wall  -mfpmath=sse -msse2
-mstackrealign  -c RcppExports.cpp -o RcppExports.o
"C:/rtools40/mingw32/bin/"g++ -std=gnu++11
-I"D:/biocbuild/bbs-3.14-bioc/R/include" -DNDEBUG
-I'D:/biocbuild/bbs-3.14-bioc/R/library/Rcpp/include'
-I"C:/extsoft/include"     -O2 -Wall  -mfpmath=sse -msse2
-mstackrealign  -c checkBoundary.cpp -o checkBoundary.o
"C:/rtools40/mingw32/bin/"g++ -std=gnu++11
-I"D:/biocbuild/bbs-3.14-bioc/R/include" -DNDEBUG
-I'D:/biocbuild/bbs-3.14-bioc/R/library/Rcpp/include'
-I"C:/extsoft/include"     -O2 -Wall  -mfpmath=sse -msse2
-mstackrealign  -c convertFromToVector.cpp -o convertFromToVector.o
C:/rtools40/mingw32/bin/g++ -std=gnu++11 -shared -s -static-libgcc -o
HiLDA.dll tmp.def EMalgorithm.o RcppExports.o checkBoundary.o
convertFromToVector.o -LC:/extsoft/lib/i386 -LC:/extsoft/lib
-LD:/biocbuild/bbs-3.14-bioc/R/bin/i386 -lR
installing to D:/biocbuild/bbs-3.14-bioc/meat/HiLDA.buildbin-libdir/00LOCK-HiLDA/00new/HiLDA/libs/i386
** R
** inst
** byte-compile and prepare package for lazy loading
Error: .onLoad failed in loadNamespace() for 'rjags', details:
  call: fun(libname, pkgname)
  error: Failed to locate any version of JAGS version 4

The rjags package is just an interface to the JAGS library
Make sure you have installed JAGS-4.x.y.exe (for any x >=0, y>=0)
fromhttp://www.sourceforge.net/projects/mcmc-jags/files
Execution halted
ERROR: lazy loading failed for package 'HiLDA'
* removing 'D:/biocbuild/bbs-3.14-bioc/meat/HiLDA.buildbin-libdir/HiLDA'


Regards,
Zhi Yang
#
Hmm.. so a new version of rjags (4-11) got published on CRAN on Sept 24:

   https://cran.r-project.org/package=rjags

and for some reason they modified the code they use in their onLoad() 
hook to find JAGS on Windows. They were using in rjags 4-10:

     readRegistry("SOFTWARE\\JAGS", hive="HLM", maxdepth=2, view="32-bit")


which was working fine on our Windows server riesling1 (and AFAIK also 
on the CRAN Windows build machine), but in rjags 4-11 they use:

     readRegistry("SOFTWARE\\JAGS", hive="HLM", maxdepth=2, view="64-bit")



which fails on riesling1 with:

     Error in readRegistry("SOFTWARE\\JAGS", hive = "HLM", maxdepth = 2, 
view = "64-bit") :

       Registry key 'SOFTWARE\JAGS' not found


I've reinstalled JAGS-4.3.0 on riesling1 but that doesn't change anything.

Unfortunately this breaks all packages that depend on rjags:

   - https://bioconductor.org/checkResults/3.14/bioc-LATEST/CNVrd2/
   - https://bioconductor.org/checkResults/3.14/bioc-LATEST/HiLDA/
   - https://bioconductor.org/checkResults/3.14/bioc-LATEST/infercnv/
   - https://bioconductor.org/checkResults/3.14/bioc-LATEST/MADSEQ/

Help appreciated.

BTW your package HiLDA is one of them so I wonder why rjags is not 
listed in the Imports field.

Best,
H.
On 11/10/2021 21:24, Zhi Yang wrote:

  
    
#
Thank you so much, Herve! It makes sense to me now. I imported R2jags in my
package, which depends on rjags.

Regards,
Zhi Yang




On Tue, Oct 12, 2021 at 1:14 PM Herv? Pag?s <hpages.on.github at gmail.com>
wrote:

  
  
#
Update: I defined the JAGS_HOME environment variable on riesling1 as 
suggested off-list by Martin (thanks Martin), so now rjags can be loaded 
again. This should solve the problem for CNVrd2, HiLDA, infercnv, and 
MADSEQ.

I did the same on tokay2 (Windows server for the 3.13 builds) where the 
recent update to rjags also broke the 4 Bioconductor packages above. 
While I was on it, I updated JAGS from JAGS-4.2.0 to the latest version 
(JAGS-4.3.0) on tokay2. So now we have the same version on riesling1 and 
tokay2.

Cheers,
H.
On 12/10/2021 13:29, Zhi Yang wrote:

  
    
1 day later
#
Many thanks to Herv? and Martin. Two of my packages now passed multiple
platform build/check.

Regards,
Zhi Yang




On Wed, Oct 13, 2021 at 10:18 AM Herv? Pag?s <hpages.on.github at gmail.com>
wrote: