jaramana
jaramana

Reputation: 77

RDCOMClient installation trouble on R-3.6

I cannot install RDCOMClient, using R-3.6

Some background: RDCOMClient works in my R-3.51 instance, and I need to use 3.6, and I need to use RDCOMClient to interact with my desktop's Outlook. mailR and sendmailR are not currently an option.

Thing's I've tried:

>install.packages("RDCOMClient")
Installing package into ‘C:/Users/<user>/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)
> library("devtools")
> install_github('omegahat/RDCOMClient')
Error: Failed to install 'unknown package' from GitHub:
  Timeout was reached: Connection timed out after 10000 milliseconds
> install.packages("RDCOMClient", repos = "http://www.omegahat.org/R")
Installing package into ‘C:/Users/<users>/Documents/R/win-library/3.6’
(as ‘lib’ is unspecified)
Warning in install.packages :
  unable to access index for repository http://www.omegahat.org/R/src/contrib:
  cannot open URL 'http://www.omegahat.org/R/src/contrib/PACKAGES'
Warning in install.packages :
  package ‘RDCOMClient’ is not available (for R version 3.6.0)
Warning in install.packages :
  unable to access index for repository http://www.omegahat.org/R/bin/windows/contrib/3.6:
  cannot open URL 'http://www.omegahat.org/R/bin/windows/contrib/3.6/PACKAGES'
> install.packages("RDCOMClient", repos = "http://www.omegahat.net/R")
Installing package into ‘C:/Users/<user>/Documents/R/win-library/3.6’
(as ‘lib’ is unspecified)
Warning in install.packages :
  unable to access index for repository http://www.omegahat.net/R/bin/windows/contrib/3.6:
  cannot open URL 'http://www.omegahat.net/R/bin/windows/contrib/3.6/PACKAGES'
Package which is only available in source
  form, and may need compilation of
  C/C++/Fortran: ‘RDCOMClient’
installing the source package ‘RDCOMClient’

trying URL 'http://www.omegahat.net/R/src/contrib/RDCOMClient_0.93-0.tar.gz'
Content type 'application/x-gzip' length 49509 bytes (48 KB)
downloaded 48 KB

* installing *source* package 'RDCOMClient' ...
** using staged installation
** libs

*** arch - i386
C:/Rtools/mingw_32/bin/g++  -I"C:/PROGRA~1/R/R-36~1.0/include" -DNDEBUG -D_GNU_ -DNO_PYCOM_IPROVIDECLASSINFO -I.      -Wno-deprecated    -O2 -Wall  -mtune=generic -c COMError.cpp -o COMError.o
COMError.cpp:347:0: warning: "_countof" redefined
 #define _countof(array) (sizeof(array)/sizeof(array[0]))
 ^
In file included from C:/Rtools/mingw_32/i686-w64-mingw32/include/combaseapi.h:129:0,
                 from C:/Rtools/mingw_32/i686-w64-mingw32/include/objbase.h:14,
                 from C:/Rtools/mingw_32/i686-w64-mingw32/include/ole2.h:17,
                 from C:/Rtools/mingw_32/i686-w64-mingw32/include/wtypes.h:12,
                 from C:/Rtools/mingw_32/i686-w64-mingw32/include/winscard.h:10,
                 from C:/Rtools/mingw_32/i686-w64-mingw32/include/windows.h:97,
                 from RCOMObject.h:23,
                 from COMError.cpp:1:
C:/Rtools/mingw_32/i686-w64-mingw32/include/stdlib.h:299:0: note: this is the location of the previous definition
 #define _countof(_Array) sizeof(*__countof_helper(_Array))
 ^
In file included from COMError.cpp:1:0:
RCOMObject.h: In member function 'virtual ULONG RCOMObject::Release()':
RCOMObject.h:61:50: warning: deleting object of abstract class type 'RCOMObject' which has non-virtual destructor will cause undefined behaviour [-Wdelete-non-virtual-dtor]
                                           delete this;
                                                  ^
COMError.cpp: In function 'void GetScodeString(HRESULT, LPTSTR, int)':
COMError.cpp:371:39: warning: format '%x' expects argument of type 'unsigned int', but argument 3 has type 'HRESULT {aka long int}' [-Wformat=]
  sprintf(buf, ("OLE error 0x%08x"), hr);
                                       ^
COMError.cpp: In function 'HRESULT checkErrorInfo(IUnknown*, HRESULT, SEXPREC**)':
COMError.cpp:409:51: warning: format '%X' expects argument of type 'unsigned int', but argument 3 has type 'HRESULT {aka long int}' [-Wformat=]
   fprintf(stderr, "<checkErrorInfo> %X \n", status);
                                                   ^
