Velocity Reviews - Computer Hardware Reviews

Velocity Reviews > Newsgroups > Programming > Ruby > (forw) [emiel@il.fontys.nl: ruby-quota resurrection?]

Reply
Thread Tools

(forw) [emiel@il.fontys.nl: ruby-quota resurrection?]

 
 
Emiel van de Laar
Guest
Posts: n/a
 
      06-28-2004
--jI8keyz6grp/JLjh
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable

This mail was intended for the original author of ruby-quota; Takaaki
Tateishi <>. However my mail bounced at this address
and so I'll try ruby-talk.

----- Forwarded message from Emiel van de Laar <> -----

Date: Mon, 28 Jun 2004 20:42:46 +0200
From: Emiel van de Laar <>
To:
User-Agent: Mutt/1.3.28i
Subject: ruby-quota resurrection?

Hi,

I've been writing scripts to manage our quotas on Linux. Instead of
parsing 'repquota' I went looking for something beter. ruby-quota! Yeah!
However it appears to not have been update in a while. I can't even get
it compiled on my Linux 2.4 or 2.6 systems w/ Ruby 1.8.

I've never written a Ruby extension, but have done some investigation.
It appears that quota.h isn't being included on either 2.4 or 2.6 such
that "struct dqblk" is undefined. linux/quota.h appears to have changed
a lot. Could you maybe look into this and get ruby-quota running again
with ruby 1.8.x? If you don't have the time right now, perhaps a couple
of hints.

BTW: The version number in quota.c doesn't match the packaged version
number.

My setup.
Debian(unstable) / Linux 2.6.7
Ruby ruby 1.8.2 (2004-06-19) [i386-linux]

Thanks in advance.

Cheers,

Emiel
--=20
Emiel van de Laar
PGP pubkey: %finger

----- End forwarded message -----

--=20
Emiel van de Laar
PGP pubkey: %finger

--jI8keyz6grp/JLjh
Content-Type: text/plain; charset=us-ascii
Content-Disposition: attachment; filename="make.out"

