[R-SIG-Mac] Solved ... was Re: Report of failure with installation of MonetDB.R
David Winsemius
dwinsemius at comcast.net
Wed May 7 06:23:06 CEST 2014
On May 6, 2014, at 8:19 PM, Thomas Lumley wrote:
> The error message looks as if you need /bin on the end of the path:
> it's looking for /usr/local/monetdb/mserver5 but the file is probably
> /usr/local/monetdb/bin/mserver5
>
> Personally, I start the server from the Terminal command line, per
> http://www.monetdb.com/Documentation/monetdbd
>
> First time only
> /usr/local/monetdb/bin/monetdbd create ~/my-dbfarm
>
> Subsequent times:
> Before starting R
> /usr/local/monetdb/bin/monetdbd start ~/my-dbfarm
Both of those commands run without error from the Terminal.app command line. When I execute one of the suggested commands in the Documentation page, I get:
david-winsemiuss-mac-pro:~ davidwinsemius$ monetdbd get all ~/my-dbfarm
-bash: monetdbd: command not found
But if I give it a full path it succeeds:
david-winsemiuss-mac-pro:~ davidwinsemius$ /usr/local/monetdb/bin/monetdbd get all ~/my-dbfarm
property value
hostname david-winsemiuss-mac-pro.local
dbfarm /Users/davidwinsemius/my-dbfarm
status monetdbd[22794] 1.7 (Jan2014-SP1) is serving this dbfarm
mserver /usr/local/monetdb/bin/mserver5
logfile /Users/davidwinsemius/my-dbfarm/merovingian.log
pidfile /Users/davidwinsemius/my-dbfarm/merovingian.pid
sockdir /tmp
port 50000
exittimeout 60
forward proxy
discovery true
discoveryttl 600
control no
passphrase <unknown>
mapisock /tmp/.s.monetdb.50000
controlsock /tmp/.s.merovingian.50000
So I think I may need to add /usr/local/monetdb/bin/ to my bash PATH.
Adding it to my Sys.path may be needed as well because the help page example still fails:
> library(MonetDB.R)
Loading required package: DBI
Loading required package: digest
> conn <- dbConnect(MonetDB.R(), "monetdb://localhost/demo")
Error in .monetAuthenticate(socket, dbname, user, password, language = language) :
Authentication error: !monetdbd: no such database 'demo', please create it first
> Sys.getenv()['PATH']
PATH
"/opt/local/bin:/opt/local/sbin:/sw/bin:/sw/sbin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/texbin:/usr/X11/bin:/usr/X11R6/bin"
I finally decide that was not needed after working through a bit more of the documentation going back and forth between the bash console and the R console:
> conn <- dbConnect(MonetDB.R(), "monetdb://david-winsemiuss-mac-pro.local/demo")
Error in .monetAuthenticate(socket, dbname, user, password, language = language) :
Authentication error: !monetdbd: no such database 'demo', please create it first
So I tried creating it with:
david-winsemiuss-mac-pro:~ davidwinsemius$ /usr/local/monetdb/bin/monetdb create demo
created database in maintenance mode: demo
> conn <- dbConnect(MonetDB.R(), "monetdb://david-winsemiuss-mac-pro.local/demo")
Error in .monetAuthenticate(socket, dbname, user, password, language = language) :
Authentication error: !monetdbd: database 'demo' is under maintenance
So I ran the next command from the MonetDB documentation:
david-winsemiuss-mac-pro:~ davidwinsemius$ /usr/local/monetdb/bin/monetdb start demo
starting database 'demo'... done
Then the example code runs:
> conn <- dbConnect(MonetDB.R(), "monetdb://david-winsemiuss-mac-pro.local/demo")
> dbListTables(conn)
character(0)
> data(iris)
> dbWriteTable(conn, "iris", iris)
[1] TRUE
> dbGetQuery(conn, "SELECT COUNT(*) FROM iris;")
L1
1 150
> d <- dbReadTable(conn, "iris")
> str(d)
'data.frame': 150 obs. of 5 variables:
$ sepal_length: num 5.1 4.9 4.7 4.6 5 5.4 4.6 5 4.4 4.9 ...
$ sepal_width : num 3.5 3 3.2 3.1 3.6 3.9 3.4 3.4 2.9 3.1 ...
$ petal_length: num 1.4 1.4 1.3 1.5 1.4 1.7 1.4 1.5 1.4 1.5 ...
$ petal_width : num 0.2 0.2 0.2 0.2 0.2 0.4 0.3 0.2 0.2 0.1 ...
$ species : chr "setosa" "setosa" "setosa" "setosa" ...
I still need to add the ../monetdb/bin location to my bash PATH, but I think I can figure than out
Thank you for your assistance, Thomas.
--
David
>
> After exiting R
> /usr/local/monetdb/bin/monetdbd start ~/my-dbfarm
>
>
> -thomas
>
>
>
>
> On Wed, May 7, 2014 at 2:53 PM, David Winsemius <dwinsemius at comcast.net> wrote:
>> Dear Hannes or anybody;
>>
>> I did not find any pages (despite searching) for the installation process of MonetDB on a Mac. I'm currently running MacOS 10.7.5 and R 3.1.0 Patched (2014-04-21 r65431) -- "Spring Dance". There is a source package for MonetDB at:
>>
>> https://www.monetdb.org/downloads/MacOSX/Jan2014-SP1/MonetDB-11.17.13-x86_64-Darwin-9-bin.tar.bz2
>>
>> It's home page has direction for installation on Linux and PC but makes no mention of Macs. Downloading that file resulted in a couple of automatic steps and the creation in my ~/Download/ directory of a hierarchy of usr2/local/monetdb
>>
>> Reading the MacOS R-FAQ in "For R.app you may need to add e.g. /usr/local/bin and it is usually most convenient to use command-line R." Reasoning that the files in monetdb should actually go into usr/local/ I dragged them to that location with Finder.app, and authenticated when requested.
>>
>> (This process failed and I am now looking for instruction on properly installing on a Mac. Is this page going to lead me on the path of righteousness?
>>
>> https://developer.apple.com/library/mac/documentation/porting/conceptual/portingunix/compiling/compiling.html
>>
>> My reading of Mac-SIG leads me to believe that using MacPorts will not be a stable strategy for interaction with R.
>>
>> --
>> David.
>>
>> ========= failed efforts recorded below ==================
>>
>> I installed MonetDB.R from R.app using the Package installation dialog with "install dependencies" checked.
>>
>> library(MonetDB.R) # succeeded without complaint and reported:
>>
>> Loading required package: DBI
>> Loading required package: digest
>>
>> help(package="MonetDB.r") # Trying the Example code in monetdb.server.setup
>>
>>> startscript <- monetdb.server.setup("/tmp/database","/usr/local/monetdb/", "db1", 50001)
>>> pid <- monetdb.server.start(startscript)
>> /private/tmp/database/db1.sh: line 2: /usr/local/monetdb/mserver5: No such file or directory
>> Read 1 item
>>> monetdb.server.stop(pid)
>> /bin/sh: line 0: kill: (22661) - No such process
>>> conn <- dbConnect(MonetDB.R(), "monetdb://localhost:50001/db1")
>> Error in .local(drv, ...) : Could not connect to localhost:50001
>>
>>
>> Then tried the code on the help page for 'MonetDB.R-package'
>>
>>> conn <- dbConnect(MonetDB.R(), "monetdb://localhost/demo")
>> Error in .local(drv, ...) : Could not connect to localhost:50000
>>> dbListTables(conn)
>> Error in is(object, Cl) :
>> error in evaluating the argument 'conn' in selecting a method for function 'dbListTables': Error: object 'conn' not found
>>> data(iris)
>>> dbWriteTable(conn, "iris", iris)
>> Error in is(object, Cl) :
>> error in evaluating the argument 'conn' in selecting a method for function 'dbWriteTable': Error: object 'conn' not found
>>> dbGetQuery(conn, "SELECT COUNT(*) FROM iris;")
>> Error in dbGetQuery(conn, "SELECT COUNT(*) FROM iris;") :
>> error in evaluating the argument 'conn' in selecting a method for function 'dbGetQuery': Error: object 'conn' not found
>>> d <- dbReadTable(conn, "iris")
>> Error in is(object, Cl) :
>> error in evaluating the argument 'conn' in selecting a method for function 'dbReadTable': Error: object 'conn' not found
>>
>> So obviously there is something about this client server setup that I have not done properly or understood how to access. I've been through the R-FAQ many times and still do not understand the issues surrounding the use of homebrew and MacPorts. It's something to do with binary files in the right places and I fear this is another instance of such failure.
>>
>> (I'm also unable to scroll the Mac-FAQ to see the end of the file when the window is wider than about 60 characters.)
>> --
>> David Winsemius
>> Alameda, CA, USA
>>
>> _______________________________________________
>> R-SIG-Mac mailing list
>> R-SIG-Mac at r-project.org
>> https://stat.ethz.ch/mailman/listinfo/r-sig-mac
>
>
>
> --
> Thomas Lumley
> Professor of Biostatistics
> University of Auckland
David Winsemius
Alameda, CA, USA
More information about the R-SIG-Mac
mailing list