[Bioc-devel] JAVA_HOME cannot be determined on Windows on Bioconductor platform report

Hervé Pagès hp@ge@@on@g|thub @end|ng |rom gm@||@com
Fri Oct 22 21:56:07 CEST 2021

Hi Augustin,

Well, I just spotted another problem with paxtoolsr. The bc05330e commit 
(from Sep 16) commented out the "UnsupportedPlatforms: win32" line in 
the .BBSoptions:

   ~$ git diff 84cb775798e074e881aefb904b05b89b41b49db1 
bc05330e337626406d76e69dd4a636e594431cb5 .BBSoptions

   diff --git a/.BBSoptions b/.BBSoptions

   index 0a7618d..f765312 100644

   --- a/.BBSoptions

   +++ b/.BBSoptions

   @@ -2,4 +2,4 @@

    # The reason this package is marked as unsupported on win32 is that
    # it requires the Java JDK. However it seems that Oracle no longer

    # provides the JDK for 32-bit windows:

    # https://www.oracle.com/java/technologies/javase-jdk14-downloads.html

   -UnsupportedPlatforms: win32

   +# UnsupportedPlatforms: win32

Note that the reason why we added this .BBSoptions file is explained in 
the file itself.

Right now paxtoolsr fails to install for the i386 arch on rieling1 (see 
but the package does successfully install for the x64 arch. I just went 
on riesling1 and was able to install the package manually:

PS D:\biocbuild\bbs-3.14-bioc\meat> ..\R\bin\R --arch x64 CMD INSTALL 
--no-multiarch paxtoolsr
* installing to library 'D:/biocbuild/bbs-3.14-bioc/R/library'
* installing *source* package 'paxtoolsr' ...
** using staged installation
** R
** inst
** byte-compile and prepare package for lazy loading
** help
*** installing help indices
   converting help for package 'paxtoolsr'
     finding HTML links ... done
     addAttributeList                        html
     convertDataFrameListsToVectors          html
     convertSifToGmt                         html
     downloadFile                            html
     downloadPc2                             html
     downloadSignedPC                        html
     fetch                                   html
     filterSif                               html
     getCacheFiles                           html
     getErrorMessage                         html
     getNeighbors                            html
     getPc                                   html
     getPcDatabaseNames                      html
     getPcUrl                                html
     getShortestPathSif                      html
     getSifInteractionCategories             html
     graphPc                                 html
     integrateBiopax                         html
     loadSifInIgraph                         html
     mapAttributes                           html
     mapValues                               html
     mergeBiopax                             html
     pcDirections                            html
     pcFormats                               html
     pcGraphQueries                          html
     processPcRequest                        html
     readBiopax                              html
     readGmt                                 html
     readPcPathwaysInfo                      html
     readSbgn                                html
     readSif                                 html
     readSifnx                               html
     searchListOfVectors                     html
     searchPc                                html
     splitSifnxByPathway                     html
     summarize                               html
     summarizeSif                            html
     toCytoscape                             html
     toGSEA                                  html
     toLevel3                                html
     toSBGN                                  html
     toSif                                   html
     toSifnx                                 html
     topPathways                             html
     traverse                                html
     validate                                html
** building package indices
** installing vignettes
** testing if installed package can be loaded from temporary location
java version "15.0.1" 2020-10-20
Java(TM) SE Runtime Environment (build 15.0.1+9-18)
Java HotSpot(TM) 64-Bit Server VM (build 15.0.1+9-18, mixed mode, sharing)
MSG: Java found:  NA
** testing if installed package can be loaded from final location
java version "15.0.1" 2020-10-20
Java(TM) SE Runtime Environment (build 15.0.1+9-18)
Java HotSpot(TM) 64-Bit Server VM (build 15.0.1+9-18, mixed mode, sharing)
MSG: Java found:  NA
** testing if installed package keeps a record of temporary installation 
* DONE (paxtoolsr)
Making 'packages.html' ... done

Please uncomment the "UnsupportedPlatforms: win32" line and we'll start 
from there.


On 22/10/2021 09:25, Augustin Luna wrote:
> Thanks for the responses. But they are not addressing my problem. I
> have GitHub Actions checking the package on Windows/macOS/Linux using
> Java OpenJDK 14 with tests/examples running fine on both R release and
> devel.
> https://github.com/BioPAX/paxtoolsr/actions/runs/1372348962
> At this point, I'm not debugging my code rather the Bioconductor build
> system. Tests/examples that do not run on Bioconductor are running
> fine elsewhere.
> More helpful to me would be instructions to some VM file or Docker
> container where I could mimic the Bioconductor setup. I'm at a loss
> for how to debug this problem or what is unique about the Bioconductor
> system.
> Searching through code from other packages is not helpful unless I
> know what I'm looking for. In this case, it means a package that had a
> "JLRequestRuntimeInstall: Error calling: CFMessagePortCreateRemote"
> error and addressed it successfully.
> Stack Overflow only gives me hints regarding
> "CFMessagePortCreateRemote" errors in that there is a problem with the
> installation of Java:
> https://stackoverflow.com/questions/15289059/install-java-on-mac-osx-10-8-2-error-calling-cfmessageportcreateremote
> PS: I removed the "which java" call.
> Thanks,
> Augustin Luna
> On Mon, Oct 18, 2021 at 3:14 PM Hervé Pagès <hpages.on.github using gmail.com> wrote:
>> Hi Augustin,
>> Please don't rely on JAVA_HOME to detect Java. The JDK installer on
>> Windows doesn't set this variable so you shouldn't expect it to be set
>> on the user's machine. AFAIK the other Bioconductor packages that depend
>> on Java don't use their own code to detect Java. Instead I believe that
>> they run their Java code via rJava so they delegate to rJava the
>> responsibility to find Java for them.
>> Here is the list of all Bioconductor packages that depend on rJava:
>>     ArrayExpressHTS
>>     (not supported on Windows)
>>     BridgeDbR
>>     CHRONOS
>>     debCAM
>>     esATAC
>>     gaggle
>>     Onassis
>>     ReQON
>>     RGMQL
>>     rmelting
>>     sarks
>>     SELEX
>> Feel free to take a look at how they handle this.
>> Cheers,
>> H.
>> On 18/10/2021 10:13, Vincent Carey wrote:
>>> That should be fixable.  The build system needs to have a correct setting
>>> for JAVA_HOME.  But you have
>>> clearly nonportable code in .onLoad in paxtoolsr.R -- system("which java")
>>> ... this should not be
>>> necessary at all, just import rJava.
>>> On Mon, Oct 18, 2021 at 12:29 PM Augustin Luna <cannin using gmail.com> wrote:
>>>> I have the following error:
>>>> "error: JAVA_HOME cannot be determined from the Registry"
>>>> for this package:
>>>> https://bioconductor.org/checkResults/devel/bioc-LATEST/paxtoolsr/riesling1-install.html
>>>> I have been given assurances that Java is present but given this
>>>> error, I am not so sure and I am unsure how to debug or fix it.
>>>> Can anyone suggest how to proceed?
>>>> Thanks,
>>>> Augustin Luna
>>>> _______________________________________________
>>>> Bioc-devel using r-project.org mailing list
>>>> https://stat.ethz.ch/mailman/listinfo/bioc-devel
>> --
>> Hervé Pagès
>> Bioconductor Core Team
>> hpages.on.github using gmail.com

Hervé Pagès

Bioconductor Core Team
hpages.on.github using gmail.com

More information about the Bioc-devel mailing list