gcc -fPIC -Wall -g -O2 -fPIC -I. -I/usr/lib/ruby/1.8/i386-linux -I/usr/lib/ruby/1.8/i386-linux -I. -DHAVE_LINUX_QUOTA_H -DHAVE_LINUX_TYPES_H -DHAVE_SYS_QUOTA_H -DHAVE_SYS_TYPES_H -c quota.c
quota.c:62: parse error before "qid_t"
quota.c:62: warning: no semicolon at end of struct or union
quota.c:63: warning: type defaults to `int' in declaration of `q_uid_data'
quota.c:63: warning: data definition has no type or storage class
quota.c:66: parse error before "rb_quota_uid"
quota.c:67: warning: return type defaults to `int'
quota.c: In function `rb_quota_uid':
quota.c:68: parse error before ')' token
quota.c:69: warning: control reaches end of non-void function
quota.c: At top level:
quota.c:72: parse error before '*' token
quota.c: In function `rb_quota_uid_free':
quota.c:74: `data' undeclared (first use in this function)
quota.c:74: (Each undeclared identifier is reported only once
quota.c:74: for each function it appears in.)
quota.c: At top level:
quota.c:78: parse error before "qid_t"
quota.c: In function `rb_quota_uid_new':
quota.c:80: `data' undeclared (first use in this function)
quota.c:83: parse error before ')' token
quota.c:83: `__s' undeclared (first use in this function)
quota.c:80: warning: statement with no effect
quota.c:83: warning: control reaches end of non-void function
quota.c: At top level:
quota.c:83: parse error before ')' token
quota.c:83: `__s' undeclared here (not in a function)
quota.c:83: parse error before "switch"
quota.c:83: warning: type defaults to `int' in declaration of `__u'
quota.c:83: conflicting types for `__u'
quota.c:83: previous declaration of `__u'
quota.c:83: warning: initialization makes integer from pointer without a cast
quota.c:83: initializer element is not constant
quota.c:83: warning: data definition has no type or storage class
quota.c:83: parse error before "case"
quota.c:83: warning: type defaults to `int' in declaration of `__u'
quota.c:83: redefinition of `__u'
quota.c:83: `__u' previously defined here
quota.c:83: warning: initialization makes integer from pointer without a cast
quota.c:83: initializer element is not constant
quota.c:83: warning: data definition has no type or storage class
quota.c:83: parse error before "case"
quota.c:83: warning: type defaults to `int' in declaration of `__u'
quota.c:83: redefinition of `__u'
quota.c:83: `__u' previously defined here
quota.c:83: warning: initialization makes integer from pointer without a cast
quota.c:83: initializer element is not constant
quota.c:83: warning: data definition has no type or storage class
quota.c:83: parse error before "case"
quota.c:83: warning: type defaults to `int' in declaration of `__u'
quota.c:83: redefinition of `__u'
quota.c:83: `__u' previously defined here
quota.c:83: warning: initialization makes integer from pointer without a cast
quota.c:83: initializer element is not constant
quota.c:83: warning: data definition has no type or storage class
quota.c:83: parse error before '->' token
quota.c:83: warning: type defaults to `int' in declaration of `__u'
quota.c:83: redefinition of `__u'
quota.c:83: `__u' previously defined here
quota.c:83: warning: initialization makes integer from pointer without a cast
quota.c:83: initializer element is not constant
quota.c:83: warning: data definition has no type or storage class
quota.c:83: parse error before "case"
quota.c:83: warning: type defaults to `int' in declaration of `__u'
quota.c:83: redefinition of `__u'
quota.c:83: `__u' previously defined here
quota.c:83: warning: initialization makes integer from pointer without a cast
quota.c:83: initializer element is not constant
quota.c:83: warning: data definition has no type or storage class
quota.c:83: parse error before "case"
quota.c:83: warning: type defaults to `int' in declaration of `__u'
quota.c:83: redefinition of `__u'
quota.c:83: `__u' previously defined here
quota.c:83: warning: initialization makes integer from pointer without a cast
quota.c:83: initializer element is not constant
quota.c:83: warning: data definition has no type or storage class
quota.c:83: parse error before "case"
quota.c:83: warning: type defaults to `int' in declaration of `__u'
quota.c:83: redefinition of `__u'
quota.c:83: `__u' previously defined here
quota.c:83: warning: initialization makes integer from pointer without a cast
quota.c:83: initializer element is not constant
quota.c:83: warning: data definition has no type or storage class
quota.c:83: parse error before "case"
quota.c:83: warning: type defaults to `int' in declaration of `__u'
quota.c:83: redefinition of `__u'
quota.c:83: `__u' previously defined here
quota.c:83: warning: initialization makes integer from pointer without a cast
quota.c:83: initializer element is not constant
quota.c:83: warning: data definition has no type or storage class
quota.c:83: parse error before "case"
quota.c:83: warning: type defaults to `int' in declaration of `__u'
quota.c:83: redefinition of `__u'
quota.c:83: `__u' previously defined here
quota.c:83: warning: initialization makes integer from pointer without a cast
quota.c:83: initializer element is not constant
quota.c:83: warning: data definition has no type or storage class
quota.c:83: parse error before "case"
quota.c:83: warning: type defaults to `int' in declaration of `__u'
quota.c:83: redefinition of `__u'
quota.c:83: `__u' previously defined here
quota.c:83: warning: initialization makes integer from pointer without a cast
quota.c:83: initializer element is not constant
quota.c:83: warning: data definition has no type or storage class
quota.c:83: parse error before "case"
quota.c:83: warning: type defaults to `int' in declaration of `__u'
quota.c:83: redefinition of `__u'
quota.c:83: `__u' previously defined here
quota.c:83: warning: initialization makes integer from pointer without a cast
quota.c:83: initializer element is not constant
quota.c:83: warning: data definition has no type or storage class
quota.c:83: parse error before "case"
quota.c:83: warning: type defaults to `int' in declaration of `__u'
quota.c:83: redefinition of `__u'
quota.c:83: `__u' previously defined here
quota.c:83: warning: initialization makes integer from pointer without a cast
quota.c:83: initializer element is not constant
quota.c:83: warning: data definition has no type or storage class
quota.c:83: parse error before "case"
quota.c:83: warning: type defaults to `int' in declaration of `__s'
quota.c:83: `__s' used prior to declaration
quota.c:83: warning: data definition has no type or storage class
quota.c:83: parse error before '}' token
quota.c:83: parse error before '\x0'
quota.c:83: warning: type defaults to `int' in declaration of `__s'
quota.c:83: warning: data definition has no type or storage class
quota.c:83: parse error before '}' token
quota.c: In function `rb_quota_uid_to_i':
quota.c:111: parse error before ')' token
quota.c: At top level:
quota.c:115: parse error before "qid_t"
quota.c: In function `get_uid':
quota.c:117: `vuid' undeclared (first use in this function)
quota.c:118: `uid' undeclared (first use in this function)
quota.c:119: `is_gid' undeclared (first use in this function)
quota.c: In function `rb_quotactl':
quota.c:144: `qid_t' undeclared (first use in this function)
quota.c:144: parse error before "uid"
quota.c:146: `uid' undeclared (first use in this function)
quota.c:149: parse error before "uid"
quota.c:152: parse error before "uid"
quota.c:154: warning: control reaches end of non-void function
quota.c: At top level:
quota.c:229: warning: `struct disk_dqblk' declared inside parameter list
quota.c:229: warning: its scope is only this definition or declaration, which is probably not what you want.
quota.c: In function `rb_diskquota_get':
quota.c:236: dereferencing pointer to incomplete type
quota.c:237: dereferencing pointer to incomplete type
quota.c:241: dereferencing pointer to incomplete type
quota.c:242: dereferencing pointer to incomplete type
quota.c:243: dereferencing pointer to incomplete type
quota.c:244: dereferencing pointer to incomplete type
quota.c:245: dereferencing pointer to incomplete type
quota.c: At top level:
quota.c:269: warning: `struct disk_dqblk' declared inside parameter list
quota.c: In function `rb_diskquota_new':
quota.c:275: dereferencing pointer to incomplete type
quota.c:276: dereferencing pointer to incomplete type
quota.c:278: dereferencing pointer to incomplete type
quota.c:282: dereferencing pointer to incomplete type
quota.c:283: dereferencing pointer to incomplete type
quota.c:284: dereferencing pointer to incomplete type
quota.c:285: dereferencing pointer to incomplete type
quota.c:286: dereferencing pointer to incomplete type
quota.c: In function `rb_quota_getquota':
quota.c:318: storage size of `c_dqb' isn't known
quota.c:318: warning: unused variable `c_dqb'
quota.c: In function `rb_quota_setquota':
quota.c:359: storage size of `c_dqb' isn't known
quota.c:359: warning: unused variable `c_dqb'
quota.c: In function `rb_quota_setqlim':
quota.c:375: storage size of `c_dqb' isn't known
quota.c:375: warning: unused variable `c_dqb'
quota.c: At top level:
quota.c:73: warning: `rb_quota_uid_free' defined but not used
make: *** [quota.o] Error 1

--jI8keyz6grp/JLjh--


 
Reply With Quote
 
 
 
Reply

Thread Tools

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are Off




Advertisments
 



1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57