I finally got it to work, the document is so misleading,
had to dig into the code to find out what is going on.

When starting erl, you have to add 

deps/protobuffs/ebin/

to the path too.

One whole day of frustration....

Xiaopong

On Sat, 2010-12-11 at 15:26 +0800, Xiaopong Tran wrote:
> After upgrading R14B, I can now compile the client package, 
> but I still get the same error when trying to write the object.
> 
> Could someone tell what's going on here?
> 
> Thanks
> 
> Xiaopong
> 
> On Fri, 2010-12-10 at 16:37 +0800, Xiaopong Tran wrote:
> > I have been working on MongoDB, and wanted to try out Riak as our
> > system is also in Erlang. But the first installation got me stuck
> > with an unusable client. 
> > 
> > The server is started and seems to run. So I grabbed the 
> > riakc-1.0.1 package, and it didn't even compile:
> > 
> > x...@shanghai:~/project-workspace/erlang/basho-riak-erlang-client-a1545e5$
> > make
> > ./rebar get-deps
> > ==> basho-riak-erlang-client-a1545e5 (get-deps)
> > Pulling protobuffs from {hg,"http://bitbucket.org/basho/protobuffs";,
> >                             "protobuffs-0.5.0"}
> > requesting all changes
> > adding changesets
> > adding manifests
> > adding file changes
> > added 91 changesets with 243 changes to 93 files (+2 heads)
> > 29 files updated, 0 files merged, 0 files removed, 0 files unresolved
> > ==> protobuffs (get-deps)
> > ./rebar compile
> > ==> protobuffs (compile)
> > Compiled src/pokemon_pb.erl
> > Compiled src/protobuffs.erl
> > Compiled src/protobuffs_parser.erl
> > Compiled src/protobuffs_compile.erl
> > ==> basho-riak-erlang-client-a1545e5 (compile)
> > Compiling src/riakclient.proto
> > src/riakc_pb_socket.erl:73: type ctx() undefined
> > src/riakc_pb_socket.erl:73: type rpb_req() undefined
> > src/riakc_pb_socket.erl:78: type option() undefined
> > src/riakc_pb_socket.erl:79: Warning: type option() is unused
> > src/riakc_pb_socket.erl:87: Warning: type rpb_req() is unused
> > src/riakc_pb_socket.erl:88: Warning: type ctx() is unused
> > make: *** [compile] Error 1
> > 
> > 
> > 
> > So I grabbed the repository with the command
> > 
> > hg clone http://bitbucket.org/basho/riak-erlang-client
> > 
> > and compiled it. Everything seemed to be ok, until I started
> > running a connection, and here's I got:
> > 
> > 
> > 
> > x...@shanghai:~/project-workspace/erlang/riak-erlang-client/ebin$ erl -pa
> > `pwd`
> > Erlang R13B03 (erts-5.7.4) [source] [64-bit] [smp:2:2] [rq:2]
> > [async-threads:0] [hipe] [kernel-poll:false]
> > 
> > Eshell V5.7.4  (abort with ^G)
> > 1> code:which(riakc_pb_socket).
> > "/home/xp/project-workspace/erlang/riak-erlang-client/ebin/riakc_pb_socket.beam"
> > 2> {ok, Pid} = riakc_pb_socket:start_link("127.0.0.1", 8087).
> > {ok,<0.38.0>}
> > 3> riakc_pb_socket:ping(Pid).
> > pong
> > 4> Object = riakc_obj:new(<<"groceries">>, <<"mine">>, <<"egg &
> > bacon">>).
> > {riakc_obj,<<"groceries">>,<<"mine">>,undefined,[],
> >            undefined,<<"egg & bacon">>}
> > 5> riakc_pb_socket:put(Pid, Object).
> > 
> > =ERROR REPORT==== 10-Dec-2010::15:45:55 ===
> > ** Generic server <0.38.0> terminating 
> > ** Last message in was {req,
> > 
> > {rpbputreq,<<"groceries">>,<<"mine">>,undefined,
> >                                {rpbcontent,<<"egg & bacon">>,undefined,
> > 
> > undefined,undefined,undefined,undefined,
> >                                    undefined,undefined,undefined},
> >                                undefined,undefined,undefined},
> >                            60000}
> > ** When Server state ==
> > {state,"127.0.0.1",8087,false,false,#Port<0.627>,
> >                                undefined,
> >                                {[],[]},
> >                                1,[],infinity,100}
> > ** Reason for termination == 
> > ** {'module could not be loaded',
> >        [{protobuffs,encode,[1,<<"groceries">>,bytes]},
> >         {riakclient_pb,iolist,2},
> >         {riakc_pb,encode,1},
> >         {riakc_pb_socket,send_request,2},
> >         {riakc_pb_socket,handle_call,3},
> >         {gen_server,handle_msg,5},
> >         {proc_lib,init_p_do_apply,3}]}
> > ** exception exit: undef
> >      in function  protobuffs:encode/3
> >         called as protobuffs:encode(1,<<"groceries">>,bytes)
> >      in call from riakclient_pb:iolist/2
> >      in call from riakc_pb:encode/1
> >      in call from riakc_pb_socket:send_request/2
> >      in call from riakc_pb_socket:handle_call/3
> >      in call from gen_server:handle_msg/5
> >      in call from proc_lib:init_p_do_apply/3
> > 6> {ok, O} = riakc_pb_socket:get(Pid, <<"groceries">>, <<"mine">>).
> > ** exception exit: {noproc,
> >                        {gen_server,call,
> >                            [<0.38.0>,
> > 
> > {req,{rpbgetreq,<<"groceries">>,<<"mine">>,undefined},60000},
> >                             infinity]}}
> >      in function  gen_server:call/3
> > 7> Object.
> > {riakc_obj,<<"groceries">>,<<"mine">>,undefined,[],
> >            undefined,<<"egg & bacon">>}
> > 8> riakc_obj:get_value(Object).
> > ** exception throw: no_value
> >      in function  riakc_obj:get_value/1
> > 9> riakc_obj:get_content_type(Object).
> > ** exception throw: no_metadata
> >      in function  riakc_obj:get_metadata/1
> >      in call from riakc_obj:get_content_type/1
> > 10> 
> > 
> > 
> > 
> > So, connection to the server seemed to be fine, but then nothing
> > else worked.
> > 
> > What gives? I'm running Ubuntu 10.10.
> > 
> > Xiaopong
> > 
> > 
> 
> 



_______________________________________________
riak-users mailing list
riak-users@lists.basho.com
http://lists.basho.com/mailman/listinfo/riak-users_lists.basho.com

Reply via email to