I'm running R 4.2.1 (ARM) installed via Home-brew on a M1 PowerBook with x86 Oracle's instant client 19.8 + SDK (Oracle only has legacy processor architectures available as of October 2022) that fuels my isql
command line access to an Oracle DB.
I wish to have a solution to retrieve query results from that remote Oracle DB in R, like I can in Python with oracledb
. I spent a day trying to find a ODBC solution, but it seems not to be an option as connectors for oracle are unavailable or cost money wish is not an alternative in this project. Maybe Oracle just hates ARM. :(
My attempts to install the "ROracle" package exits with installation of package ‘ROracle’ had non-zero exit status
. ROracle seems to be from 2016, and when I try to compile a package it tells me that ...ROracle/’ is not available for this version of R
.
No installation manuals speaks decently about the combinations of package, sdk, and R versions needed to run ROracle on modern Macs. Do you think "not available for this version of R" refers to my ARM-version or the 4.2.1 version?
If I'd know of a working combinations of versions of R, Oracle Instant Client and SDK, I would save a lot of time, so please let me know any of your working configs for ROracle on M1 Macs if this is at all possible.
I get a bit further using remotes::install_local(type='source')
but it fails too, like this:
Skipping 1 packages not available: DBI
Running `R CMD build`...
* checking for file ‘/private/var/folders/qf/jbng9jq14n34gdrpmjfhksmm0000gn/T/RtmpPIsi0k/file1253742cf18be/ROracle_Mac/DESCRIPTION’ ... OK
* preparing ‘ROracle’:
* checking DESCRIPTION meta-information ... OK
* cleaning src
* running ‘cleanup’
* checking for LF line-endings in source and make files and shell scripts
* checking for empty or unneeded directories
* building ‘ROracle_1.3-1.tar.gz’
* installing *source* package ‘ROracle’ ...
** using staged installation
configure: creating ./config.status
config.status: creating src/Makevars
** libs
clang -arch arm64 -I"/Library/Frameworks/R.framework/Resources/include" -DNDEBUG -I/Users/josef/instantclient_19_8/sdk/include -I/opt/R/arm64/include -fPIC -falign-functions=64 -Wall -g -O2 -c rodbi.c -o rodbi.o
rodbi.c:2432:53: warning: format specifies type 'long long' but the argument has type 'sb8' (aka 'long') [-Wformat]
sprintf(err_buf, RODBI_ERR_BIND_VAL_TOOBIG, bndsz);
~~~~~~~~~~~~~~~~~~~~~~~~~ ^~~~~
/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/secure/_stdio.h:47:56: note: expanded from macro 'sprintf'
__builtin___sprintf_chk (str, 0, __darwin_obsz(str), __VA_ARGS__)
etc.