General Category => Questions => Topic started by: fessor on February 25, 2009, 07:24:14 AM

Title: Strange ruby error (not starting)
Post by: fessor on February 25, 2009, 07:24:14 AM
Hi all!

im trying to get s3sync running on my NAS (synologyds107) and so far i've not been to succesfull.. it keeps returning

asgaard> ./s3cmd.rb
/volume1/system/s3sync/HTTPStreaming.rb:53:in `<module:S3sync>': uninitialized constant S3sync::SimpleDelegator (NameError)
        from /volume1/system/s3sync/HTTPStreaming.rb:52:in `<top (required)>'
        from /volume1/system/s3sync/s3try.rb:28:in `require'
        from /volume1/system/s3sync/s3try.rb:28:in `<module:S3sync>'
        from /volume1/system/s3sync/s3try.rb:10:in `<top (required)>'
        from ./s3cmd.rb:16:in `require'
        from ./s3cmd.rb:16:in `<module:S3sync>'
        from ./s3cmd.rb:11:in `<main>'

when i try to start the s3cmd... ruby is installed (ruby 1.9.1p0 (2009-01-30 revision 21907) [powerpc-linux])

anyone got any idea of what's happening ?

Kind regards Kenneth

Title: required module not found
Post by: maelcum on February 26, 2009, 03:15:50 PM
I'd like to second this.

It seems (but I am not sure of that) that upgrading to ruby has caused this error.

Error Message is:
/.../s3sync.rb:23:in `require': no such file to load -- md5 (LoadError)
   from /.../s3sync.rb:23:in `<module:S3sync>'
   from /.../s3sync.rb:11:in `<main>'

Can anybody give a hint as where to look?

I've tried to find the md5 executable, but there is none installed. Does it had to be there? Or is that some ruby-internal command?

Title: Re: Strange ruby error (not starting)
Post by: ferrix on March 05, 2009, 08:16:20 PM
I am so tired of ruby.  The language had such potential but the runtime is such a pile of crap.

I think I'm going to rewrite s3sync to use a java back end.  At least it'll *work* then.. Seriously, most of the sync complaints can be traced back to shoddy runtime issues.

Title: Re: Strange ruby error (not starting)
Post by: dandante on April 29, 2010, 05:03:18 PM
I am getting the same error ("uninitialized constant S3Sync::SimpleDelegator") with
ruby 1.9.1p376 (2009-12-07 revision 26041) [x86_64-linux]
and as far as I can tell that is the latest version of ruby, and I have the latest version of s3cmd.rb, downloaded today.

Can it really be that this issue has not been addressed since the original post over a year ago? Is nobody using s3cmd.rb with the latest version of ruby?

I hope someone can help with this!


Title: Re: Strange ruby error (not starting)
Post by: dandante on April 29, 2010, 06:55:03 PM
OK, I got past the uninitialized constant issue.
I had to modify HTTPStreaming.rb and add:
require 'delegate'
before the reference to SimpleDelegator.
Perhaps the distributed source could be patched so that others don't run into this?

However, that did not solve my problems. I still get 403 permission denied errors whenever I try and use s3cmd.rb.
The problem is not with my access key and secret key--those are there and correct.
The problem is also not with the time on this machine....I wrote a little test script using the right_aws gem and it works fine using the same access key and secret key. The problem appears to be with s3cmd.rb.

Here is some sample output:
% s3cmd.rb list datadir
S3 command failed:
list_bucket [{"prefix"=>"", "max-keys"=>100}, {}]
With result 403 Forbidden
/local/s3sync/s3cmd.rb:142:in `s3cmdMain': undefined method `is_truncated' for nil:NilClass (NoMethodError)
        from /local/s3sync/s3cmd.rb:245:in `<main>'

I'm not clear if the error listed is the cause or the effect of the 403 error.

Other commands (put, listbuckets) give me a 403 error without any runtime errors. For example:

% s3cmd.rb listbuckets
S3 command failed:
list_all_my_buckets []
With result 403 Forbidden

Could there be some other issue with s3cmd.rb not working with the latest version of ruby?

I tried using the older version (pre-EU bucket support) and had the same issue.

Can anyone help?