Thursday, April 26, 2012

Rhomobile: rake aborted starting redis server


You might be getting following error while starting redis([bundle exec rake redis:start]) after bundle and rake dtach:install as per this documentation: http://docs.rhomobile.com/rhoconnect/tutorial

dtach -A /tmp/redis.dtach redis-server ./redis.conf
dtach: could not execute redis-server: No such file or directory

I needed to do [bundle exec] rake redis:install as well to make it working as I was missing redis.conf, redis-server etc.

You should see following when executing [bundle exec] rake redis:install

bash-3.2$ bundle exec rake redis:install

See http://redis.io/ for information about redis.

git clone git://github.com/antirez/redis.git /tmp/redis -n
Cloning into /tmp/redis...
remote: Counting objects: 16528, done.
remote: Compressing objects: 100% (5777/5777), done.
remote: Total 16528 (delta 12018), reused 14993 (delta 10590)
Receiving objects: 100% (16528/16528), 3.89 MiB | 246 KiB/s, done.
Resolving deltas: 100% (12018/12018), done.
cd /tmp/redis/ && git reset --hard && git checkout 2.4.1
HEAD is now at a3eb7ac Re-introduce -g -rdynamic -ggdb when linking, fixing strack traces.
Note: checking out '2.4.1'.

You are in 'detached HEAD' state. You can look around, make experimental
changes and commit them, and you can discard any commits you make in this
state without impacting any branches by performing another checkout.

If you want to create a new branch to retain commits you create, you may
do so (now or later) by using -b with the checkout command again. Example:

  git checkout -b new_branch_name

HEAD is now at ab648d9... 2.4.1 release notes.
cd /tmp/redis/ && make clean
cd src && make clean
rm -rf redis-server redis-benchmark redis-cli redis-check-dump redis-check-aof *.o *.gcda *.gcno *.gcov
cd deps/hiredis && make clean
rm -rf libhiredis.dylib libhiredis.a hiredis-example hiredis-test hiredis-example* *.o *.gcda *.gcno *.gcov
cd deps/linenoise && make clean
rm -f linenoise_example *.o
(cd deps/jemalloc && make distclean)
make[1]: *** No rule to make target `distclean'.  Stop.
make: [clean] Error 2 (ignored)
cd /tmp/redis/ && make
cd src && make all
MAKE hiredis
cc -c -std=c99 -pedantic -O3 -fPIC -Wall -W -Wstrict-prototypes -Wwrite-strings   -arch i386 -arch x86_64 -g -ggdb  net.c
cc -c -std=c99 -pedantic -O3 -fPIC -Wall -W -Wstrict-prototypes -Wwrite-strings   -arch i386 -arch x86_64 -g -ggdb  hiredis.c
cc -c -std=c99 -pedantic -O3 -fPIC -Wall -W -Wstrict-prototypes -Wwrite-strings   -arch i386 -arch x86_64 -g -ggdb  sds.c
cc -c -std=c99 -pedantic -O3 -fPIC -Wall -W -Wstrict-prototypes -Wwrite-strings   -arch i386 -arch x86_64 -g -ggdb  async.c
libtool -static -o libhiredis.a - net.o hiredis.o sds.o async.o
MAKE linenoise
cc  -c -Wall -W -Os -g linenoise.c
cc  -c -Wall -W -Os -g example.c
cc  -Wall -W -Os -g -o linenoise_example linenoise.o example.o

...
...
cp /tmp/redis/src/redis-benchmark /usr/local/bin
cp /tmp/redis/src/redis-cli /usr/local/bin
cp /tmp/redis/src/redis-server /usr/local/bin
Installed redis-benchmark, redis-cli and redis-server to /usr/local/bin
mkdir /usr/local/etc
cp /tmp/redis/redis.conf /usr/local/etc/redis.conf
Installed redis.conf to /usr/local/etc
 You should look at this file!