maressyl / R.ODB

R package to create, query and update OpenDocument Database (.odb) files.
http://bioinformatics.ovsa.fr/ODB
GNU General Public License v3.0
1 stars 1 forks source link

Question. Platform related error `utils::zip` #6

Closed dawidh15 closed 6 years ago

dawidh15 commented 6 years ago

Hello Sylvain:

I use ODB a lot, it is simple to use and handful. I built a Shiny App that reads an Open Data Base, performs some analysis, write a PDF and done.

I've tested the app in two computers, both on Windows 10. But when I run the App in Windows 7, I get an error:

Error in odb.close: utils:zip does not seem to work in your platform.
   ODB file update can not be performed

I 've read your code, for odb.close, I know you used the value from utils::zip to perform a check, and it's pretty obvious that the error is platform related, but:

Do you know of any possible solution to this error? Maybe, you can provide it in the error message.

In my case, the data is in the Windows 7 computer, so I'd really love the app can work there.

Thanks!

maressyl commented 6 years ago

Hi David,

Glad to read you are using ODB !

Actually I'm using Windows 7 (64 bits) myself, and I just got everything working fine with R 3.5.0 devel and a fresh ODB package from the CRAN repository (1.1.1), so we will need to trouble-shoot this a little further. Which versions are you using ?

Here is the very simple code I tried, if it works for you can you provide an example to reproduce the error ?

odb.create("test.odb")
odb <- odb.open("test.odb")
odb.close(odb)

Could you also check that utils:zip() is working on your platform (it does as well here) ?

cat(sample(letters, size=1000, replace=TRUE), file="test.txt")
utils::zip(zipfile="test.zip", files="test.txt")

Best, Sylvain

dawidh15 commented 6 years ago

Ok. I've got it!

Your test code, actually, prompted an error I haven't seen before. Here it is:

> odb.create("test.odb")
> odb <- odb.open("test.odb")
> odb.close(odb)
Error in odb.close(odb) : 
  utils::zip does not seem to work on your platform, ODB file update can not be performed.
In addition: Warning message:
running command '"zip" -r9Xq "test.zip" "test.txt" ' had status 127 
> cat(sample(letters, size=1000, replace=TRUE), file="test.txt")
> utils::zip(zipfile="test.zip", files="test.txt")
Warning message:
running command '"zip" -r9X "test.zip" "test.txt" ' had status 127 

The had status 127 wasn't there, for whatever reason. I then went to this post, and people there already solved it.

In short, I needed Rtools to be installed on my client computer. It wasn't there because I developed the App which depends on ODB in my personal computer.

I thought it was Windows 7 until your reply. I even upgraded the client's computer to R 3.5.1, re-installed all packages. But the error persisted. It was solved only after installing Rtools. I hope this little trouble will be useful for you.

Thanks