omegahat/RDCOMClient

'RDCOMClient is not available (for R version 3.6.0)

Opened this issue · 18 comments

I am new to R, and am attempting to install the RDCOMClient package, but keep getting errors. If I attempt to install using devtools, I get:

devtools::install_github("omegahat/RDCOMClient")
Error in curl::curl_fetch_memory(url, handle = h) :
schannel: next InitializeSecurityContext failed: SEC_E_UNTRUSTED_ROOT (0x80090325) - The certificate chain was issued by an authority that is not trusted.

Or when I do this:

install.packages("RDCOMClient")
WARNING: Rtools is required to build R packages but is not currently installed. Please download and install the appropriate version of Rtools before proceeding:

https://cran.rstudio.com/bin/windows/Rtools/
Installing package into ‘C:/Users/ryanw/Documents/R/win-library/3.6’
(as ‘lib’ is unspecified)
Warning in install.packages :
package ‘RDCOMClient’ is not available (for R version 3.6.0)

It always seems to take some time to update after the R upgrades. I'd expect it to be available sometime soon. Anyone have a status update?

I opened pull request #20. It resolves this issue, but a note of caution: I rebuilt it specifically to change the behavior of unlisting arrays. Read the PR for more info.

If you want to give mine a shot without waiting on the PR to be accepted (or rejected), you can find it here: https://github.com/dkyleward/RDCOMClient

I opened pull request #20. It resolves this issue, but a note of caution: I rebuilt it specifically to change the behavior of unlisting arrays. Read the PR for more info.

If you want to give mine a shot without waiting on the PR to be accepted (or rejected), you can find it here: https://github.com/dkyleward/RDCOMClient

How would I install yours without waiting on the PR to be accepted? I've been eager to be able to use RDCOMClient again on 3.6

This will work:

devtools::install_github("dkyleward/RDCOMClient")

DRG01 commented

As of 01-28-2020 the devtools::install_github("dkyleward/RDCOMClient") is not working for me on RStudio Cloud. The following is what I get:

devtools::install_github("dkyleward/RDCOMClient") Downloading GitHub repo dkyleward/RDCOMClient@master ✓ checking for file ‘/tmp/RtmpLJgjhv/remotes1c21521bec/dkyleward-RDCOMClient-0a10675/DESCRIPTION’ ... ─ preparing ‘RDCOMClient’: ✓ checking DESCRIPTION meta-information ... ─ cleaning src ─ checking for LF line-endings in source and make files and shell scripts ─ checking for empty or unneeded directories ─ building ‘RDCOMClient_0.94-0.tar.gz’ Installing package into ‘/home/rstudio-user/R/x86_64-pc-linux-gnu-library/3.6’ (as ‘lib’ is unspecified) * installing source package ‘RDCOMClient’ ... ** using staged installation ** libs g++ -std=gnu++11 -I"/opt/R/3.6.0/lib/R/include" -DNDEBUG -I/usr/local/include -fpic -g -O2 -c COMError.cpp -o COMError.o In file included from COMError.cpp:1:0: RCOMObject.h:23:21: fatal error: windows.h: No such file or directory compilation terminated. /opt/R/3.6.0/lib/R/etc/Makeconf:176: recipe for target 'COMError.o' failed make: *** [COMError.o] Error 1 ERROR: compilation failed for package ‘RDCOMClient’ * removing ‘/home/rstudio-user/R/x86_64-pc-linux-gnu-library/3.6/RDCOMClient’ Error: Failed to install 'RDCOMClient' from GitHub: (converted from warning) installation of package ‘/tmp/RtmpLJgjhv/file1c26755b01/RDCOMClient_0.94-0.tar.gz’ had non-zero exit status

 

@DRG01 It looks like your Rstudio Cloud is running on linux/unix (which is the norm I think). COM is a Windows thing, and you can see it first fail by not finding the windows header file (windows.h). In short, this won't work.

https://en.wikipedia.org/wiki/Component_Object_Model

COM is an interface technology defined and implemented as standard only on Microsoft Windows and Apple's Core Foundation 1.3 and later plug-in application programming interface (API).

@dkyleward Thanks for the updating a version that would work with R 3.6. Unfortunately, it seems it is crashing R 4.0. Is there an easy way to fix this or what can't be could be done ( I don't mind helping where I can ) to make this where it will work on future versions of R? We depend fairly heavily on this library and this is effecting the stability of our code at a pretty bad time.

@nogeel Thanks for raising the issue. I just did some investigating and have posted a question to StackOverflow:

https://stackoverflow.com/questions/61735315/cant-build-rdcomclient-using-rtools40-and-r-4-0

In short, this is beyond my expertise level, but it seems likely that the switch to the new cpp compiler (rtools40) is an issue. Please contribute any thoughts to the SO article. Hopefully, we can get it fixed.

@dkyleward Thanks for looking into this and unfortunately this is beyond my knowledge too. It seems like they aren't maintaining this package anymore and there isn't really a better alternative if you have to COM to connect to Outlook to send an email.

I'm maintaining the package, but a little busy these days. I'll see if I can find time to deal with it.

@duncantl Awesome. Thanks and I completely understand being on busy side.

@duncantl So happy to hear from you! You'll see my pull request, which I'm hoping you'll consider. It improves nested array translation. I've been using that version for several months successfully. Thanks for taking time out of your busy schedule to look into this issue.

@duncantl and @dkyleward just to let you know there is another fork here which I have just installed in a clean install of R 4.0 and it seems to have installed fine (I have not yet tested functionality though).

@AmyMikhail: Unfortunately, that is actually my fork. I merely transferred ownership. As you say, it will install, but when you try to use it, R will crash. Hopefully, @duncantl has some time to work on this soon.

@dkyleward ah had thought it might be another one due to the different name. Do you know by any chance which DescTools functions actually use RDCOMclient? I am only using the package at the moment for the MedianCI function (which works fine and doesn´t crash R).

@AmyMikhail no sorry. I'm not familiar with that package. A brief search for functions like COMCreate() didn't turn up anything.

@duncantl I love this package and hope it is available again soon for R 4.0.0! I'd just use another version of R, but I'm seeing a lot of back compatibility issues.

This issue bled into 4.0 problems, so take a look here:
#24 (comment)