C:/Rtools/mingw_32/bin/gcc  -I"C:/PROGRA~1/R/R-36~1.0/include" -DNDEBUG -D_GNU_ -DNO_PYCOM_IPROVIDECLASSINFO -I.         -O3 -Wall  -std=gnu99 -mtune=generic -c RUtils.c -o RUtils.o
C:/Rtools/mingw_32/bin/g++  -I"C:/PROGRA~1/R/R-36~1.0/include" -DNDEBUG -D_GNU_ -DNO_PYCOM_IPROVIDECLASSINFO -I.      -Wno-deprecated    -O2 -Wall  -mtune=generic -c connect.cpp -o connect.o
connect.cpp: In function 'HRESULT R_getCOMArgs(SEXP, DISPPARAMS*, DISPID*, int, int*)':
connect.cpp:405:10: warning: variable 'hr' set but not used [-Wunused-but-set-variable]
  HRESULT hr;
          ^
C:/Rtools/mingw_32/bin/g++  -I"C:/PROGRA~1/R/R-36~1.0/include" -DNDEBUG -D_GNU_ -DNO_PYCOM_IPROVIDECLASSINFO -I.      -Wno-deprecated    -O2 -Wall  -mtune=generic -c converters.cpp -o converters.o
In file included from converters.cpp:1:0:
RCOMObject.h: In member function 'virtual ULONG RCOMObject::Release()':
RCOMObject.h:61:50: warning: deleting object of abstract class type 'RCOMObject' which has non-virtual destructor will cause undefined behaviour [-Wdelete-non-virtual-dtor]
                                           delete this;
                                                  ^
converters.cpp: In function 'SEXPREC* R_convertDCOMObjectToR(VARIANT*)':
converters.cpp:365:11: warning: variable 'hr' set but not used [-Wunused-but-set-variable]
   HRESULT hr;
           ^
C:/Rtools/mingw_32/bin/g++ -shared -s -static-libgcc -o RDCOMClient.dll tmp.def COMError.o RUtils.o connect.o converters.o -lole32 -loleaut32 -luuid -LC:/PROGRA~1/R/R-36~1.0/bin/i386 -lR
COMError.o:COMError.cpp:(.text+0x2b3): undefined reference to `vtable for RCOMObject'
COMError.o:COMError.cpp:(.text+0x4c3): undefined reference to `vtable for RCOMObject'
COMError.o:COMError.cpp:(.text$_ZN10RCOMObject7ReleaseEv+0x19): undefined reference to `vtable for RCOMObject'
converters.o:converters.cpp:(.text+0x175d): undefined reference to `vtable for RCOMObject'
collect2.exe: error: ld returned 1 exit status
no DLL was created
ERROR: compilation failed for package 'RDCOMClient'
* removing 'C:/Users/<user>/Documents/R/win-library/3.6/RDCOMClient'
Warning in install.packages :
  installation of package ‘RDCOMClient’ had non-zero exit status

The downloaded source packages are in
    ‘C:\Users\<user>\AppData\Local\Temp\Rtmpc7CCRI\downloaded_packages’

I suspect RDCOMClient doesn't support 3.6, seeing as it's not in the directory here: http://www.omegahat.net/R/bin/windows/contrib/, but I figured I'd try here before I move on.

Is there anything I can do to get it working?

Upvotes: 4

Views: 4535

Answers (5)

luis vergara
luis vergara

Reputation: 141

This work for me

library("devtools")
install_github('omegahat/RDCOMClient')

Upvotes: 2

MSM
MSM

Reputation: 69

You can try accessing it from omegahet. It works perfectly

url <- "http://www.omegahat.net/R/bin/windows/contrib/3.5.1/RDCOMClient_0.93-0.zip" install.packages(url, repos=NULL, type="binary")

Upvotes: 0

Amine Boumaaz
Amine Boumaaz

Reputation: 1

there is a package update at http://www.omegahat.net/R/bin/windows/contrib/4.0.0/ that worked for me (R-4.0.3). Guess it should work for R-3.6 too.

Upvotes: 0

Andri Signorell
Andri Signorell

Reputation: 1309

It is not so, that RDCOMClient doesn't support R3.6. It only has not (yet) been compiled with 3.6x and been placed in the subdirectory of the current version in the repository "http://www.omegahat.net/R/bin/windows/contrib/3.6/". However the version 0.93-0 compiled with R 3.5x is fully compatible with R 3.6x, just download it from the 3.5 directory "http://www.omegahat.net/R/bin/windows/contrib/3.5.1/" and install as zip from your local PC.

Or do it directly

url <- "http://www.omegahat.net/R/bin/windows/contrib/3.5.1/RDCOMClient_0.93-0.zip"
install.packages(url, repos=NULL, type="binary")

Upvotes: 9

jaramana
jaramana

Reputation: 77

It seems that RDCOMClient doesn't currently support R3-6. To resolve this issue I have to switch to version R3.51 in Options to run RDCOMClient and send the e-mails.

It's not an ideal solution, but will do until they release an updated version.

Upvotes: 0

Related Questions