Matthew Muirhead | 17 Oct 2005 14:43
Picon

Centos / RHEL4 issues.

I’m having this issue while trying to compile cdb under Centos or RHEL

 

./load cdbget cdb.a buffer.a unix.a byte.a

cdb.a(cdb.o)(.text+0xda): In function `cdb_read':

: undefined reference to `errno'

cdb.a(cdb.o)(.text+0x12c): In function `cdb_read':

: undefined reference to `errno'

buffer.a(strerr_sys.o)(.text+0x8): In function `strerr_sysinit':

: undefined reference to `errno'

buffer.a(buffer_put.o)(.text+0x43): In function `allwrite':

: undefined reference to `errno'

collect2: ld returned 1 exit status

make: *** [cdbget] Error 1

 

 

I know nothing about coding so any help would be appreciated.

 

Matthew Muirhead

 

--

 

This message (including attachments) may contain information that is
Privileged, confidential or protected from disclosure.  If you are not
the Intended recipient, you are hereby notified that dissemination,
disclosure, Copying, distribution or use of this message or any
information contained in it is strictly prohibited.  If you have
received this message in error, Please immediately notify the sender by
reply e-mail and delete this message from your computer.  Although we
have taken steps to ensure that This e-mail and attachments are free
from any virus, we advise that in keeping with good computing practice
the recipient should ensure they are actually virus free.

 

Bennett Todd | 17 Oct 2005 15:57
Picon

Re: Centos / RHEL4 issues.

2005-10-17T08:43:48-0400 Matthew Muirhead:
> I'm having this issue while trying to compile cdb under Centos or RHEL

DJB's software isn't compatible with glibc; he doesn't #include <errno.h>.
The easiest way to make it work is to

  echo gcc --include /usr/include/errno.h > conf-cc

This gets discussed periodically; complaints about this state of affairs
haven't bourne any fruit to date, I wouldn't expect them to now.

If you don't like this, then at least for cdb there's a complete fix: use
tinycdb, from <URL:ftp://ftp.corpit.ru/pub/tinycdb/≥; it's maintained, and
it's open source (public domain, in fact); so even if mjt stops maintaining
it, someone else can carry on.

-Bennett

Matthew Berk | 19 Oct 2005 04:29

CDB | size limitations | concurrency

For the past year or so, Open List has been VERY happily making great use of CDB as our default persistence method. On the back end, we store serialized data structures from Perl through CDB_File, using Storable. We're fast scaling in terms of the data we process (from millions, to tens of millions of records, in hundreds of collections). Can anyone help answer the following?

1. Are there any limitations on CDB file size beyond those of the file system?

2. Are there any limitations on CDB data size (for value, not key)?

3. Can we read from a CDB file while it's being created, by simply tie-ing to the temporary file?

Thanks in advance,

Matthew

Matthew Berk
CTO
Open List, Inc.
http://www.openlist.com/

Paul Jarc | 19 Oct 2005 16:19
Picon

Re: CDB | size limitations | concurrency

Matthew Berk <matthew <at> openlist.com> wrote:
>   1. Are there any limitations on CDB file size beyond those of the file system?
>
>     2. Are there any limitations on CDB data size (for value, not key)?

<URL:http://cr.yp.to/cdb.html>:
#    * No random limits: cdb can handle any database up to 4
#      gigabytes.  There are no other restrictions; records don't even
#      have to fit into memory. Databases are stored in a
#      machine-independent format.

>     3. Can we read from a CDB file while it's being created, by simply tie-ing to the temporary file?

No.  The hash table isn't written until after all the keys and
values.  But you can read from the old version of the cdb while a new
version is being written.

paul

Charles Cazabon | 19 Oct 2005 16:17
Picon

Re: CDB | size limitations | concurrency

Matthew Berk <matthew <at> openlist.com> wrote:
>   1. Are there any limitations on CDB file size beyond those of the file
>   system?

From cr.yp.to/cdb.html:

  No random limits: cdb can handle any database up to 4 gigabytes.
  [...]

>     2. Are there any limitations on CDB data size (for value, not key)?

  [...]
  There are no other restrictions; records don't even have to fit into memory.

>     3. Can we read from a CDB file while it's being created, by simply
>     tie-ing to the temporary file?

No.  You read from the existing file until the new one is finished writing,
and then the existing file is atomically replaced by the new one.

Charles
--

-- 
-----------------------------------------------------------------------
Charles Cazabon                              <cdb <at> discworld.dyndns.org>
GPL'ed software available at:               http://pyropus.ca/software/
-----------------------------------------------------------------------


Gmane