Hello list, I'm using R 2.9.2 on a WinXP system, and I installed the RPostgreSQL library using the package installer. When trying to load it, I get the following error:> library('RPostgreSQL')Error in inDL(x, as.logical(local), as.logical(now), ...) : unable to load shared library 'C:/PROGRA~1/R/R/library/RPostgreSQL/libs/RPostgreSQL.dll': LoadLibrary failure: The operating system cannot run %1. Error: package/namespace load failed for 'RPostgreSQL' So one way or the other, the DLL is not found... Does anyone know how to fix this? I don't suppose DLL should be directly in my PATH, right? Thanks for any hints, Arnout
Fanfaar wrote:> I'm using R 2.9.2 on a WinXP system, and I installed the RPostgreSQL> Error: package/namespace load failed for 'RPostgreSQL'> I don't suppose DLL should be directly in my PATH, right?> Thanks for any hints,I don't use Windows, much, but if I recall correctly the DLLs do need to be visible in your PATH, including other DLLs loaded by this one. Which brings me to my other thought -- RPostgreSQL depends on libpq, so I wonder if you have installed the PostgreSQL client? HTH, Joe -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 897 bytes Desc: OpenPGP digital signature URL: <https://stat.ethz.ch/pipermail/r-help/attachments/20091014/b62774f8/attachment-0002.bin>
On Wed, 14 Oct 2009, Fanfaar wrote:> Hello list, > > I'm using R 2.9.2 on a WinXP system, and I installed the RPostgreSQL > library using the package installer. When trying to load it, I get the > following error: > >> library('RPostgreSQL') > Error in inDL(x, as.logical(local), as.logical(now), ...) : > unable to load shared library > 'C:/PROGRA~1/R/R/library/RPostgreSQL/libs/RPostgreSQL.dll': > LoadLibrary failure: The operating system cannot run %1. > > Error: package/namespace load failed for 'RPostgreSQL' > > So one way or the other, the DLL is not found... Does anyone know howThat is not what it says: it says it cannot *load* the DLL. You need the PostgreSQL client dll in your path, and I guess that (or its version) is the problem. (Usually Windows gives you a popup with more information, and indeed on my laptop it told me LIBPQ.DLL could not be found.) And pedump suggests that it is linked against entry points by number not name, a very fragile arrangement. I always worry that packages that link to external DLLs can be very dependent on the version of that DLL (and see the above comment). I could not see a description of the version of PostgreSQL used on Uwe's ReadMe (assuming this is a binary from CRAN), and suggest (as did the rw-FAQ) that you install RPostgreSQL from source against your own PostgreSQL installation. (That's what I do on my Windows desktop which does have PostgreSQL installed, and when I updated PostgreSQL I had to re-install PostgreSQL ....)> to fix this? I don't suppose DLL should be directly in my PATH, right? > > Thanks for any hints, > Arnout > > ______________________________________________ > R-help at r-project.org mailing list > https://stat.ethz.ch/mailman/listinfo/r-help > PLEASE do read the posting guide http://www.R-project.org/posting-guide.html > and provide commented, minimal, self-contained, reproducible code.Yes another person who thinks that does not apply to them. -- Brian D. Ripley, ripley at stats.ox.ac.uk Professor of Applied Statistics, http://www.stats.ox.ac.uk/~ripley/ University of Oxford, Tel: +44 1865 272861 (self) 1 South Parks Road, +44 1865 272866 (PA) Oxford OX1 3TG, UK Fax: +44 1865 272595
Thanks, Brian and Joe, for the explanations. The libpq DLL was indeed the problem. FYI, it seems to load fine using the PostgreSQL 8.4 libpq.gll, if further testing reveals problems I'll report it back. Arnout On Wed, Oct 14, 2009 at 4:33 PM, Fanfaar <fanfaar at gmail.com> wrote:> Hello list, > > I'm using R 2.9.2 on a WinXP system, and I installed the RPostgreSQL > library using the package installer. When trying to load it, I get the > following error: > >> library('RPostgreSQL') > Error in inDL(x, as.logical(local), as.logical(now), ...) : > ?unable to load shared library > 'C:/PROGRA~1/R/R/library/RPostgreSQL/libs/RPostgreSQL.dll': > ?LoadLibrary failure: ?The operating system cannot run %1. > > Error: package/namespace load failed for 'RPostgreSQL' > > So one way or the other, the DLL is not found... Does anyone know how > to fix this? I don't suppose DLL should be directly in my PATH, right? > > Thanks for any hints, > Arnout >